LetsEncrypt

De Hegyd Doc.

(Différences entre les versions)
(Installation d’un certificat LetsEncrypt avec renouvellement automatique pour un NDD :)
(Installation d’un certificat LetsEncrypt avec renouvellement automatique pour un NDD :)
Ligne 3 : Ligne 3 :
-
<pre>
+
* Ticket : https://v2.produhost.net/panel/15744/support/ticket/205183
-
Ticket : https://v2.produhost.net/panel/15744/support/ticket/205183
+
-
Sur le serveur intrastore.hegyd.net
+
''Sur le serveur intrastore.hegyd.net
Générer un certificat SSL pour candidats.raisonhome.com par Let's Encrypt avec renouvellement automatique.
Générer un certificat SSL pour candidats.raisonhome.com par Let's Encrypt avec renouvellement automatique.
Redirection auto port 80 vers 443
Redirection auto port 80 vers 443
-
...
+
...''
-
</pre>
+
 
* Récupération de l’os et de sa version sur intrastore.hegyd.net
* Récupération de l’os et de sa version sur intrastore.hegyd.net
-
cat /etc/debian_version  
+
<pre>
-
8.11 ( ici debian / jessie )  
+
#cat /etc/debian_version
-
Se connecter sur https://certbot.eff.org/ et choisir sa config OS / Serveur :  
+
8.11
 +
</pre>
 +
 
 +
ici debian / jessie )  
 +
 
 +
* Se connecter sur https://certbot.eff.org/ et choisir sa config OS / Serveur :  
 +
 
https://certbot.eff.org/lets-encrypt/debianjessie-apache
https://certbot.eff.org/lets-encrypt/debianjessie-apache
-
et faire l’installation  
+
 
-
se connecter en root, sur intrastore.hegyd.net:
+
* faire l’installation  
 +
  - se connecter en root, sur intrastore.hegyd.net:
 +
 
Vérifier si l’ancien certbot n’esp installé  :  
Vérifier si l’ancien certbot n’esp installé  :  
 +
 +
<pre>
apt remove certbot
apt remove certbot
 +
</pre>
 +
puis :
puis :
 +
 +
<pre>
wget https://dl.eff.org/certbot-auto
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
 +
</pre>
-
Installer les dépendances, python et générer les certificats :
+
* Installer les dépendances, python et générer les certificats :
 +
 
 +
<pre>
/usr/local/bin/certbot-auto –apache
/usr/local/bin/certbot-auto –apache
-
En cas d’erreur, faire les modifications nécessaire et relancer la commande.
+
</pre>
-
/usr/local/bin/certbot-auto --apache
+
* En cas d’erreur, faire les modifications nécessaire et relancer la commande.
-
Ensuite on teste le certificat :
+
 
 +
<pre>
 +
/usr/local/bin/certbot-auto –apache
 +
</pre>
 +
 
 +
* Ensuite on teste le certificat :
 +
 
 +
<pre>
certbot-auto certonly --webroot -w /var/projects/cloud/prod/raison-home -d candidats.raisonhome.com -m tech@hegyd.net –dry-run
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 »
+
</pre>
 +
 
 +
* si c’est ok on enleve le « --dry-run »
 +
 
 +
<pre>
certbot-auto certonly --webroot -w /var/projects/cloud/prod/raison-home -d candidats.raisonhome.com -m tech@hegyd.net  
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
+
</pre>
-
qui contient les fichiers pour le certificat à configurer dans le vhost Apache :
+
 
 +
* 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
cert.pem  chain.pem  fullchain.pem  privkey.pem
-
modifier la conf du vhost dans /etc/apache2/sites-enabled/intrastore.conf  
+
 
 +
* modifier la conf du vhost dans /etc/apache2/sites-enabled/intrastore.conf:
 +
 
 +
<pre>
# PROD candidats.raisonhome.com
# PROD candidats.raisonhome.com
<Virtualhost *:80>
<Virtualhost *:80>
Ligne 68 : Ligne 100 :
         SSLCertificateChainFile /etc/letsencrypt/live/candidats.raisonhome.com/chain.pem
         SSLCertificateChainFile /etc/letsencrypt/live/candidats.raisonhome.com/chain.pem
</Virtualhost>
</Virtualhost>
-
Vérifier la configuration et recharger apache :
+
</pre>
 +
 
 +
* Vérifier la configuration et recharger apache :
 +
 
 +
<pre>
apachectl -t
apachectl -t
service apache2 reload
service apache2 reload
-
Vérifier le site :
+
</pre>
 +
 
 +
* Vérifier le site, la redirection et le certificat :
 +
<pre>
https://candidats.raisonhome.com
https://candidats.raisonhome.com
-
Ensuite mettre le cron de renouvellement dans la crontab :
+
</pre>
 +
 
 +
 
 +
== installation du cron de renouvellement ( renew ) ==
 +
 
 +
* Ensuite mettre le cron de renouvellement dans la crontab :
 +
 
 +
<pre>
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
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
+
</pre>
 +
 
 +
* ce qui donne pour etc/crontab
 +
 
 +
<pre>
0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew -q
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
+
</pre>
-
service httpd
+
 
 +
* Recharger le service cron
 +
 
 +
<pre>
 +
service cron reload
 +
</pre>
 +
 
 +
Et voila, reste à surveiller le cron pour valider le bon renouvellement automatique.
[[Catégorie:Administration serveurs]]
[[Catégorie:Administration serveurs]]

Version du 29 mai 2020 à 13:17

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

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 )

https://certbot.eff.org/lets-encrypt/debianjessie-apache

  • 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:
# 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, la redirection et le certificat :
https://candidats.raisonhome.com


installation du cron de renouvellement ( renew )

  • 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 cron reload

Et voila, reste à surveiller le cron pour valider le bon renouvellement automatique.