Problème de mise à jour Spip

What type of hardware are you using: Virtual machine
What YunoHost version are you running: 12.0.9
What app is this about: spip

Describe your issue

Bonjour

En faisant la mise à jour vers spip 4.3.3 depuis Yunohost, cela m’a installé un spip vide. Je soupçonne Yunohost de ne pas réussir à accéder à la base de donnée, ni aux fichiers. L’ancienne BDD existe toujours, mais une nouvelle a été créée.

J’ai ensuite tenté de faire une mise à jour manuelle en écrasant les anciens fichiers avec la version 4.3.5, mais du coup l’installeur de spip n’accès pas au répertoire config et ne peut pas commencer la mise à jour

Est-ce que quelqu’un aurait une solution ? Merci

Merci

Share relevant logs or error messages

Les répertoires suivants n’ont pas été trouvés :

config

Il est probable que cela soit dû à un problème de mauvaise mise en majuscules ou minuscules. Vérifiez que les minuscules et majuscules de ces répertoires concordent bien avec ce qui est affiché ci-dessus ; si ce n’est pas le cas, renommez les répertoires avec votre logiciel FTP de façon à corriger l’erreur.

Je me réponds à moi-même : il manquait une librairie sqlite sur le serveur

bonjour, est-ce que tu as pu résoudre ?

Tu as du rajouter un paquet sqlite3 ? ou php8.2-sqlite3 ? bizarre spip devrait utiliser mariadb et donc mysql ???

Est-ce possible d’avoir des logs de l’upgrade ?

les deux paquets. Et spip peut utiliser les deux, mysql et sqlite, mais j’avais un backup sqlite

Et sur l’autre problème, la lecture du dossier config, je ne sais pas trop. Dans nginx, il y a une règle qui empêche de lire le répertoire config ; je l’avais commenté en entier mais ça n’avait rien fait tout de suite. Peut-être d’avoir seulement enlever config, ça a marché :

#location ~^/(tmp|config|\.ht)/{
location ~^/(tmp|\.ht)/{
     deny all;
}

Et sur les logs, est-ce que c’est ça que tu veux ?

2024-12-19 10:16:53,337: INFO - [###############++...] > Updating a configuration file...
2024-12-19 10:16:53,339: DEBUG - + '[' '!' -f /var/www/spip/config/connect.php ']'
2024-12-19 10:16:53,339: DEBUG - + ynh_secure_remove --file=/var/www/spip/config/connect.php.ynh_bkp
2024-12-19 10:16:53,355: DEBUG - + ynh_store_file_checksum --file=/var/www/spip/config/connect.php
2024-12-19 10:16:53,355: DEBUG - + update_only=0
2024-12-19 10:16:53,370: DEBUG - ++ md5sum /var/www/spip/config/connect.php
2024-12-19 10:16:53,371: DEBUG - ++ cut '--delimiter= ' --fields=1
2024-12-19 10:16:53,371: DEBUG - + ynh_app_setting_set --app=spip --key=checksum__var_www_spip_config_connect.php --value=fc751c43edac7d15052102d2cdf7da56
2024-12-19 10:16:53,451: DEBUG - + '[' -n /var/cache/yunohost/appconfbackup//var/www/spip/config/connect.php.backup.20241219.101636 ']'
2024-12-19 10:16:53,451: DEBUG - + diff --report-identical-files --unified --color=always /var/cache/yunohost/appconfbackup//var/www/spip/config/connect.php.backup.20241219.101636 /var/www/spip/config/connect.php
2024-12-19 10:16:53,452: WARNING - e[1m--- /var/cache/yunohost/appconfbackup//var/www/spip/config/connect.php.backup.20241219.101636	2024-02-13 12:37:31.652688243 +0100e[0m
2024-12-19 10:16:53,454: WARNING - e[1m+++ /var/www/spip/config/connect.php	2024-12-19 10:16:43.974632192 +0100e[0m
2024-12-19 10:16:53,456: WARNING - e[36m@@ -2,5 +2,4 @@e[0m
2024-12-19 10:16:53,458: WARNING -  if (!defined("_ECRIRE_INC_VERSION")) return;
2024-12-19 10:16:53,459: WARNING -  defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE',true);
2024-12-19 10:16:53,461: WARNING -  $GLOBALS['spip_connect_version'] = 0.8;
2024-12-19 10:16:53,463: WARNING - e[31m-spip_connect_db('localhost','',Là ce sont mes codes de connexion avec mon mode de passe,'mysql', 'spip','','utf8');e[0m
2024-12-19 10:16:53,465: WARNING - e[31m-?>e[0m
2024-12-19 10:16:53,466: WARNING - e[32m+spip_connect_db('localhost','','spip','**********','spip','mysql', 'spip','','utf8');e[0m
2024-12-19 10:16:53,468: DEBUG - + true
2024-12-19 10:16:53,510: INFO - [####################] > Upgrade of spip completed
2024-12-19 10:16:53,511: DEBUG - + ynh_exit_properly
2024-12-19 10:16:53,511: DEBUG - + [[ upgrade =~ ^install$|^upgrade$|^restore$ ]]
2024-12-19 10:16:53,613: DEBUG - Checking that required services are up and running...
2024-12-19 10:16:54,184: SUCCESS - spip upgraded

on me souffle à l’oreille que le problème viendrait peut-être du fait que la mise à jour est faite pour yunohost 11, et pas 12 (qui est + sécurisé)
Et peut-être aussi que Spip n’est pas bien adapté à Nginx, puisque ça utilise htaccess qui est obsolète sous Nginx

Le paquet Yunohost est fait normalement pour utiliser mysql et mariadb, je trouve cela curieux…

on voit bien ici qu’il s’agit de mysql pour la DB, donc pas sqlite !

WARNING - e[32m+spip_connect_db('localhost','','spip','**********','spip','mysql', 'spip','','utf8');e[0m

Par contre je ne comprends pas bien cela [32m et e[0m

e[32m+spip_connect_db('localhost','','spip','**********','spip','mysql', 'spip','','utf8');e[0m

Comment est le fichier config/connect.php ?

nginx doit pouvoir lire le dossier config où se trouve le dossier config/mes_options.php où justement on dit à l’application de ne pas utiliser apache, donc nécessaire pour nginx

Il y a d’autres applications dans Yunohost avec des .htaccess, mais ignorés car on n’utilise pas apache2 en effet mais nginx.

Autre chose, spip doit fonctionner avec yunohost 12, vu ce message

Normalement tu peux vérifier si la database est bien mysql avec mariadb

mysql -u root
MariaDB [(none)]> SHOW databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| spip               |
+--------------------+
4 rows in set (0,006 sec)
MariaDB [(none)]> quit;
Bye

Tu devrais avoir quelquechose dans le genre dans /var/www/spip/config/connect.php

cat /var/www/spip/config/connect.php 
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE',true);
$GLOBALS['spip_connect_version'] = 0.8;
spip_connect_db('localhost','','spip','xxxxxxxxxxxxxxx','spip','mysql', 'spip','','utf8');

mon backup était sous sqlite, donc je devais l’installer.
Mais le problème est maintenant résolu (et oui, comme je le met dans l’intro, je suis sur ynh12 et j’ai plusieurs spip qui tournent)

Ok, je conseillerai quand même de convertir la base de données en mysql !

Un tutoriel officiel de SPIP ici explique une procédure:

Le paquet Yunohost a du créer la base de données mysql avec un user et un mot de passe que tu retrouves dans /etc/yunohost/apps/spip/settings.yml

https://contrib.spip.net/Passage-de-SQLite-a-MySQL-et-reciproque

Sauf que d’installer leur plugin ne doit pas être possible de la même façon…
J’imagine avec cette méthode SPIP-Cli sur serveur mutualisé - momh en considérant que le $USER est spip, du coup en créant un dossier .local/bin dans le dossier de l’application avec l’user SPIP j’imagine !

On doit pouvoir se connecter en shell à l’instance spip avec cette commande

yunohost app shell spip

Tous les SPIP tournent avec SQL ou juste un site ?

ok, non

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.