[Tuto] Installer Jeedom sur un NAS Asustor avec Linux Center

Nombreux sont ceux qui veulent s'orienter sur Jeedom pour leur box Domotique. Perso, j'ai opté pour Domoticz, mais je peux comprendre que Jeedom séduise pas mal de monde. Il peut alors être intéressant d'installer sa box domotique sur son NAS. En effet,  celui-ci tourne 24h/24 et cela évite d'ajouter un appareil supplémentaire type Raspberry Pi ou tout autre nano PC compatible. Mais voilà, si l'on trouve sans problème l'application Domoticz dans AppCentral (le store d'application des NAS Asustor), pour Jeedom c'est différent. Il n'y a, en effet, pas de package prêt à l'emploi et installable en un clic, ce qui est fort dommage. C'est pourquoi aujourd'hui je vous propose un tutoriel complet sur l'installation de Jeedom sur un NAS Asustor, grâce à l'application Linux Center.

Installer Jeedom sur un NAS Asustor

Installer Jeedom sur un NAS Asustor

 

Installation de Linux Center

Pour faire tourner notre solution Jeedom, on va utiliser un environnement virtuel. Mais plutôt que de monter une machine complète avec Virtual Box, on va se servir de Linux Center, une application très pratique que je vous ai présentée récemment et qui permet de créer un conteneur Linux, pour y faire tourner toute sorte d'application Linux.

Pour cette étape, je vous renvoie à mon tutoriel vidéo concernant Linux Center :

 

Installation de Jeedom sur un NAS Asustor

Avant de se lancer dans le tutoriel complet, voici en quelques minutes une vidéo tuto qui va vous présenter ce que nous allons faire dans cet article !

 

Préparation de l'environnement Linux

Passons maintenant aux choses sérieuses et voyons comment installer notre solution domotique Jeedom dans notre conteneur Linux. La première chose à faire va être de se connecter en SSH sur le conteneur. Connectez-vous en premier à votre NAS et ouvrez Linux Center pour récupérer l'adresse IP de votre conteneur Linux. Pour mon exemple, il s'agit de l'adresse 192.168.1.176.

Linux Center : informations sur le conteneur Linux

Linux Center : informations sur le conteneur Linux

Utilisez ensuite un client SSH, comme par exemple PuTTY ou KiTTY pour vous connecter au conteneur : les identifiants sont admin/admin

Linux Center : connexion au conteneur via SSH

Linux Center : connexion au conteneur via SSH

Passez ensuite en mode root en saisissant la commande suivante :

# su

Un mot de passe va alors vous être demandé. Entrez simplement admin.

Une fois connecté en root, commencez par mettre à jour les sources de mises à jour ainsi que le conteneur via la commande suivante :

# apt-get update && apt-get upgrade

Validez avec Y lorsque la console vous demandera si vous souhaitez continuer.

Enfin, pour pouvoir télécharger le script d'installation de Jeedom, nous allons avoir besoin de l’utilitaire wget. Vous pouvez l'installer ainsi :

# apt-get install wget

Là encore, validez avec la touche y lorsque le terminal vous demande confirmation. Une fois que c'est fait, on va pouvoir s'attaquer à Jeedom.

 

Installation de Jeedom

L'installation de Jeedom va être relativement simple puisqu'elle passe par un unique script que l'on va récupérer à l'aide de l'instruction suivante :

# wget

Linux Center : téléchargement du script d'installation de Jeedom

Linux Center : téléchargement du script d'installation de Jeedom

On va ensuite rendre ce script exécutable à l'aide de la commande chmod  comme ceci :

# chmod +x install.sh

Linux Center : préparation du script d'installation de Jeedom

Linux Center : préparation du script d'installation de Jeedom

Et bien voilà, il ne nous reste plus qu'à lancer l'installation en exécutant le script et à patienter durant l'installation :

# ./install.sh

Linux Center : exécution du script d'installation de Jeedom

Linux Center : exécution du script d'installation de Jeedom

L'installation va prendre un certain temps puisque le script va installer toutes les briques nécessaires à Jeedom (serveur web, serveur php, etc.). Pour ma part cela a bien mis plus de 10-15 minutes sur un AS6204T. Il va donc falloir s'armer d'un peu de patience, ou bien faire autre chose en attendant.

Une fois que tout est terminé, si vous ne rencontrez pas d'erreur, vous devriez obtenir une écran comme celui ci-dessous :

Linux Center : installation de Jeedom terminée

Linux Center : installation de Jeedom terminée

La fin de l'installation nous indique qu'un redémarrage devrait être effectué. Nous allons donc redémarrer notre environnement en utilisant la commande reboot :

# reboot

Attention, cette action vous fera perdre la connexion SSH. Mais en principe vous n'en avez plus besoin ! 🙂

 

Connexion à l'interface Jeedom

Pour vérifier que tout est OK (et aussi pour commencer à paramétrer notre box domotique), nous allons nous connecter à l'interface Jeedom. Pour cela, c'est très simple, il suffit d'ouvrir un navigateur internet et de se connecter à l'adresse IP de notre conteneur Linux Center. Dans notre exemple, on saisira

  • Le nom d'utilisateur est : Admin (attention à ne pas oublier la majuscule)
  • Le mot de passe est : admin
La page de login de Jeedom

La page de login de Jeedom

On tombe alors sur la page d'accueil de Jeedom !

La page d'accueil de Jeedom

La page d'accueil de Jeedom

Et voilà ! Notre solution Jeedom est désormais opérationnelle et elle tourne sur notre NAS Asustor. Point pratique qu'il faut souligner : en cas de redémarrage du NAS, le conteneur Linux Center est redémarré également. Votre solution domotique devrait donc être maintenant exploitable. Il ne vous reste plus qu'à connecter vos différents périphériques, installer vos plugins et tout paramétrer aux petits oignons !

 

Sandstorm

Ingénieur Systèmes passionné d'informatique et de High-Tech, Sandstorm a créé JusteGeek.fr en 2013. Il aime les geekeries en tout genre. "Si un produit s'allume c'est un bon point. S'il est connecté, c'est encore mieux !"

Vous aimerez aussi...

19 réponses

  1. spam38 dit :

    Bonjour,
    Voulant suivre votre super tuto, je n'ai pas pu arriver au bout car le script d'installation de jeedom n'existe apparemment plus ... Avez-vous une solution ?

  2. Fernand dit :

    Bonjour je confirme ça ne fonctionne pas non plus avec le nouveau lien. Dommage...

  3. benny__02 dit :

    Bonjour,

    ci-joint l'erreur de l étape 5.

    Commence l'étape 5 php
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package php7.0
    E: Couldn't find any package by regex 'php7.0'
    E: Unable to locate package php7.0-curl
    E: Couldn't find any package by regex 'php7.0-curl'
    E: Unable to locate package php7.0-gd
    E: Couldn't find any package by regex 'php7.0-gd'
    E: Unable to locate package php7.0-imap
    E: Couldn't find any package by regex 'php7.0-imap'
    E: Unable to locate package php7.0-json
    E: Couldn't find any package by regex 'php7.0-json'
    E: Unable to locate package php7.0-mcrypt
    E: Couldn't find any package by regex 'php7.0-mcrypt'
    E: Unable to locate package php7.0-mysql
    E: Couldn't find any package by regex 'php7.0-mysql'
    E: Unable to locate package php7.0-xml
    E: Couldn't find any package by regex 'php7.0-xml'
    E: Unable to locate package php7.0-opcache
    E: Couldn't find any package by regex 'php7.0-opcache'
    E: Unable to locate package php7.0-soap
    E: Couldn't find any package by regex 'php7.0-soap'
    E: Unable to locate package php7.0-xmlrpc
    E: Couldn't find any package by regex 'php7.0-xmlrpc'
    E: Unable to locate package libapache2-mod-php7.0
    E: Couldn't find any package by regex 'libapache2-mod-php7.0'
    E: Unable to locate package php7.0-common
    E: Couldn't find any package by regex 'php7.0-common'
    E: Unable to locate package php7.0-dev
    E: Couldn't find any package by regex 'php7.0-dev'
    E: Unable to locate package php7.0-zip
    E: Couldn't find any package by regex 'php7.0-zip'
    E: Unable to locate package php7.0-ssh2
    E: Couldn't find any package by regex 'php7.0-ssh2'
    E: Unable to locate package php7.0-mbstring
    E: Couldn't find any package by regex 'php7.0-mbstring'
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package php5-mbstring
    Ne peut installer libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-json php5-memcached php5-mysqlnd php5-cli php5-ssh2 php5-redis php5-mbstring - Annulation
    root@LXC_NAME:/home/admin

    • Sandstorm dit :

      Inutile d'installer un serveur php sur le NAS. Ce serveur doit être installé dans le container Linux Center.
      Le script essai d'installer php7.0 mais apparemment il n'y arrive pas...
      Jeedom a du modifier son script et depuis... Au pire, essaie de voir pour installer manuellement php en ligne de commande dans linux center, avant de relancer le script jeedom 😉

  4. Titi 9291 dit :

    Bonjour. Malheureusement il semblerait que Linux center ne sois plus disponible dans App central pour les nas asustor as602t sous ADM 3.2.7.RRE3. Savez vous si malgré tout je peux installer Jeedom? Ou Linux Center ?
    Merci par avance.

  5. Titi9291 dit :

    Bonjour. Personne n'a d'infos?
    Merci

    • Sandstorm dit :

      Je n'ai pas d'infos sur des éventuelles restrictions en fonction es modèles de NAS. Sinon, tu peux peut être voir si VirtualBox est dispo et si oui, tu peux mettre Jeedom dans une machine virtuelle VirtualBox...

  6. Ludo dit :

    J'ai résolu le problème en faisant:
    wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
    echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
    sudo apt-get update

    puis j'ai refait ./install.sh

    je crois que ça install des sources où aller chercher les librairies et modules manquants.

    Je n'y connais absolument rien donc merci à l'auteur pour le tuto Linux Center et celui-ci!

    • Ludo dit :

      J'ai également eu un problème plus tard de connect avec MySQL, je l'ai donc supprimé et relancé le install.sh
      sudo apt-get purge mysql-common

      L'installation est enfin complète 🙂

  7. eole35 dit :

    Bonsoir
    malgré l'ajout de source comme evoqué ci dessus cela ne foctione pas

    Commence l'étape 5 php
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Note, selecting 'php-ssh2' instead of 'php7.0-ssh2'
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    libapache2-mod-php7.0 : Depends: php7.0-cli but it is not going to be installed
    Depends: apache2-bin (>= 2.4.16) but 2.4.10-10+deb8u14 is to be installed
    php7.0-dev : Depends: libpcre3-dev (>= 2:8.35) but it is not going to be installed
    Depends: php7.0-cli (>= 7.0.33-8+0~20190531121058.14+stretch~1.gbpe7d4ff) but it is not going to be installed
    Depends: libtool (>= 2.4.6-0.1~) but it is not going to be installed
    Recommends: pkg-php-tools but it is not going to be installed
    php7.0-gd : Depends: libgd3 (>= 2.1.1) but 2.1.0-5+deb8u13 is to be installed
    Depends: libpng16-16 (>= 1.6.2-1) but it is not installable
    Depends: libwebp6 (>= 0.5.1) but it is not installable
    php7.0-mcrypt : Depends: libltdl7 (>= 2.4.6) but 2.4.2-1.11+b1 is to be installed
    E: Unable to correct problems, you have held broken packages.
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package php5-mbstring
    Ne peut installer libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-json php5-memcached php5-mysqlnd php5-cli php5-ssh2 php5-redis php5-mbstring - Annulation

    peut on les ajouter manuellement?

    • eole35 dit :

      jai fait cette procedure et c'est passé pour l'étape numéro 5
      --> https://tecadmin.net/install-php7-on-debian/
      bonne installation

      • eole35 dit :

        lors de l'étape 9 ca plante
        ----------------------
        Commence l'étape 9 installation de jeedom
        [START INSTALL]
        ****Install jeedom from 3.3.26 (2019-06-19 16:02:20)****

        Installation de Jeedom 3.3.26
        Installation de la base de données...OK
        Post installation...
        [START CONSISTENCY]
        [START CHECK AND FIX DB]

        Fix : ALTER TABLE `cmd` DROP INDEX `genericType_eqLogicID`;
        Fix : ALTER TABLE `cron` DROP INDEX `class_function_option`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `unique`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `eqTypeName`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `name`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `logical_id`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `logica_id_eqTypeName`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `object_id`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `timeout`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `eqReal_id`;
        Fix : ALTER TABLE `eqLogic` DROP INDEX `generic_type`;
        Fix : ALTER TABLE `eqLogic` MODIFY COLUMN `order` int(11) NULL DEFAULT "1"
        Fix :
        CREATE UNIQUE INDEX `unique` ON `eqLogic` (`name` ASC,`object_id` ASC)
        Fix :
        CREATE INDEX `eqTypeName` ON `eqLogic` (`eqType_name` ASC)
        Fix :
        CREATE INDEX `name` ON `eqLogic` (`name` ASC)
        Fix :
        CREATE INDEX `logical_id` ON `eqLogic` (`logicalId` ASC)
        Fix :
        CREATE INDEX `logica_id_eqTypeName` ON `eqLogic` (`logicalId` ASC,`eqType_name` ASC)
        Fix :
        CREATE INDEX `object_id` ON `eqLogic` (`object_id` ASC)
        Fix :
        CREATE INDEX `timeout` ON `eqLogic` (`timeout` ASC)
        Fix :
        CREATE INDEX `eqReal_id` ON `eqLogic` (`eqReal_id` ASC)
        Fix : CREATE INDEX `logicalId` ON `eqLogic` (`logicalId` ASC)
        Fix :
        CREATE INDEX `generic_type` ON `eqLogic` (`generic_type` ASC)
        Fix : CREATE INDEX `tags` ON `eqLogic` (`tags` ASC)
        Fix : ALTER TABLE `interactQuery` DROP INDEX `query`;
        Fix : ALTER TABLE `listener` DROP INDEX `event`;
        Fix : ALTER TABLE `listener` MODIFY COLUMN `event` varchar(511) NULL
        Fix :
        CREATE INDEX `event` ON `listener` (`event`(255) ASC)
        Fix : CREATE TABLE IF NOT EXISTS `note` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `name` varchar(127) NULL,
        `text` text NULL,
        primary key(`id`))
        ENGINE InnoDB;

        Fix : CREATE INDEX `fk_3d_3dHeader1_idx` ON `plan3d` (`plan3dHeader_id` ASC)
        Fix : ALTER TABLE `plan3d` DROP INDEX `fk_plan3d_plan3dHeader1_idx`;
        Fix : ALTER TABLE `scenario` DROP INDEX `name`;
        Fix : ALTER TABLE `scenario` DROP INDEX `group`;
        Fix : ALTER TABLE `scenario` DROP INDEX `fk_scenario_object1_idx`;
        Fix : ALTER TABLE `scenario` DROP INDEX `trigger`;
        Fix : ALTER TABLE `scenario` DROP INDEX `mode`;
        Fix : ALTER TABLE `scenario` DROP INDEX `modeTriger`;
        Fix : ALTER TABLE `scenario` MODIFY COLUMN `trigger` varchar(511) NULL
        Fix : ALTER TABLE `scenario` MODIFY COLUMN `order` int(11) NULL
        Fix :
        CREATE UNIQUE INDEX `name` ON `scenario` (`group` ASC,`object_id` ASC,`name` ASC)
        Fix :
        CREATE INDEX `group` ON `scenario` (`group` ASC)
        Fix :
        CREATE INDEX `fk_scenario_object1_idx` ON `scenario` (`object_id` ASC)
        Fix :
        CREATE INDEX `trigger` ON `scenario` (`trigger`(255) ASC)
        Fix :
        CREATE INDEX `mode` ON `scenario` (`mode` ASC)
        Fix :
        CREATE INDEX `modeTriger` ON `scenario` (`mode` ASC,`trigger`(255) ASC)
        Fix : ALTER TABLE `user` MODIFY COLUMN `profils` varchar(127) NOT NULL DEFAULT "admin"[END CHECK AND FIX DB]
        Create plugin::cronDaily
        Create jeedom::backup
        Create plugin::cronHourly
        Create scenario::check
        Create scenario::control
        Create jeedom::cronDaily
        Create jeedom::cronHourly
        Create jeedom::cron5
        Create jeedom::cron
        Create plugin::cron
        Create plugin::cron5
        Create plugin::cron15
        Create plugin::cron30
        Create plugin::checkDeamon
        Create cache::persist
        Create history::archive
        Create plugin::heartbeat

        Check filesystem right...OK
        PHP Fatal error: Cannot use 'object' as class name as it is reserved in /var/www/html/core/class/object.class.php on line 22
        Ne peut installer jeedom - Annulation

  8. Florent dit :

    Bonjour, j'ai tenté de suivre votre tuto mais quand je tape "su -" ca me met "su : must be suid work properly". Pouvez-vous m'aider svp ?

  9. anzen dit :

    bonjour

    peux tu nous explique comment activer le dongle usb zigbee elelabs sur jeedom avec le plugin zigbee officiel jeedom installé.
    les usb du NAS asustor ne semble pas être reconnu
    je m'arrache les peu de cheveux qu'il me reste

    merci

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.