Accès SSL

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.