Creation d'un certificat avec Letsencrypt
Ce tutoriel explique comment installer le certificat SSL de Letsencrypt pour le serveur Web Apache sur Ubuntu 18.04.
Pour installer le certificat letsencrypt, vous devez avoir un accès shell au serveur avec des privilèges d'administrateur.
Le serveur Web Apache est probablement installé et en cours d’exécution.
Nous supposons également que vous avez déjà un hôte virtuel configuré pour la version HTTP (non sécurisée) de votre site Web avec des paramètres de base:
Les enregistrements DNS doivent être pré-existants pour prouver la propriété du nom de domaine. Votre site Web doit indiquer l'adresse IP de votre serveur Ubuntu 18.04.
Si vous ne pouvez pas diriger votre site Web vers le serveur avant d'installer le certificat, vous pouvez utiliser la méthode de validation DNS-01 pour prouver la propriété du nom de domaine.
La procédure d’installation du certificat Let’s Encrypt pour Apache sur Ubuntu 18.04 est la suivante:
Installez le client Certbot ACME.
Installez le certificat SSL / TLS.
Vérifiez le fichier VirtualHost.
Automatiser le processus de renouvellement.
Exécutez les commandes suivantes pour installer Certbot sur Ubuntu 18.04:
Avec Certbot en place, nous installerons un certificat pour notre nom de domaine (modifiez le nom de domaine comme il convient dans la commande):
Lorsque nous exécutons la commande certbot pour la première fois, nous devons fournir une adresse électronique valide pour la correspondance concernant nos certificats. Ensuite, vous devez accepter les conditions d'utilisation (appuyez sur la touche A du clavier et appuyez sur Entrée pour accepter les conditions d'utilisation):
Enfin, il vous sera demandé de choisir de rediriger ou non le trafic HTTP vers HTTPS.
Vous ne devez pas rediriger le trafic HTTP vers HTTPS à ce stade .
Donc, répondez avec 1 pour aucune redirection.
C'est tout ce que nous avons besoin de faire!
La commande certbot crée également un nouveau fichier de configuration d'hôte virtuel pour notre site Web SSL dans le répertoire /etc/apache2/sites-available (par exemple, example.com-le-ssl.conf):
Le fichier de configuration est activé par défaut, vous devriez donc pouvoir accéder à votre site Web à l'aide du protocole https.
Les certificats SSL Letsencrypt ne sont valides que pendant 90 jours. Ainsi, le certificat doit être renouvelé périodiquement. Vous pouvez exécuter la commande suivante pour renouveler tous les certificats sur votre serveur Ubuntu 18.04:
Le client certbot Ubuntu est livré avec un script cron (/etc/cron.d/certbot) qui renouvellera automatiquement vos certificats avant leur expiration:
Ce travail cron exécutera la commande certbot renew toutes les 12 heures et renouvellera les certificats dont l'expiration approche.
Notez que votre certificat SSL, votre clé privée, vos identifiants de compte et tout le reste sont enregistrés dans votre répertoire de configuration de Certbot à l’adresse /etc/letsencrypt. Assurez-vous de conserver des sauvegardes régulières de ce dossier.
Lister les certificats actifs
Prérequis et exigences
Pour installer le certificat letsencrypt, vous devez avoir un accès shell au serveur avec des privilèges d'administrateur.
Le serveur Web Apache est probablement installé et en cours d’exécution.
Nous supposons également que vous avez déjà un hôte virtuel configuré pour la version HTTP (non sécurisée) de votre site Web avec des paramètres de base:
Code TEXT :
<VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
DNS...
Les enregistrements DNS doivent être pré-existants pour prouver la propriété du nom de domaine. Votre site Web doit indiquer l'adresse IP de votre serveur Ubuntu 18.04.
Si vous ne pouvez pas diriger votre site Web vers le serveur avant d'installer le certificat, vous pouvez utiliser la méthode de validation DNS-01 pour prouver la propriété du nom de domaine.
Comment faire...
La procédure d’installation du certificat Let’s Encrypt pour Apache sur Ubuntu 18.04 est la suivante:
Installez le client Certbot ACME.
Installez le certificat SSL / TLS.
Vérifiez le fichier VirtualHost.
Automatiser le processus de renouvellement.
Exécutez les commandes suivantes pour installer Certbot sur Ubuntu 18.04:
Code TEXT :
sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-apache sudo apt-get install certbot
Avec Certbot en place, nous installerons un certificat pour notre nom de domaine (modifiez le nom de domaine comme il convient dans la commande):
Code TEXT :
certbot --apache -d example.com -d www.example.com
Lorsque nous exécutons la commande certbot pour la première fois, nous devons fournir une adresse électronique valide pour la correspondance concernant nos certificats. Ensuite, vous devez accepter les conditions d'utilisation (appuyez sur la touche A du clavier et appuyez sur Entrée pour accepter les conditions d'utilisation):
Code TEXT :
(A)gree/(C)ancel: A
Enfin, il vous sera demandé de choisir de rediriger ou non le trafic HTTP vers HTTPS.
Vous ne devez pas rediriger le trafic HTTP vers HTTPS à ce stade .
Donc, répondez avec 1 pour aucune redirection.
Code TEXT :
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
C'est tout ce que nous avons besoin de faire!
La commande certbot crée également un nouveau fichier de configuration d'hôte virtuel pour notre site Web SSL dans le répertoire /etc/apache2/sites-available (par exemple, example.com-le-ssl.conf):
Code TEXT :
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem </VirtualHost> </IfModule>
Le fichier de configuration est activé par défaut, vous devriez donc pouvoir accéder à votre site Web à l'aide du protocole https.
Automatiser le processus de renouvellement
Les certificats SSL Letsencrypt ne sont valides que pendant 90 jours. Ainsi, le certificat doit être renouvelé périodiquement. Vous pouvez exécuter la commande suivante pour renouveler tous les certificats sur votre serveur Ubuntu 18.04:
Code TEXT :
sudo certbot renew
Le client certbot Ubuntu est livré avec un script cron (/etc/cron.d/certbot) qui renouvellera automatiquement vos certificats avant leur expiration:
Code TEXT :
# /etc/cron.d/certbot: crontab entries for the certbot package # # Upstream recommends attempting renewal twice a day # # Eventually, this will be an opportunity to validate certificates # haven't been revoked, etc. Renewal will only occur if expiration # is within 30 days. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
Ce travail cron exécutera la commande certbot renew toutes les 12 heures et renouvellera les certificats dont l'expiration approche.
Notez que votre certificat SSL, votre clé privée, vos identifiants de compte et tout le reste sont enregistrés dans votre répertoire de configuration de Certbot à l’adresse /etc/letsencrypt. Assurez-vous de conserver des sauvegardes régulières de ce dossier.
Quelques commandes Certbot
Lister les certificats actifs
Code TERMINAL :
certbot certificats