Utiliser Let's Encrypt avec Nginx

Installation et configuration de base

Il faut dans un premier temps stopper le logiciel (Nginx ou Apache2) qui utilise le port 80 :

service nginx stop
service apache2 stop

On installe Git pour télécharger ensuite le logiciel let's Encrypt :

apt-get install git -y
cd /etc
git clone https://github.com/certbot/certbot

On se déplace dans le dossier pour lancer le programme qui va permetre de créer les certifats :

cd certbot
./certbot-auto certonly --standalone --rsa-key-size 4096 --agree-tos --email contact@exemple.com -d example.com -d www.example.com

On remplace ici “example.com” par les domaines ou sous-domaines que l'on souhaite sécuriser.

Il reste plus qu'a renseigner le virtualhost de Nginx (à adapter à votre besoin):

exemple.com
server {
 
       listen 80;
       listen 443 ssl;
       server_name exemple.com;
 
       ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
       ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
 
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
 
       root /var/www/html;
       index index.html;
}

Renouveller le certificat

Je ne pense pas que ce soit la commande officielle mais elle fonctionne :

/etc/certbot/letsencrypt-auto certonly --webroot --agree-tos --email contact@exemple.com --renew-by-default -d example.com -d www.example.com

Créer un certificat comme un pro

Ici, ce sera l'utilisateur www-data qui fera la création :

# chmod o+w /var/log/letsencrypt/letsencrypt.log
# sudo -u www-data certbot --cert-name mail.bruno-tatu.com certonly --webroot-path=/mnt/www/rainloop/ -d mail.bruno-tatu.com --rsa-key-size=4096 --hsts --uir --redirect --work-dir=/etc/letsencrypt/ --dry-run

S'il n'y a pas de soucis alors on peut confirmer l'installation :

# sudo -u www-data certbot --cert-name mail.bruno-tatu.com certonly --webroot-path=/mnt/www/rainloop/ -d mail.bruno-tatu.com --rsa-key-size=4096 --hsts --uir --redirect --work-dir=/etc/letsencrypt/
Cette documentation sera bientôt fusionné avec cette page