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 😉 )
Sommaire
Access denied for user ‘root’@’localhost’ (using password: NO) : l’erreur de la mort !
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 ? [Total: 1 Moyenne: 5]