You must have JavaScript enabled to use the comments.
12-12-2020

Certificats letsencrypt sans peine

Qu'est-ce qu'un certiticat SSL

Un certificat SSL atteste que le nom de domaine répond sur la bonne machine IP. L'autorité de certification appelle de l'extérieur le nom de domaine et délivre un certificat pour l'IP de la machine. La présence d'un tel certificat permet le protocole https et affiche un petit cadenas devant l'url dans les navigateurs.

Qu'est-ce que letsencrypt ?

Letsencrypt: ce sont de vrai certificats (pas de l'auto-signé). Gratuit. Il faut les renouveler tous les 90 jours (une ligne à écrire). Un rappel est envoyé pour le renouvelement par mail

Installation de letsencrypt avec les scripts d'automatisation

il faut installer 1 letsenscript avec git dans un répertoire /opt (ou ailleurs, adaptez à votre situation)

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt --depth=1

Création du certificat

sudo /opt/letsencrypt/letsencrypt-auto certonly --non-interactive  --apache -m <ton adresse mail> --agree-tos --renew-by-default -d <ton nom de domaine>

Le script s'occupe du challenge tout seul et vous dit ce qu'il a fait.

Les certificats sont installés dans le répertoire /etc/letsencrypt/live/mondomaine.fr pour le domaine mondomaine.fr

Pour utiliser le certificat

Il faut activer le module ssl pour apache2

sudo a2enmod ssl

et configurer le nom de domaine pour le port 443 (https)

Créer un fichier /etc/apache2/sites-available/mondomaine-ssl.conf

<IfModule mod_ssl.c>
    <VirtualHost *:443>
	ServerName mondomaine.fr
	DocumentRoot /var/www/html/mondomaine (enfin l'endroit où se trouvent les fichiers à servir)
	# SSL configuration
	SSLEngine on
	SSLProxyEngine On
	# If you hold wildcard certificates for your domain the next
	two lines are not necessary. SSLCertificateFile "/etc/letsencrypt/live/mondomaine.fr/cert.pem"
	SSLCertificateKeyFile   "/etc/letsencrypt/live/mondomaine.fr/privkey.pem"
	SSLCertificateChainFile "/etc/letsencrypt/live/mondomaine.fr/chain.pem"
	<Directory "/var/www/html/mondomaine/">
	  Options Indexes FollowSymLinks
	  AllowOverride All
	</Directory>
   </VirtualHost>
</IfModule>

Activer cette configuration

sudo a2ensite mondomaine-ssl

il reste à faire une redirection pour les requêtes qui arriveraient en http

Créer un fichier /etc/apache2/sites-available/mondomaine-80.conf

<VirtualHost *:80> ServerName mondomaine.fr Redirect permanent / https://mondomaine.fr/ </VirtualHost>

Activer la redirection

Penser à désactiver l'ancienne configuration

sudo a2dissite <ancien fichier de conf>

Activer la redirection

sudo a2ensite mondomaine-80

Relancer apache2

sudo service apache2 restart

Pour renouveler un certificat

sudo /opt/letsencrypt/letsencrypt-auto certonly --non-interactive  --apache -d <ton nom de domaine>

Notes de bas de page:

1

Je me suis servi de cette documentation: https://www.isicca.com/fr/lets-encrypt-guide-ultime/

Tags: informatique