LetsEncrypt

De Hegyd Doc.

(Différences entre les versions)
Pentasonic (discuter | contributions)
(Page créée avec « == Installation d’un certificat LetsEncrypt avec renouvellement automatique pour un NDD : == <pre> Ticket : https://v2.produhost.net/panel/15744/support/ticket/205183 … »)
Modification suivante →

Version du 29 mai 2020 à 13:01

Installation d’un certificat LetsEncrypt avec renouvellement automatique pour un NDD :

Ticket : https://v2.produhost.net/panel/15744/support/ticket/205183

Sur le serveur intrastore.hegyd.net
Générer un certificat SSL pour candidats.raisonhome.com par Let's Encrypt avec renouvellement automatique.
Redirection auto port 80 vers 443
...
  • Récupération de l’os et de sa version sur intrastore.hegyd.net

cat /etc/debian_version → 8.11 ( ici debian / jessie ) Se connecter sur https://certbot.eff.org/ et choisir sa config OS / Serveur : https://certbot.eff.org/lets-encrypt/debianjessie-apache et faire l’installation se connecter en root, sur intrastore.hegyd.net: Vérifier si l’ancien certbot n’esp installé  : apt remove certbot puis : wget https://dl.eff.org/certbot-auto mv certbot-auto /usr/local/bin/certbot-auto chown root /usr/local/bin/certbot-auto chmod 0755 /usr/local/bin/certbot-auto

Installer les dépendances, python et générer les certificats : /usr/local/bin/certbot-auto –apache En cas d’erreur, faire les modifications nécessaire et relancer la commande.

/usr/local/bin/certbot-auto --apache Ensuite on teste le certificat : certbot-auto certonly --webroot -w /var/projects/cloud/prod/raison-home -d candidats.raisonhome.com -m tech@hegyd.net –dry-run si c’est ok on enleve le « --dry-run » certbot-auto certonly --webroot -w /var/projects/cloud/prod/raison-home -d candidats.raisonhome.com -m tech@hegyd.net Le certificat va être généré dans /etc/letsencrypt/live/candidats.raisonhome.com qui contient les fichiers pour le certificat à configurer dans le vhost Apache : cert.pem chain.pem fullchain.pem privkey.pem modifier la conf du vhost dans /etc/apache2/sites-enabled/intrastore.conf

  1. PROD candidats.raisonhome.com

<Virtualhost *:80>

       ServerName candidats.raisonhome.com 
       ServerAlias *.candidats.raisonhome.com
       VirtualDocumentRoot /var/projects/cloud/prod/raison-home
       <Directory "/var/projects/cloud/prod/raison-home">
               Options Indexes FollowSymlinks MultiViews
               AllowOverride All
               Require all granted
       </Directory>
      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</Virtualhost> <Virtualhost *:443>

       ServerName candidats.raisonhome.com 
       ServerAlias *.candidats.raisonhome.com
       VirtualDocumentRoot /var/projects/cloud/prod/raison-home
       <Directory "/var/projects/cloud/prod/raison-home">
               Options Indexes FollowSymlinks MultiViews
               AllowOverride All
               Require all granted
       </Directory>
       SSLEngine On
       SSLCertificateFile /etc/letsencrypt/live/candidats.raisonhome.com/cert.pem
       SSLCertificateKeyFile /etc/letsencrypt/live/candidats.raisonhome.com/privkey.pem
       SSLCertificateChainFile /etc/letsencrypt/live/candidats.raisonhome.com/chain.pem

</Virtualhost> Vérifier la configuration et recharger apache : apachectl -t service apache2 reload Vérifier le site : https://candidats.raisonhome.com Ensuite mettre le cron de renouvellement dans la crontab : echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew -q" | sudo tee -a /etc/crontab > /dev/null ce qui donne pour etc/crontab 0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew -q Recharger le service cron service httpd