Accès SSL
Etape 11 Accès en SSL des sites
Nous allons maintenant créer les accès en SSL de nos sites.
En 1er, nous activons le module SSL :
sudo a2enmod ssl
Puis nous rechargeons Apache :
sudo systemctl reload apache2
On vérifie l’activation :
apache2ctl -M | grep ssl
Maintenant nous installons CERBOT pour la gestion des certificats avec Let’s Encrypt.
Mise à jour des Packages d’installation, puis installation de CERBOT :
sudo apt update
sudo apt install certbot
Ensuite, nous créons les certificats avec Let’s Encrypt.
Pour cela, nous lançons la création des certificats :
sudo certbot certonly --webroot -w /var/www/mon-site-personnel1/public_html -d votrenomdedomaine1.hd.free.fr -d votrenomdedomaine1.hd.free.fr
Notez bien l’endroit ou les fichiers des certificats sont sauvés, ça peut servir.
Ensuite, il faut modifier L’hôte virtuel pour utiliser le port 443 pour l’utilisation de HTTPS, le port 80 étant pour http.
Pour cela, nous allons utiliser KRUSADER mais en mode SUPERUTILISATEUR pour modifier les fichiers adéquates.
Sans cela, les fichiers n’auraient pas les droits pour être modifié dans le mode normal de KRUSADER.
Puis choisir KRUSADER. A sa première ouverture, il vous sera demandé de le configurer.
Faites autant de fois qu’il le faut OK ou Suivant pour valider la configuration.
Puis à l’ouverture suivre les infos de l’écran suivant.
Dans KRUSADER, aller dans le dossier comme ci-dessous, puis cliquer sur le fichier mon-site-personnel1.conf puis touche F4 pour éditer le fichier.
Puis ajoutez ces lignes à la fin du fichier actuel :
<VirtualHost *:443> ServerName example.com ServerAlias votrenomdedomaine1.hd.free.fr ServerAdmin votrenomdedomaine1.hd.free.fr DocumentRoot /var/www/mon-site-personnel1/public_html <Directory /var/www/mon-site-personnel1/public_html> AllowOverride none Require all granted </Directory>
# directives obligatoires pour TLS
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Header always set Strict-Transport-Security « max-age=15768000 »
ErrorLog /var/log/apache2/error.example.com.log
CustomLog /var/log/apache2/access.example.com.log combined
</VirtualHost>
Sauvegardez le fichier puis refermez le.
Démarrez HEADER :
A2enmod header
Rechargez APACHE pour prendre en compte les modifications :
Systemctl restart apache
Testez l’accès de votre site en HTTPS :
https://votrenomdedomaine1.hd.free.fr
Si c’est ok, procédez de même avec le 2eme site en modifiant le fichier mon-site-personnel2.conf.
Testez aussi l’accès de votre site en HTTPS :
https://votrenomdedomaine2.hd.free.fr
Nous modifions maintenant les 2 fichiers pour que la redirection se fasse automatiquement vers HTTPS :
Rouvrez le fichier mon-site-personnel1.conf et insérez les 2 lignes suivantes suivantes :
<VirtualHost *:80> ServerAdmin admin2@example.com ServerName votrenomdedomaine2.freeboxos.fr ServerAlias votrenomdedomaine2.freeboxos.fr DocumentRoot /var/www/mon-site-personnel1/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
# Redirection 301 vers le site en HTTPS
Redirect permanent / https://votrenomdedomaine1.hd.free.fr/
<Directory /var/www/mon-site-personnel1/public_html>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Puis sauvegardez le fichier. Faites de même avec le 2eme et sauvegarder le aussi.
On redémarre APACHE :
Systemctl restart apache
Puis on teste :
http://votrenomdedomaine1.hd.free.fr
http://votrenomdedomaine2.hd.free.fr
Qui devrait renvoyer les 2 sites vers le HTTPS.
Il nous reste maintenant l’installation de WORDPRESS.
Bien sur, si vous le voulez, vous pouvez vous installer un autre Package au lieu de WordPress.
Mise à jour des certificats SSL Let’s Encrypt avec CERTBOT :
D’après le site https://doc.ubuntu-fr.org/apache2
Tapez l’instruction puis validez:
certbot --apache
les informations ci-dessous devraient apparaitre en montrant les différents sites internet de votre serveur UBUNTU:
vous pouvez alors demander la création SSL pour 1 ou plusieurs sites,
Tapez par exemple :
1 (pour le 1er site)
ou par exemple :
1 2 3 (séparés par un espace pour les 3 sites)
puis suivez les information indiquées.
Renouvellement automatique des certificats SSL Let’s Encrypt avec CERTBOT :
Tapez l’instruction puis validez:
certbot renew
Le renouvellement se fera alors automatiquement, et une tache CRON sera créée automatiquement à cet effet, dans /etc/cron.d/certbot .
Il est également créé un « timer » systemd qui fait la même chose (/lib/systemd/system/certbot.timer et certbot.service).
Le script sera lancé automatiquement toutes les 12 heures, et les certificats seront renouvelés si nécessaire.