J ai profité de cet été pour mettre à jour ma box jeedom , cela fait plus d’un an qu’elle tourne sous debian 8 et php 5 Il était temps de la faire évoluer. Dans cet article , je vais expliquer comment installer Jeedom sur une plateforme Odroid C2 , avec Debian en version 9 et PHP 7. Mes précédents articles qui traitaient de ce sujet sont devenus en grande partie obsolète.
- Sauvegarde du Jeedom existant ( si votre box est déjà fonctionnel )
- Installation de Debian / configuration
- Installation Jeedom
- Récupération des données de l’ancien Jeedom
- Conclusion
Sauvegarde Jeedom Existant
Avant de commencer , il faut effectuer une sauvegarde de votre jeedom existant , pour cela il faut :
- Aller dans le menu sauvegarde de Jeedom et lancer un backup
- uploader cette sauvegarde et la mettre en lieu sûr.
- Par sécurité , vous pouvez aussi réaliser une copie de sauvegarde de votre système existant. Sous Windows , il est possible d’utiliser le programme Win32 disk imager , sous mac il suffit d’ouvrir la fenêtre du terminal et de taper les commandes suivantes :
// la commande diskutil , afin de repérer sa carte SD
diskutil list
// si SDcard en disk3
sudo dd if=/dev/disk3 of=~/BackupCarteSD.dmg
// Une copie bit à bit de votre carte sera envoyé dans votre dossier personnel ( attention environ 30 mn pour 8 Go )
Installation de Debian 9 ( Stretch ) / Configuration
Les sauvegarde, en lieux sur , je récupère l’image sur le site Armbian : https://www.armbian.com/odroid-c2/
J’ai le choix , entre la version legacy ou mainline , je choisis la version mainline plus dédié à une utilisation en mode serveur ( le bureau n’est pas installé ). La version Mainline , existe avec une option desktop ( qui permet de lancer un bureau léger , si besoin ) , travaillant en ssh , je n’ai pas utilité de ce bureau.
Pour plus de détail , il y a la documentation officiel : lhttps://docs.armbian.com/User-Guide_Getting-Started/
Pour transférer l’image sur la carte SD , j’utilise le programme ETCHER (disponible sur toutes les plateformes ).
Une fois la carte installé , je demarre l’odroid, on se logue en ssh en admin et mot de passe 1234.
Au premièr démarrage , le système demande de changer le mot de passe , et je crée mon nouvel utilisateur : jeedom.
Puis on met a jour le système : ( en mode sudo )
apt-get update
apt-get upgrade
Je configure mes paramètres locale en utilisant la commande : armbian-config plus de détail sur les différents paramètres : voir doc
Dans le menu « personal » je modifie timezone et locale ( FR-UTF8 ). Puis je redemarre.
Le système est prét à installer Jeedom , Mon Odroid , tourne avec une memoire emmc , je remet mon emmc en place ( en ayant pris soin d’effacer l’ancien systeme ) , puis je démarre mon Odroid.
Afin de copier mon nouveau système sur ma carte emmc , et lui demander de booter sur le disque emmc , il faut taper la commande suivante :
sudo nand-sata-install
Qui permettra de transférer le système de la carte SD sur le disque emmc.
Environ 15 minutes pour copier le system sur la memoire emmc.
Arreter l'odroid , enlever le carde SD et laisser seulement la carte Emmc .Puis on redémarre.
L'installation de jeedom peut commencer.
[adsense]
Installation Jeedom
L’installation de jeedom , sa fait en ligne de commande , sous le compte utilisateur précédemment crée. Lancer la commande install en sudo.
wget https://raw.githubusercontent.com/jeedom/core/stable/install/install.sh
chmod +x install.sh
sudo ./install.sh
Une fois le script lancé , prenez votre mal en patience , il faut compter environ 30 minutes.
Il va y avoir 11 étapes , au total plus ou moins longues.
Etape 1 : Mise a jour du systeme si besoin et verification
Etape 2 : Installation des paquets necessaires
Etape 3 : installation de la base de donnée Maria DB
Etape 4 : installation du serveur Apache
Etape 5 : installation de PHP ( en version 7 )
Etape 6 : Telechargement de jeedom
Etape 7 : Personalisation jeedom
Etape 8 : Configuration jeedom
Etape 9 : Installation de jeedom
Etape 10 : Post jeedom
Etape 11 : Verification de jeedom
================================================== | JEEDOM SICK SCRIPT 2018-08-05 08:23:40 | ================================================== ************************************************** * VARIABLES * ************************************************** Dossier d'installation : /var/www/html User : root Sudo : OUI ************************************************** * DOSSIERS * ************************************************** Charge l'environnement de Jeedom...OK Vérifie si les log sont en écriture...OK ************************************************** * UTILISATEURS * ************************************************** admin => Admin ************************************************** * CRON * **************************************************
Vérifie si cron est actif...OK Vérifie si scenario est actif...OK
NAME | STATE | SCHEDULE | DEAMON | ONCE | LAST RUN plugin::cronDaily() | stop | 00 00 * * * * | 0 | 0 | jeedom::backup() | stop | 19 07 * * * | 0 | 0 | plugin::cronHourly() | stop | 00 * * * * * | 0 | 0 | scenario::check() | stop | * * * * * * | 0 | 0 | scenario::control() | stop | * * * * * * | 0 | 0 | jeedom::cronDaily() | stop | 00 00 * * * * | 0 | 0 | jeedom::cronHourly() | stop | 00 * * * * * | 0 | 0 | jeedom::cron5() | stop | */5 * * * * * | 0 | 0 | jeedom::cron() | stop | * * * * * * | 0 | 0 | plugin::cron() | stop | * * * * * * | 0 | 0 | plugin::cron5() | stop | */5 * * * * * | 0 | 0 | plugin::cron15() | stop | */15 * * * * * | 0 | 0 | plugin::cron30() | stop | */30 * * * * * | 0 | 0 | plugin::checkDeamon() | stop | */5 * * * * * | 0 | 0 | cache::persist() | stop | */30 * * * * * | 0 | 0 | history::archive() | stop | 00 5 * * * * | 0 | 0 | ************************************************** * DATE * ************************************************** Vérifie si la date de Jeedom est bonne...OK () ************************************************** * MESSAGE * ************************************************** DATE | PLUGIN | LOGICALID | MESSAGE ************************************************** * PLUGIN * ************************************************** ID | NAME | STATE ================================================== | TOUTES LES VERIFICATIONS SONT FAITES | ================================================== étape 11 vérification de jeedom réussie /!\ IMPORTANT /!\ Le mot de passe root MySQL est e3ab12345678ad Installation finie. Un redémarrage devrait être effectué
A la fin du script , garder une copie des clés de votre installation ( en cas de panne ). Il suffit de redémarrer votre Odroid.
Le serveur jeedom est enfin opérationnel , il suffit de se connecter avec le compte admin par défaut : admin / admin
Restauration de la sauvegarde jeedom
Dans le menu sauvegarde on envoie le fichier de sauvegarde précédemment sauvegardé. On le selectionnne puis on restaure , encore quelques minutes de patience et le serveur jeedom à récupéré l’ancienne configuration.
Il se peut que quelques plugins soit en erreur , il faudra relancer les dépendances.
Conclusions
La mise à niveau sous débian 9 , est assez facile à faire , si on respecte bien toutes les étapes , compter environ deux bonnes heures , si tout se passe bien. Si vous avez beaucoup de plugin installé , il se peut que la restauration dure plus longtemps , surtout si toutes les dépendances doivent se réinstaller.
On ne gagne pas forcément en vitesse , mais on y gagne en stabilité et cela permettra de supporter les futurs mise à jour.
J’avais prévu , de le faire passer sous PHP 7.2 , mais à ce jour Jeedom , n’est pas compatible avec cette version. Cela fera l’occasion d’un nouvel article , lorsque Jeedom supportera cette version.
Le support de PHP 7.2 , sera prévu avec la version 4 de Jeedom.