Jeedom letsencrypt : Différence entre versions

De SLM - MediaWiki
Ligne 1 : Ligne 1 :
==Installation de Letsencrypt==
+
==Recuperer les certificat geré par opnsense==
Voici les commandes à lancer pour installer letsencrypt avant la génération :
 
<nowiki>apt-get install -y git
 
cd /opt
 
git clone https://github.com/letsencrypt/letsencrypt
 
cd letsencrypt
 
./letsencrypt-auto --help</nowiki>
 
  
Pour faire une demande de certificat vous devez posséder un nom de domaine pour lequel il sera généré.
+
rep opnsense
 +
/var/etc/acme-client/home/centreon.slemoal.fr/centreon.slemoal.fr.cer
 +
/var/etc/acme-client/home/centreon.slemoal.fr/centreon.slemoal.fr.key
  
==Configuration d’Apache==
+
centreon
Pour que le processus de letsEncrypt se termine correctement, il est nécessaire d’effectuer les trois étapes ci-dessous au préalable :
+
nano /opt/rh/httpd24/root/etc/httpd/conf.d/10-centreon.conf
  
Attention il est nécessaire d’ouvrir le port 80 sur le routeur (FAI) !
 
  
Activer le module SSL d’apache de la box Jeedom.
+
<VirtualHost *:443>
 +
  SSLEngine on
 +
#  SSLCertificateFile /etc/pki/tls/certs/ca.crt
 +
#  SSLCertificateKeyFile /etc/pki/tls/private/ca.key
 +
  SSLCertificateFile /etc/pki/tls/certs/centreon.slemoal.fr.cer
 +
  SSLCertificateKeyFile /etc/pki/tls/private/centreon.slemoal.fr.key
  
Activer le VirtualHost HTTPS d’apache de la box Jeedom .
+
/etc/pki/tls/certs/centreon.slemoal.fr.cer
 +
/etc/pki/tls/private/centreon.slemoal.fr.key
  
Configurer un portForwarding des requêtes HTTPS sur votre Box internet pour les rediriger vers votre Box Jeedom.
+
systemctl restart httpd24-httpd.service
  
===Activation du virtualHost et du module SSL===
 
Note
 
  
Se connecter en SSH sur la box Jeedom.
+
[[Catégorie:Centreon]]
 
 
<nowiki>a2enmod ssl
 
a2ensite default-ssl.conf
 
service apache2 restart</nowiki>
 
Note
 
 
 
Aucun certificat ne sera délivré par LetsEncrypt tant que votre site en HTTPS ne sera pas joignable de l’extérieur.
 
 
 
/opt/letsencrypt/letsencrypt-auto --apache --email slemoal51@gmail.com -d jeedom.slemoal.fr
 
 
 
Note
 
 
 
Si vous utilisez la méthode de renouvellement automatique ci-dessous, vous pouvez désactiver le virtualHost default-ssl.conf avec la commande a2dissite default-ssl.conf Pensez à reporter le code par défaut ci-dessous dans le virtualHost créé par le script de renouvellement : /etc/apache2/sites-available/000-default-le-ssl.conf`
 
 
 
<nowiki><FilesMatch "\.(cgi|shtml|phtml|php)$">
 
  SSLOptions +StdEnvVars
 
</FilesMatch>
 
<Directory /usr/lib/cgi-bin>
 
  SSLOptions +StdEnvVars
 
</Directory>
 
</VirtualHost></nowiki>
 
 
 
==Configuration de Nginx==
 
Cette commande n’est à utiliser que si vous disposez d’un serveur web Nginx.
 
 
 
./letsencrypt-auto certonly --email slemoal51@gmail.com -d jeedom.slemoal.fr -a webroot --webroot-path /usr/share/nginx/www/
 
Vous devez remplacer le chemin vers la racine du serveur. Vous devez ajouter les deux lignes de configuration du HTTPS dans la configuration nginx :
 
 
 
nano /etc/nginx/sites-enabled/default
 
Ajouter les lignes suivantes, entre les lignes server { et root /usr/share/nginx/www ; :
 
 
 
<nowiki>listen 80;
 
 
 
listen 443 ssl;
 
 
 
ssl_certificate /etc/nginx/ssl/ jeedom.chezmoi.fr.crt;
 
 
 
ssl_certificate_key /etc/nginx/ssl/ jeedom.chezmoi.fr.key;
 
 
 
ssl_session_timeout 5m;</nowiki>
 
 
 
Et enfin redémarrez le serveur Nginx.
 
service nginx restart
 
 
 
==Renouvellement==
 
Le renouvellement se fait avec la commande :
 
 
 
/opt/letsencrypt/letsencrypt-auto --apache --renew-by-default -d jeedom.slemoal.fr
 
 
 
Vous recevez un mail automatiquement à l’arrivée de l’échéance du certificat qui vous rappellera de lancer cette commande.
 
 
 
===Méthode automatique===
 
C’est quand même mieux quand c’est automatique. Pour ce faire, voici les étapes à suivre :
 
 
 
Installez bc, utilisé dans le script le-renew :
 
apt-get install -y bc
 
 
 
Créez un fichier pour y écrire le script (son emplacement est libre) :
 
nano /bin/certletsencryptrenew.sh
 
 
 
Saisissez les lignes ci-dessous dans le fichier créé précédemment. L
 
 
 
Ce script vérifie l’expiration du certificat et le renouvelle automatiquement si la date d’expiration est à moins de 30 jours.
 
<nowiki>curl -L -o /usr/local/sbin/le-renew http://do.co/le-renew
 
chmod +x /usr/local/sbin/le-renew
 
le-renew jeedom.slemoal.fr</nowiki>
 
 
 
Editez le crontab.
 
crontab -e
 
 
 
On ajoute la ligne suivante :
 
0 5 * * 1 /bin/certletsencryptrenew.sh
 

Version du 6 avril 2020 à 14:47

Recuperer les certificat geré par opnsense

rep opnsense /var/etc/acme-client/home/centreon.slemoal.fr/centreon.slemoal.fr.cer /var/etc/acme-client/home/centreon.slemoal.fr/centreon.slemoal.fr.key

centreon nano /opt/rh/httpd24/root/etc/httpd/conf.d/10-centreon.conf


<VirtualHost *:443>

 SSLEngine on
  1. SSLCertificateFile /etc/pki/tls/certs/ca.crt
  2. SSLCertificateKeyFile /etc/pki/tls/private/ca.key
 SSLCertificateFile /etc/pki/tls/certs/centreon.slemoal.fr.cer
 SSLCertificateKeyFile /etc/pki/tls/private/centreon.slemoal.fr.key

/etc/pki/tls/certs/centreon.slemoal.fr.cer /etc/pki/tls/private/centreon.slemoal.fr.key

systemctl restart httpd24-httpd.service