Bonjour à tous,
Aujourd’hui j’ai tenté une fresh install de Jeedom sur Debian 12.
Suite au post Impossible de démarrer mariadb lors de l'installation Jeedom sur Debian 12,
je m’attendais à rencontrer des problèmes et je n’ai pas été déçu
Déjà, je suis parti sur un ISO Debian 12.1.0 disponible ici.
Ensuite, il faut bien télécharger l’installeur de l’alpha et lancer une installation de l’alpha :
wget https://raw.githubusercontent.com/jeedom/core/alpha/install/install.sh
chmod +x install.sh
./install.sh -v alpha
Lors de l’étape 2, premier « blocage » :
Starting step 2 - packages
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
software-properties-common is already the newest version (0.99.30-4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Adding component(s) 'non-free' to all repositories.
Press [ENTER] to continue or Ctrl-c to cancel.
Il faut donc faire ENTRER, bien que normalement il n’y a rien à faire lors de l’install.
Je suggère donc de modifier l’installer ici :
et de transformer la ligne en :
add-apt-repository -y non-free
Sinon, jusque ici, tout va bien !
Le vrai premier problème apparait lors de l’étape 6 :
Starting step 7 - mariadb customization
● mariadb.service - MariaDB 10.11.3 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/system/mariadb.service.d
└─override.conf
Active: activating (auto-restart) (Result: exit-code) since Sat 2023-08-19 17:12:05 CEST; 12ms ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 29076 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 29077 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 29079 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [>
Process: 29177 ExecStart=/usr/sbin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
Main PID: 29177 (code=exited, status=1/FAILURE)
Status: "MariaDB server is down"
CPU: 118ms
Aug 19 17:12:05 jeedom-last-alpha-12 systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Aug 19 17:12:05 jeedom-last-alpha-12 systemd[1]: mariadb.service: Failed with result 'exit-code'.
Aug 19 17:12:05 jeedom-last-alpha-12 systemd[1]: Failed to start mariadb.service - MariaDB 10.11.3 database server.
Cannot start mariadb - Cancelling
En effet, d’après les logs, mariadb ne démarre pas, car InnoDB ne semble pas/plus supporté ?!
Aug 19 17:10:40 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:40 0 [Note] Starting MariaDB 10.11.3-MariaDB-1 source revision as process 28308
Aug 19 17:10:40 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:40 0 [Note] InnoDB: Compressed tables use zlib 1.2.13
Aug 19 17:10:40 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:40 0 [Note] InnoDB: Number of transaction pools: 1
Aug 19 17:10:40 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:40 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
Aug 19 17:10:40 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:40 0 [Note] InnoDB: Using liburing
Aug 19 17:10:40 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:40 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
Aug 19 17:10:40 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:40 0 [Note] InnoDB: Completed initialization of buffer pool
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [ERROR] InnoDB: File ./ib_logfile0 was not found
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [Note] InnoDB: Starting shutdown...
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [ERROR] Plugin 'InnoDB' init function returned error.
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [Note] Plugin 'FEEDBACK' is disabled.
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [Warning] 'innodb-large-prefix' was removed. It does nothing now and exists only for compatibility with old my.cnf files.
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [ERROR] Unknown/unsupported storage engine: InnoDB
Aug 19 17:10:41 jeedom-last-alpha-12 mariadbd[28308]: 2023-08-19 17:10:41 0 [ERROR] Aborting
Aug 19 17:10:41 jeedom-last-alpha-12 systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Rien de bien méchant, une recherche Google plus tard, j’ajouter à la ligne 204 du script d’installation :
echo "default-storage-engine=myisam" >> /etc/mysql/conf.d/jeedom_my.cnf
C’est ensuite à l’étape 10 que l’installation coince :
Starting step 10 - Jeedom install
[START INSTALL]
****Install jeedom at (2023-08-19 17:24:58)****
Installation of Jeedom
Installating database...***ERROR***
SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown storage engine 'InnoDB'
SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown storage engine 'InnoDB'
[...]
SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown storage engine 'InnoDB'
OK
PHP Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'jeedom.config' doesn't exist in /var/www/html/core/class/DB.class.php:84
Stack trace:
#0 /var/www/html/core/class/DB.class.php(84): PDOStatement->execute()
#1 /var/www/html/core/class/config.class.php(192): DB::Prepare()
#2 /var/www/html/core/class/translate.class.php(51): config::byKeys()
#3 /var/www/html/core/class/translate.class.php(207): translate::getConfig()
#4 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
#5 /var/www/html/core/class/translate.class.php(81): translate::exec()
#6 /var/www/html/core/class/translate.class.php(220): translate::sentence()
#7 /var/www/html/core/config/jeedom.config.php(23): __()
#8 /var/www/html/core/php/utils.inc.php(84): require_once('...')
#9 /var/www/html/core/php/core.inc.php(27): include_file()
#10 /var/www/html/install/install.php(53): require_once('...')
#11 {main}
thrown in /var/www/html/core/class/DB.class.php on line 84
Error during install :
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'jeedom.config' doesn't exist
[...]
[END INSTALL ERROR]
Cannot install Jeedom - Cancelling
Je n’ai pas analysé plus profondément la source du problème, mais le « petit fix » de l’étape 6 n’est pas adéquat/suffisant, car il reste des traces d’InnoDB.
Probablement quelque chose à voir avec cette ligne, que j’investiguerai plus tard :
/var/www/html/core/class/DB.class.php:651: $_table['engine'] = 'InnoDB';
Bad