Activez le HTTPS sur votre box Jeedom ! (Nouvelle Version)

Bonjour à tous !

Mon certificat SSL arrive à son terme, par conséquent, il me faut le renouveler.

Afin de faire une suite à mon premier article et surtout à la faille de sécurité de Let’s Encrypt.

Nous allons passer notre certificat sur leur nouvelle norme le HTTP-01.

1*/ Révocation et suppression du certificat présent

On commence par supprimer notre ancien certificat avec la commande suivante. Attention bien remplacer : « VOTRE-DOMAINE » par votre domaine réel.

sudo /opt/letsencrypt/letsencrypt-auto revoke --cert-path /etc/letsencrypt/live/VOTRE-DOMAINE/fullchain.pem

Vous obtiendrez ceci :

On relance Apache avec la commande suivante :

sudo /etc/init.d/apache2 restart

Apache devrais redémarrer correctement.

Cependant j’ai rencontré un problème, Apache indique failed au redémarrage.

Donc comme le message le dit, on pianote :

systemctl status apache2.service

Il m’indique que le fichier SSL dans /etc/letsencrypt….. n’est plus présent.

Pas d’inquiétude ! Nous allons désactivé le site HTTPS d’Apache avec la commande :

sudo a2dissite default-ssl.conf

Puis on relance Apache2.

Si vous avez d’autres erreurs n’hésitez pas à commenter l’article

2*/ Mise a jour du CERT-BOT

On se rends dans le dossier /etc puis on télécharge Certbot et on le rends exécutable afin de créer les certificats.

cd /etc
sudo wget https://dl.eff.org/certbot-auto
sudo chmod a+x ./certbot-auto

On crée notre certificat :

./certbot-auto --apache -d VOTRE-DOMAINE

Le script va vous poser une question concernant la redirection. Répondez le choix 2.

En cliquant sur le lien …. vous obtiendrez ceci :

3*/ Automatisation du renouvellement

Comme a l’accoutumé, nous allons reprendre l’automatisation du renouvellement via Crontab comme indiqué dans notre précédent guide.

Nous ouvrons Crontab avec la commande :

sudo nano crontab -e

et tout en bas du fichier, on ajoute la commande :

0 3 * * 0 /etc/certbot-auto renew
OU
0 3 * * SUN /etc/certbot-auto renew

J’effectue une tentative de renouvellement à 3h tous les dimanches, ce qui me permet de ne pas trop m’en soucier 🙂

Si vous voulez, vous pouvez modifier le crontab en allant sur ce site : https://crontab.guru/

A bientôt pour un prochain tutoriel 🙂

15 commentaires

  1. JEGOUSSE Répondre

    Hello, je cale à l’étape redémarrage d’apache

    Restarting apache2 (via systemctl): apache2.serviceJob for apache2.service failed because the control process exited with error code.
    See « systemctl status apache2.service » and « journalctl -xe » for details.
    failed!

    Du coup j’entre « systemctl status apache2.service »

    ● apache2.service – The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/apache2.service.d
    └─privatetmp.conf
    Active: failed (Result: exit-code) since Wed 2018-05-30 00:37:11 CEST; 49s ago
    Process: 21645 ExecStop=/usr/sbin/apachectl stop (code=exited, status=1/FAILURE)
    Process: 2909 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
    Main PID: 483 (code=exited, status=0/SUCCESS)

    Puis  » sudo journalctl -xe »

    mai 30 00:38:01 JeedomZ83 CRON[3099]: pam_unix(cron:session): session opened for user www-data by (uid=0)
    mai 30 00:38:01 JeedomZ83 CRON[3100]: (www-data) CMD (/usr/bin/php /var/www/html/core/php/jeeCron.php >> /dev/null)
    mai 30 00:38:01 JeedomZ83 CRON[3099]: pam_unix(cron:session): session closed for user www-data
    mai 30 00:39:01 JeedomZ83 CRON[3352]: pam_unix(cron:session): session opened for user root by (uid=0)
    mai 30 00:39:01 JeedomZ83 CRON[3353]: pam_unix(cron:session): session opened for user www-data by (uid=0)
    mai 30 00:39:01 JeedomZ83 CRON[3354]: (www-data) CMD (/usr/bin/php /var/www/html/core/php/jeeCron.php >> /dev/null)
    mai 30 00:39:01 JeedomZ83 CRON[3355]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/s
    mai 30 00:39:01 JeedomZ83 systemd[1]: Starting Clean php session files…
    — Subject: L’unité (unit) phpsessionclean.service a commencé à démarrer
    — Defined-By: systemd
    — Support: https://www.debian.org/support

    — L’unité (unit) phpsessionclean.service a commencé à démarrer.
    mai 30 00:39:01 JeedomZ83 CRON[3352]: pam_unix(cron:session): session closed for user root
    mai 30 00:39:02 JeedomZ83 systemd[1]: Started Clean php session files.
    — Subject: L’unité (unit) phpsessionclean.service a terminé son démarrage
    — Defined-By: systemd
    — Support: https://www.debian.org/support

    — L’unité (unit) phpsessionclean.service a terminé son démarrage, avec le résultat done.
    mai 30 00:39:02 JeedomZ83 CRON[3353]: pam_unix(cron:session): session closed for user www-data
    mai 30 00:40:01 JeedomZ83 CRON[3646]: pam_unix(cron:session): session opened for user root by (uid=0)
    mai 30 00:40:01 JeedomZ83 CRON[3647]: pam_unix(cron:session): session opened for user www-data by (uid=0)
    mai 30 00:40:01 JeedomZ83 CRON[3648]: (root) CMD (/usr/bin/php /var/www/html/core/php/watchdog.php >> /dev/null)
    mai 30 00:40:01 JeedomZ83 CRON[3649]: (www-data) CMD (/usr/bin/php /var/www/html/core/php/jeeCron.php >> /dev/null)
    mai 30 00:40:01 JeedomZ83 CRON[3646]: pam_unix(cron:session): session closed for user root
    mai 30 00:40:02 JeedomZ83 sudo[3732]: www-data : TTY=unknown ; PWD=/var/www ; USER=root ; COMMAND=/sbin/ip -o link show
    mai 30 00:40:02 JeedomZ83 sudo[3732]: pam_unix(sudo:session): session opened for user root by (uid=0)
    mai 30 00:40:02 JeedomZ83 sudo[3732]: pam_unix(sudo:session): session closed for user root
    mai 30 00:40:02 JeedomZ83 sudo[3741]: www-data : TTY=unknown ; PWD=/var/www ; USER=root ; COMMAND=/sbin/ip addr show enp1s0
    mai 30 00:40:02 JeedomZ83 sudo[3741]: pam_unix(sudo:session): session opened for user root by (uid=0)
    mai 30 00:40:02 JeedomZ83 sudo[3741]: pam_unix(sudo:session): session closed for user root
    mai 30 00:40:02 JeedomZ83 CRON[3647]: pam_unix(cron:session): session closed for user www-data
    mai 30 00:40:02 JeedomZ83 sudo[3756]: www-data : TTY=unknown ; PWD=/var/www ; USER=root ; COMMAND=/bin/ping -n -c 1 -t 255 8.8.8.8
    mai 30 00:40:02 JeedomZ83 sudo[3756]: pam_unix(sudo:session): session opened for user root by (uid=0)
    mai 30 00:40:02 JeedomZ83 sudo[3756]: pam_unix(sudo:session): session closed for user root
    mai 30 00:40:29 JeedomZ83 sudo[3853]: tophe : TTY=pts/0 ; PWD=/etc/apache2/sites-available ; USER=root ; COMMAND=/bin/journalctl -xe
    mai 30 00:40:29 JeedomZ83 sudo[3853]: pam_unix(sudo:session): session opened for user root by tophe(uid=0)

    Quelqu’un pour m’aider, je ne vois pas du tout ou se situe le problème.
    Merci

    • Guillaume Auteur de l’articleRépondre

      Hello, je suis actuellement sur le téléphone donc pour regarder les. Log c’est pas super évident, je regarde tout à l’heure en rentrant 🙂

      • Guillaume Auteur de l’articleRépondre

        Me. Revoilà,
        Apache essaye de se lancer en root d’où l’erreur.

        As tu tester de lancer apache en root ?
        Avec « su -root » puis « service apache2 start »

        Ça sens la corruption des données essaye de lancer une réparation avec les commandes (à faire en root)
        « touch /forcesck »
        Et redémarre avec « reboot »
        Ça va redémarrer et réparer les partitions si ça y arrive

  2. damien165 Répondre

    Bonjour,
    Merci pour ce super tuto!
    Lorsque je désactive le ssl, j’obtiens un message indiquant que le ssl est déjà désactivé. Le redémarage d’apache me donne exactement la même erreur qu’avant tentative de désactivation du ssl.
    Avez-vous rencontré ce problème?
    Merci

    • Guillaume Auteur de l’articleRépondre

      Bonjour, vous avez bien activer le ssl avec la commande a2enmod_ssl ?

      • damien165 Répondre

        Bonsoir,
        La commande a2enmod ssl indique que le ssl est déjà activé.

  3. poupou21 Répondre

    Bonjour,
    Et merci pour cet excellent tuto!
    Après plusieurs tentatives suite à un problème de manip de ma part j’ai enfin retrouvé le https sur mon jeedom ainsi que la fonction « ASK » de jeedom via Telegram!

  4. jacques56 Répondre

    Bonjour
    Le titre ne devrait pas être « Activer le HTTPS… » mais « Réactiver le HTTPS… » Moi j’aimerais bien trouver une solution simple pour une primo installation de https pour jeedom mais je me rend compte que contrairement à ce que disent certains sur le forum jeedom, cela n’a rien de simple. Je ne peux donc pas utiliser certains plugins qui nécessite un accès sécurisé.

    • Guillaume Auteur de l’articleRépondre

      Bonjour, tu peux suivre ce tuto mis à part la partie suppression du précédent certificat 😉

  5. Greg Répondre

    Bonjour,

    même problème que Damien165. j’ai révoqué le certificat mais impossible de relancer apache.

    sudo a2dissite default-ssl.conf me dit que c’est déjà désactivé.
    La commande a2enmod ssl indique que le ssl est déjà activé

    J’ai donc toujours le souci suivant :

    J’ai malgré tout tenté la création du nouveau certificat avec les messages d’erreurs suivants :

    AH00526: Syntax error on line 10 of /etc/apache2/sites-enabled/000-default-le-ssl.conf:

    Voici le fichier en question :

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog /var/www/html/log/http.error

    ServerName xxx.com
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/xxx.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/xxx.com/privkey.pem

    SSLCertificateFile: file ‘/etc/letsencrypt/live/xxx.com/fullchain.pem’ does not exist or is empty

    Et plus d’accès à Jeedom en https:(

    Merci d’avance

    Greg

  6. Guillaume Auteur de l’articleRépondre

    Bonjour, le https est bien désactivé, tu peux supprimer le lien symbolique 000-default-le-ssl.conf qui s’est crée dans le répertoire /etc/apache2/sites-enables.
    Puis si cela ne fonctionne pas supprime le même fichier dans sites-available

  7. Greg Répondre

    Merci beaucoup. J’allai poster car je viens de solutionner sans voir ta réponse :).

    J’ai donc éditer le fichier 000-default-le-ssl.conf.

    Ai mis des # devant les lignes suivantes :

    #Include /etc/letsencrypt/options-ssl-apache.conf
    #SSLCertificateFile /etc/letsencrypt/live/xxx.com/fullchain.pem
    #SSLCertificateKeyFile /etc/letsencrypt/live/xxx.com/privkey.pem

    et changé le server name :

    • Greg Répondre

      Mince mauvaise manip… :

      Server name :

      ServerName 127.0.1.1

      puis sudo service apache2 retsart

      J’ai ensuite regénéré un certificat. La galère quand même :).

      Merci pour ton aide

      Greg

Laisser un commentaire !