Outils pour utilisateurs

Outils du site


apache:activer_https_avec_lets_encrypt

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
apache:activer_https_avec_lets_encrypt [2019/11/28 08:37]
marclebrun [Résumé de la procédure]
apache:activer_https_avec_lets_encrypt [2021/02/10 19:01] (Version actuelle)
marclebrun
Ligne 1: Ligne 1:
-====== Activer HTTPS avec Let's Encrypt ======+====== Activer HTTPS avec Let's Encrypt ​- Ubuntu 18.04 ======
  
 Documentation:​ [[https://​letsencrypt.org/​fr/​docs/​]] Documentation:​ [[https://​letsencrypt.org/​fr/​docs/​]]
Ligne 6: Ligne 6:
   * [[https://​www.memoinfo.fr/​tutoriels-linux/​configurer-lets-encrypt-apache/​]]   * [[https://​www.memoinfo.fr/​tutoriels-linux/​configurer-lets-encrypt-apache/​]]
   * {{:​apache:​screenshot_2019-11-28_apache_et_let_s_encrypt_de_la_creation_du_certificat_a_l_installation.png?​linkonly|Capture de la page au 28/​11/​2019}}   * {{:​apache:​screenshot_2019-11-28_apache_et_let_s_encrypt_de_la_creation_du_certificat_a_l_installation.png?​linkonly|Capture de la page au 28/​11/​2019}}
 +
 +  * [[https://​www.wst.space/​ssl-part1-ciphersuite-hashing-encryption/​|SSL/​TLS for dummies]]
 +
 +  * YouTube : [[https://​www.youtube.com/​watch?​v=iLeGkWjZOCA|CentOS 8 Serveur LAMP : Partie 4 Mise en place de ModSSL Let's Encrypt et sécurisation]]
  
 ===== Résumé de la procédure ===== ===== Résumé de la procédure =====
  
-Vérifier si les modules ​**ssl** et **rewrite** ​sont bien activés+^ Fait sur une Ubuntu 18.04.4 LTS ^ 
-Les activer si ce n'est pas le cas.+ 
 +==== 1. Modules Apache ==== 
 + 
 +Vérifier si les modules ​nécessaires ​sont bien activés.
  
 <code bash> <code bash>
-apachectl -M+sudo apachectl -M
 </​code>​ </​code>​
 +
 +La liste doit contenir les lignes suivantes
 +  * ''​headers_module''​
 +  * ''​rewrite_module''​
 +  * ''​ssl_module''​
 +
 +Si ce n'est pas le cas, activer les modules et redémarrer Apache :
  
 <code bash> <code bash>
-a2enmod ssl +sudo a2enmod ssl 
-a2enmod rewrite +sudo a2enmod rewrite 
-systemctl restart apache2+sudo a2enmod headers 
 +sudo systemctl restart apache2
 </​code>​ </​code>​
 +
 +==== 2. Installation de Certbot ====
  
 Télécharger **Certbot** dans le dossier **/opt** et l'​exécuter une première Télécharger **Certbot** dans le dossier **/opt** et l'​exécuter une première
 fois, accepter l'​installation des dépendances mais **ne pas faire l'​étape fois, accepter l'​installation des dépendances mais **ne pas faire l'​étape
 de création**. de création**.
 +
 +**À faire en root**
  
 <code bash> <code bash>
Ligne 35: Ligne 54:
 Lorsqu'​il demande l'​adresse email, entrer **'​c'​** pour annuler. Lorsqu'​il demande l'​adresse email, entrer **'​c'​** pour annuler.
  
-Création du certificat ​:+==== 3. Création du certificat ​==== 
 + 
 +**À faire en root**
  
 <code bash> <code bash>
 +cd /opt
 ./​certbot-auto certonly --webroot --webroot-path /​var/​www/​mon_site_web/​ ./​certbot-auto certonly --webroot --webroot-path /​var/​www/​mon_site_web/​
     --domain marclebrun.be --domain www.marclebrun.be     --domain marclebrun.be --domain www.marclebrun.be
Ligne 54: Ligne 76:
  
 Il va y avoir un email envoyé à l'​adresse spécifiée,​ il faut y répondre pour Il va y avoir un email envoyé à l'​adresse spécifiée,​ il faut y répondre pour
-qu'​elle soit vérifiée.+qu'​elle soit vérifiée ​et souscrire à la newsletter de l'​**Electronic Frontier Foundation**.
  
-//(... à suivre ​...)//+==== 4. Configuration d'​Apache ==== 
 + 
 +Pour l'​instant j'ai un VirtualHost dont la configuration se 
 +situe dans le fichier **/etc/apache2/​sites-available/​dev.marclebrun.be.conf**. 
 + 
 +<code apache /​etc/​apache2/​sites-available/​dev.marclebrun.be.conf>​ 
 +<​VirtualHost *:80> 
 +    ServerName dev.marclebrun.be 
 +    ServerAdmin mon-adresse-mail@gmail.com 
 +     
 +    DocumentRoot /var/www 
 +    <​Directory /​var/​www>​ 
 +        Options Indexes FollowSymLinks MultiViews 
 +        AllowOverride all 
 +        Require all denied 
 +        Require all granted 
 +        allow from all 
 +    </​Directory>​ 
 +     
 +    ErrorLog ${APACHE_LOG_DIR}/​error.log 
 +    CustomLog ${APACHE_LOG_DIR}/​access.log combined 
 +</​VirtualHost>​ 
 +</​code>​ 
 + 
 +Modifier le contenu comme suit : 
 + 
 +<code apache /​etc/​apache2/​sites-available/​dev.marclebrun.be.conf>​ 
 +<​VirtualHost *:80> 
 +        ServerName dev.marclebrun.be 
 +        ServerAdmin marclebrun2@gmail.com 
 + 
 +        RewriteEngine on 
 +        RewriteCond %{HTTPS} !on 
 +        RewriteRule (.*https://​%{HTTP_HOST}%{REQUEST_URI} 
 +</​VirtualHost>​ 
 + 
 +<​VirtualHost *:443> 
 +        ServerName dev.marclebrun.be 
 +        ServerAdmin marclebrun2@gmail.com 
 + 
 +        DocumentRoot /var/www 
 +        <​Directory /​var/​www/>​ 
 +                Options Indexes FollowSymLinks MultiViews 
 +                AllowOverride all 
 +                Require all denied 
 +                Require all granted 
 +                allow from all 
 +        </​Directory>​ 
 + 
 +        SSLEngine on 
 +        SSLCertificateFile /​etc/​letsencrypt/​live/​dev.marclebrun.be/​cert.pem 
 +        SSLCertificateKeyFile /​etc/​letsencrypt/​live/​dev.marclebrun.be/​privkey.pem 
 +        SSLCertificateChainFile /​etc/​letsencrypt/​live/​dev.marclebrun.be/​chain.pem 
 +        SSLProtocol all -SSLv2 -SSLv3 
 +        SSLHonorCipherOrder on 
 +        SSLCompression off 
 +        SSLOptions +StrictRequire 
 +        SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:​ECDHE-ECDSA-AES128-GCM-SHA256:​ECDHE-RSA-AES256-GCM-SHA384:​ECDHE-ECDSA-AES256-GCM-SHA384:​DHE-RSA-AES128-GCM-SHA256:​DHE-DSS-AES128-GCM-SHA256:​kEDH+AESGCM:​ECDHE-RSA-AES128-SHA256:​ECDHE-ECDSA-AES128-SHA256:​ECDHE-RSA-AES128-SHA:​ECDHE-ECDSA-AES128-SHA:​ECDHE-RSA-AES256-SHA384:​ECDHE-ECDSA-AES256-SHA384:​ECDHE-RSA-AES256-SHA:​ECDHE-ECDSA-AES256-SHA:​DHE-RSA-AES128-SHA256:​DHE-RSA-AES128-SHA:​DHE-DSS-AES128-SHA256:​DHE-RSA-AES256-SHA256:​DHE-DSS-AES256-SHA:​DHE-RSA-AES256-SHA:​AES128-GCM-SHA256:​AES256-GCM-SHA384:​AES128-SHA256:​AES256-SHA256:​AES128-SHA:​AES256-SHA:​AES:​CAMELLIA:​DES-CBC3-SHA:​!aNULL:​!eNULL:​!EXPORT:​!DES:​!RC4:​!MD5:​!PSK:​!aECDH:​!EDH-DSS-DES-CBC3-SHA:​!EDH-RSA-DES-CBC3-SHA:​!KRB5-DES-CBC3-SHA 
 +        Header always set Strict-Transport-Security "​max-age=31536000;​ includeSubDomains"​ 
 + 
 +        ErrorLog ${APACHE_LOG_DIR}/​error.log 
 +        CustomLog ${APACHE_LOG_DIR}/​access.log combined 
 +</​VirtualHost>​ 
 +</​code>​ 
 + 
 +Tester la configuration : 
 + 
 +<code bash> 
 +sudo apachectl configtest 
 +</​code>​ 
 + 
 +S'il répond ''​Syntax OK'',​ tout va bien. 
 + 
 +Si erreur ''​Invalid command '​Header',​ ...''​ cela signifie que le module 
 +**Header** n'est pas activé. 
 + 
 +<code bash> 
 +sudo a2enmod headers 
 +sudo systemctl restart apache2 
 +</​code>​ 
 + 
 +==== 5. Renouvellement du certificat ==== 
 + 
 +Refaire la commande d'​obtention du certificat, puis recharger Apache. 
 + 
 +<code bash> 
 +cd /opt 
 +./​certbot-auto certonly --webroot --webroot-path /​var/​www/​mon_site_web/​ 
 +    --domain marclebrun.be --domain www.marclebrun.be 
 +    --email mon@email.com 
 +</code> 
 + 
 +<code bash> 
 +sudo systemctl reload apache2 
 +</code>
  
apache/activer_https_avec_lets_encrypt.1574930240.txt.gz · Dernière modification: 2019/11/28 08:37 par marclebrun