Jeedom letsencrypt : Différence entre versions
(Page créée avec « ==1) Installation de Letsencrypt== Voici les commandes à lancer pour installer letsencrypt avant la génération : <nowiki>apt-get install -y git cd /opt git clone https... ») |
|||
Ligne 1 : | Ligne 1 : | ||
− | == | + | ==Installation de Letsencrypt== |
Voici les commandes à lancer pour installer letsencrypt avant la génération : | Voici les commandes à lancer pour installer letsencrypt avant la génération : | ||
<nowiki>apt-get install -y git | <nowiki>apt-get install -y git | ||
Ligne 9 : | Ligne 9 : | ||
Pour faire une demande de certificat vous devez posséder un nom de domaine pour lequel il sera généré. | Pour faire une demande de certificat vous devez posséder un nom de domaine pour lequel il sera généré. | ||
− | == | + | ==Configuration d’Apache== |
Pour que le processus de letsEncrypt se termine correctement, il est nécessaire d’effectuer les trois étapes ci-dessous au préalable : | Pour que le processus de letsEncrypt se termine correctement, il est nécessaire d’effectuer les trois étapes ci-dessous au préalable : | ||
Ligne 20 : | Ligne 20 : | ||
Configurer un portForwarding des requêtes HTTPS sur votre Box internet pour les rediriger vers votre Box Jeedom. | Configurer un portForwarding des requêtes HTTPS sur votre Box internet pour les rediriger vers votre Box Jeedom. | ||
− | === | + | ===Activation du virtualHost et du module SSL=== |
Note | Note | ||
Ligne 46 : | Ligne 46 : | ||
</VirtualHost></nowiki> | </VirtualHost></nowiki> | ||
− | == | + | ==Configuration de Nginx== |
Cette commande n’est à utiliser que si vous disposez d’un serveur web Nginx. | Cette commande n’est à utiliser que si vous disposez d’un serveur web Nginx. | ||
Ligne 68 : | Ligne 68 : | ||
service nginx restart | service nginx restart | ||
− | == | + | ==Renouvellement== |
Le renouvellement se fait avec la commande : | Le renouvellement se fait avec la commande : | ||
Ligne 75 : | Ligne 75 : | ||
Vous recevez un mail automatiquement à l’arrivée de l’échéance du certificat qui vous rappellera de lancer cette commande. | 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 : | C’est quand même mieux quand c’est automatique. Pour ce faire, voici les étapes à suivre : | ||
Version du 5 avril 2020 à 16:01
Sommaire
Installation de Letsencrypt
Voici les commandes à lancer pour installer letsencrypt avant la génération :
apt-get install -y git cd /opt git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help
Pour faire une demande de certificat vous devez posséder un nom de domaine pour lequel il sera généré.
Configuration d’Apache
Pour que le processus de letsEncrypt se termine correctement, il est nécessaire d’effectuer les trois étapes ci-dessous au préalable :
Attention il est nécessaire d’ouvrir le port 80 sur le routeur (FAI) !
Activer le module SSL d’apache de la box Jeedom.
Activer le VirtualHost HTTPS d’apache de la box Jeedom .
Configurer un portForwarding des requêtes HTTPS sur votre Box internet pour les rediriger vers votre Box Jeedom.
Activation du virtualHost et du module SSL
Note
Se connecter en SSH sur la box Jeedom.
a2enmod ssl a2ensite default-ssl.conf service apache2 restart
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`
<FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost>
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 ; :
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;
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.
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
Editez le crontab.
crontab -e
On ajoute la ligne suivante :
0 5 * * 1 /bin/certletsencryptrenew.sh