Dans ce tutoriel, nous allons vous montrer comment installer et configurer LetsEncrypt SSL avec Nginx sur votre serveur CentOS 6. Pour ceux d'entre vous qui ne le savaient pas, LetsEncrypt est un certificat ouvert gratuit (CA) qui fournit des certificats gratuits pour les sites Web et d'autres services. Le service est soutenu par l'Electronic Frontier Foundation, Mozilla, Cisco Systems et Akamai. Malheureusement, les certificats LetsEncrypt.org ont actuellement une durée de vie de 3 mois. Cela signifie que vous devez renouveler votre certificat tous les trimestres pour l'instant.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple. Je vais vous montrer étape par étape l'installation de LetsEncrypt SSL dans CentOS 6.
Prérequis
- Un serveur exécutant l'un des systèmes d'exploitation suivants :CentOS 6.
- Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
- Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur).
- Un
non-root sudo user
ou l'accès à l'root user
. Nous vous recommandons d'agir en tant qu'non-root sudo user
, cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.
Installer LetsEncrypt SSL avec Nginx sur CentOS 6
Étape 1. Tout d'abord, vous devez activer le référentiel EPEL sur votre système et commencer par vous assurer que votre système est à jour.
yum install epel-release yum -y update yum -y install git python-tools python-pip
Étape 2. Installez le serveur LEMP.
Un serveur CentOS 6 LEMP est requis. Si vous n'avez pas installé LEMP, vous pouvez suivre notre guide ici.
Étape 3. Installation de LetsEncrypt SSL.
Clonez le projet git LetsEncrypt sur votre serveur :
git clone https://github.com/letsencrypt/letsencrypt
Puis allez dans le dossier du projet :
cd letsencrypt
Exécutez les commandes ci-dessous pour générer un certificat SSL pour votre site Web ou vos blogs :
./letsencrypt-auto certonly -a standalone -d yourdomain.com -d www.yourdomain.com
En supposant que vous avez tout fait correctement, vous devriez voir ceci :
LetsEncrypt place ses clés dans ce répertoire /etc/letsencrypt
Étape 3. Génération de votre clé SSL et CSR.
Tout d'abord, créez un répertoire SSL pour héberger vos certificats SSL.
mkdir /etc/nginx/ssl cd /etc/nginx/ssl
Suivez ensuite les étapes ci-dessous pour générer une clé de serveur, une demande de signature de certificat et un certificat auto-signé. Si vous souhaitez installer un certificat de confiance provenant d'une autorité de certification de confiance , vous devrez alors envoyer une copie du CSR à une autorité de certification pour générer un certificat de confiance.
Créez la clé privée du serveur, exécutez les commandes ci-dessous :
openssl genrsa -des3 -out server.key 2048
Exécutez ensuite les commandes ci-dessous pour générer une clé de demande de signature de certificat en utilisant la clé privée du serveur pour créer un certificat SSL :
openssl req -new -key server.key -out server.csr
Lorsque vous exécutez les commandes ci-dessus, vous serez invité à répondre à quelques questions. Suivez le guide simple ci-dessous :
- Nom commun : le nom de domaine complet ou l'URL que vous sécurisez.
Si vous demandez un certificat Wildcard, ajoutez un astérisque (*) à gauche de le nom commun où vous voulez le caractère générique, par exemple, *.idroot.us . - Organisation :le nom légal de votre entreprise. Si vous vous inscrivez en tant que particulier, saisissez le nom du demandeur du certificat.
- Unité organisationnelle : le cas échéant, saisissez le nom du DBA (doing business as). Si vous sécurisez un seul blog, saisissez ici le nom du propriétaire du blog.
- Ville ou localité : nom de la ville où votre organisation est enregistrée/située.
- État ou province : nom de l'État ou de la province où se trouve votre organisation.
- Pays : le code de pays à deux lettres au format ISO (Organisation internationale de normalisation) correspondant à l'endroit où votre organisation est légalement enregistrée.
Étape 4. Configurez le certificat pour Nginx.
Vous êtes prêt à installer le certificat sur le serveur Nginx. Voici un exemple de configuration pour le serveur Web Nginx :
listen 443 ssl spdy; listen [::]:443 ssl spdy; ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; # ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1.1 TLSv1.2; # ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK'; # ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=86400; resolver_timeout 10;
Enregistrez votre configuration et redémarrez le serveur Web Nginx :
nginx -t service nginx restart
Votre domaine devrait maintenant être accessible via HTTPS ! Découvrez-le sur https://votredomaine.com.
Félicitations ! Vous avez installé LetsEncrypt SSL avec succès. Merci d'avoir utilisé ce didacticiel pour installer LetsEncrypt SSL avec Nginx sur votre système CentOS 6. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site officiel LetsEncrypt Site Web SSL.