Dépanner Jeedom. Problèmes courants et remèdes • Domotique et objets connectés à faire soi-même

Cet article récapitule les problèmes courants que l’on peut rencontrer durant l’installation et l’utilisation de Jeedom. N’hésitez pas à partager votre expérience sur des problèmes non listés ici (et idéalement la solution pour y remédier 😉 )

Si vous rencontrez ce message, c’est que probablement que le script s’est planté durant l’installation.

Même en relançant le script, celui-ci ne pourra pas passer l’étape 8 (jeedom_configuration). En effet, rien n’est prévu dans le script pour stocker temporairement le mot de passe généré et le ré-utiliser en cas de plantage. Pas de panique, il  y a toujours une solution 🙂

Il est possible de passer des paramètres au script install.sh :

  • -s (STEP) exécuter uniquement l’étape indiquée (de 1 à 11)
  • -v (VERSION) installer une version particulière de Jeedom
  • -w (WEBSERVER_HOME) changer le répertoire par défaut /var/www/html
  • -z (INSTALL_ZWAVE_DEP) installer les dépendances pour le ZWAVE. Par défaut elles sont installées. Mettre à 0 si vous ne voulez pas les installer
  • -h (HTML_OUTPUT)
  • -m (MYSQL_ROOT_PASSWD) : mot de passe MySQL

Vous connaissez le mot de passe MySQL généré durant l’installation

Si vous avez noté le mot de passe indiqué à l’étape 3, c’est le cas idéal.

Il suffit de relancer le script avec le paramètre -m MOTDEPASSE

./install.sh -m MOTDEPASSE

Tout devrait se terminer normalement. Pour gagner un peu de temps, vous pouvez uniquement exécuter les étapes restantes en ajoutant le paramètre -s. Il faudra bien exécuter manuellement toutes les étapes restantes successivement pour que le processus d’installation de Jeedom soit achevé complètement.

Vous ne connaissez pas le mot de passe MySQL

Dans ce cas il va falloir mettre les mains dans MySQL !

Editez le fichier de configuration my.cnf. Normalement, il se trouve dans le répertoire /etc/mysql/

nano /etc/mysql/my.cnf

Ajoutez la commande skip-grant-tables (la position n’est pas très importante) qui permet de démarrer MySQL en mode sans échec et sans mot de passe. Enregistrez avec CTRL + X.

Redémarrez MySQL

service mysql restart

Démarrez le shell MySQL

mysql -u root

Sélectionnez la base mysql

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>

Juste par curiosité, regardons la liste des utilisateurs. Le champ password contient l’emprunte du mot de passe

mysql> select host,user,password from user;
+--------------+------------------+-------------------------------------------+
| host         | user             | password                                  |
+--------------+------------------+-------------------------------------------+
| localhost    | root             | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| orangepilite | root             | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| 127.0.0.1    | root             | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ::1          | root             | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| localhost    | debian-sys-maint | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+--------------+------------------+-------------------------------------------+
5 rows in set (0.00 sec)

mysql>

Remplacez la clé VOTRE_MOT_DE_PASSE dans la commande update suivante.

mysql> update user set password=PASSWORD("VOTRE_MOT_DE_PASSE") where User='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0

mysql>

On enregistre les privilèges

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>

On sort de MySQL

mysql> quit;
Bye
pi@jeedom:~#

Retournez dans le fichier de configuration de MySQL et commentez ou supprimez la clé skip-grant-tables. Enregistrez avec CTRL + X puis redémarrez MySQL

service mysql restart

Relancer le script avec le paramètre -m MOTDEPASSE

./install.sh -m MOTDEPASSE

Tout devrait se terminer normalement.

Erreur SQLSTATE[HY000] [2002] No such file or directory : problème avec la base de données MySQL

Jeedom utilise la base de données Open Source MySQL pour fonctionner. Même si en théorie tout est installé et configuré par la script, vous risquez de rencontrer ce message après l’installation.

Le message SQLSTATE[HY000] [2002] No such file or directory signifie que Jeedom n’arrive pas à se connecter à la base de données.

Vous pourrez également rencontrer ce problème suite à un arrêt imprévu de Jeedom (une coupure de courant, un plantage de Jeedom…). Impossible de décrire toutes les solutions. Consultez le forum officiel ici. Pour ma part, j’ai obtenu le message d’erreur après l’installation. Je n’en connais pas la cause exacte mais voici comment je m’en suis sorti !

Tout d’abord, mettez en lieu sûre le mot de passe généré par le script au moment de l’installation. Il est indiqué  par le script à la fin de l’installation dans la section ALL CECKS COMPLET. C’est un identifiant unique composé de 15 caractères alphanumériques généré automatiquement au démarrage du script.

On commence par désinstaller MySQL du système

sudo apt-get purge mysql-server

Puis tout le contenu du répertoire

sudo rm -rf /var/lib/mysql

Enfin, on installe MySQL

sudo apt-get install mysql-server

Durant l’installation, une fenêtre va apparaître pour vous demander le mot de passe root. Collez le mot de passe généré par le script précédemment. Rien ne vous interdit d’utiliser un autre mot de passe. Il faudra l’indiquer au script d’installation de Jeedom juste après.

Evidemment, désinstaller et ré-installer MySQL n’est pas sans conséquences sur Jeedom. Si vous actualisé le navigateur internet, vous aurez le message d’erreur suivant

SQLSTATE[HY000] [1045] Access denied for user 'jeedom'@'localhost' (using password: YES)

Il va falloir “rejouer” le script d’installation pour tout remettre en ordre. Comme vous avez noté le mot de passe (et ré-installé MySQL avec le même), exécutez cette commande

sudo ./install.sh -m MOT_DE_PASSE_MYSQL

Avez-vous aimé cet article ?