Interface web Roundcube cassée après migration 11

:fr:

Mon serveur YunoHost

Matériel: Vieil ordinateur
Version de YunoHost: 11.0.9.9
J’ai accès à mon serveur : En SSH | Par la webadmin | En direct avec un clavier/écran | …
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Bonjour,
Je partage ici un problème que j’ai résolu, en me disant que la migration vers ynh11 ou roundcube 1.6.0-ynh1 posera peut-être le même soucis à d’autres.

J’ai trois instances de roundcube sur un serveur. La première fonctionne très bien, même après la migration vers ynh11, et la mise à jour vers 1.6.0-ynh1, mais les deux autres ont l’interface web cassée.
Je peux toujours recevoir et envoyer des mails depuis thunderbird, mais ne peux rien faire depuis un navigateur, où j’ai ce message d’erreur :

J’ai essayé de supprimer les tables en trop dans phpmyadmin, comme le propose ce fil, Mais sans succès.
En regardant dans les logs, j’ai ça :

nano /var/www/roundcube__3/logs/errors.log

...
[25-Aug-2022 11:33:09 Europe/Berlin] PHP Fatal error:  Uncaught Error: Class 'Httpful\Bootstrap' not found in /var/www/roundcube__3/plugins/carddav/carddav_common.php:25
Stack trace:
#0 /var/www/roundcube__3/plugins/carddav/carddav_backend.php(22): require_once()
#1 /var/www/roundcube__3/plugins/carddav/carddav.php(122): require_once('/var/www/roundc...')
#2 /var/www/roundcube__3/program/lib/Roundcube/rcube_plugin_api.php(105): carddav->init()
#3 /var/www/roundcube__3/program/include/rcmail.php(153): rcube_plugin_api->init()
#4 /var/www/roundcube__3/program/include/rcmail.php(86): rcmail->startup()
#5 /var/www/roundcube__3/index.php(43): rcmail::get_instance()
#6 {main}
  thrown in /var/www/roundcube__3/plugins/carddav/carddav_common.php on line 25		

J’ai regardé s’il ne manquait pas le dossier vendor, comme évoqué ici, mais il est bien là.

J’ai regardé s’il y avait des différences entre les dossiers du roundcube qui fonctionne et celui qui ne fonctionne pas :

// Le roundcube qui fonctionne :
root@serveur:/var/www/roundcube# ls -l
total 3316
drwxr-x---  2 roundcube www-data    4096 22 août  18:16 bin
-rw-r-----  1 roundcube www-data  186666  8 févr.  2021 CHANGELOG
-rw-r-----  1 roundcube www-data  206050 23 juil. 22:17 CHANGELOG.md
-rw-r-----  1 roundcube www-data    1150 22 août  18:16 composer.json
-rw-r-----  1 roundcube www-data    1086 23 juil. 22:17 composer.json-dist
-rw-r-----  1 roundcube www-data  118079 22 août  18:16 composer.lock
-rwxr-xr-x  1 root      root     2719975 22 août  18:16 composer.phar
drwxr-x---  2 roundcube www-data    4096 22 août  18:16 config
-rw-r-----  1 roundcube www-data   11368 22 août  18:16 index.php
-rw-r-----  1 roundcube www-data   11199 23 juil. 22:17 index.php.orig
-rw-r-----  1 roundcube www-data   12661 23 juil. 22:17 INSTALL
drwxr-x---  3 roundcube www-data    4096 22 août  18:16 installer
-rw-r-----  1 roundcube www-data    4298 23 juil. 22:17 jsdeps.json
-rw-r-----  1 roundcube www-data   35147 23 juil. 22:17 LICENSE
drwxr-x---  2 roundcube www-data    4096 25 août  11:24 logs
drwxr-x--- 39 roundcube www-data    4096 22 août  18:16 plugins
drwxr-x---  9 roundcube www-data    4096 23 juil. 22:17 program
drwxr-x---  3 roundcube www-data    4096 22 août  18:16 public_html
-rw-r-----  1 roundcube www-data    3853 23 juil. 22:17 README.md
-rw-r-----  1 roundcube www-data     967 23 juil. 22:17 SECURITY.md
drwxr-x---  5 roundcube www-data    4096 23 juil. 22:17 skins
drwxr-x---  7 roundcube www-data    4096 23 juil. 22:17 SQL
drwxr-x---  3 roundcube www-data    4096 22 août  18:16 temp
-rw-r-----  1 roundcube www-data    4657 23 juil. 22:17 UPGRADING
drwxr-x--- 15 roundcube www-data    4096 22 août  18:16 vendor


// Le roundcube qui ne fonctionne pas :
root@serveur:/var/www/roundcube__3# ls -l
total 3332
drwxr-x---  2 roundcube__3 www-data    4096 22 août  18:18 bin
-rw-r-----  1 roundcube__3 www-data  186666  8 févr.  2021 CHANGELOG
-rw-r-----  1 roundcube__3 www-data  206050 23 juil. 22:17 CHANGELOG.md
-rw-r-----  1 roundcube__3 www-data    1188 22 août  18:19 composer.json
-rw-r-----  1 roundcube__3 www-data    1086 23 juil. 22:17 composer.json-dist
-rw-r-----  1 roundcube__3 www-data  134337 22 août  18:19 composer.lock
-rwxr-xr-x  1 root         root     2719975 22 août  18:19 composer.phar
drwxr-x---  2 roundcube__3 www-data    4096 22 août  18:19 config
-rw-r-----  1 roundcube__3 www-data   11368 22 août  18:18 index.php
-rw-r-----  1 roundcube__3 www-data   11199 23 juil. 22:17 index.php.orig
-rw-r-----  1 roundcube__3 www-data   12661 23 juil. 22:17 INSTALL
drwxr-x---  3 roundcube__3 www-data    4096 22 août  18:18 installer
-rw-r-----  1 roundcube__3 www-data    4298 23 juil. 22:17 jsdeps.json
-rw-r-----  1 roundcube__3 www-data   35147 23 juil. 22:17 LICENSE
drwxr-x---  2 roundcube__3 www-data    4096 25 août  11:42 logs
drwxr-x--- 40 roundcube__3 www-data    4096 22 août  18:18 plugins
drwxr-x---  9 roundcube__3 www-data    4096 23 juil. 22:17 program
drwxr-x---  3 roundcube__3 www-data    4096 22 août  18:18 public_html
-rw-r-----  1 roundcube__3 www-data    3853 23 juil. 22:17 README.md
-rw-r-----  1 roundcube__3 www-data     967 23 juil. 22:17 SECURITY.md
drwxr-x---  5 roundcube__3 www-data    4096 23 juil. 22:17 skins
drwxr-x---  7 roundcube__3 www-data    4096 23 juil. 22:17 SQL
drwxr-x---  3 roundcube__3 www-data    4096 22 août  18:18 temp
-rw-r-----  1 roundcube__3 www-data    4657 23 juil. 22:17 UPGRADING
drwxr-x--- 24 roundcube__3 www-data    4096 22 août  18:19 vendor

On voit qu’il y a quelques différences, (composer.json et composer.lock sont plus lourds dans le roundcube qui ne marche pas) mais le dossier vendor a le même poids.

Je tente donc de copier le dossier du roundcube qui fonctionne, et de le mettre aussi pour le roundcube qui ne marche pas :

// renommage du roundcube qui ne marche pas :
mv roundcube__3 roundcube__3__old
// copiage du rouncube qui marche :
cp -R roundcube roundcube__3
// on remet tout comme il faut :
chown -R roundcube__3:www-data roundcube__3
chown root:root roundcube__3/composer.phar

Après ça, l’accès au webmail depuis un navigateur est de nouveau possible. Lorsque je me connecte la première fois, il me redemande les infos du compte (nom du compte, adresse mail, qui est proposée avec @localhost, …). Je retrouve l’accès total sans problème.

Peut-être y a-t-il une autre solution moins barbare de résoudre le problème ?
Comment se fait-il que les trois roundcube n’aient pas suivi les mêmes migrations, que deux soient cassés sur trois ?

Hello,

Je ne sais pas si ça répondra précisément à ton cas mais j’ai eu un soucis similaire sur une installation toute fraiche ([Résolu] Roundcube : Identification du compte par le domaine "localhost" - #7 by bidroik).

Le “yunohoster” Nounix a trouvé une problématique d’install de dépendances qui est maintenant corrigée via l’issue 153.

J’avais le même symptôme que toi sans pouvoir te confirmer que la cause est la même.

A+

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