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 [2020/04/13 17:42]
marclebrun [1. Modules Apache]
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 12: Ligne 12:
  
 ===== Résumé de la procédure ===== ===== Résumé de la procédure =====
 +
 +^ Fait sur une Ubuntu 18.04.4 LTS ^
  
 ==== 1. Modules Apache ==== ==== 1. Modules Apache ====
  
-Vérifier si les modules ​**ssl** et **rewrite** ​sont bien activés.+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 ''​rewrite_module'' ​et ''​ssl_module''​.+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 : 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>​
  
Ligne 36: Ligne 42:
 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 47: Ligne 55:
  
 ==== 3. 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 69: Ligne 80:
 ==== 4. Configuration d'​Apache ==== ==== 4. Configuration d'​Apache ====
  
-//(... à suivre ​...)//+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.1586799768.txt.gz · Dernière modification: 2020/04/13 17:42 par marclebrun