Nextcloud ne fonctionne plus après migration vers Stretch

Mon serveur YunoHost

Matériel: Raspberry Pi à la maison
Version de YunoHost: 3.8.5
J’ai accès à mon serveur : En SSH
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Après la migration difficile vers Stretch (oui c’est tardif !), Cf. Migration partielle vers Stretch / Yunohost 3.x, Nextcloud ne fonctionne pas : Internal Server Error quand j’essaie d’y accéder en web.

Le fichier /var/www/nextcloud/config/config.php comporte bien le lien vers les données :
'datadirectory' => '/home/yunohost.app/nextcloud/data'

Exception dans /home/yunohost.app/nextcloud/data/nextcloud.log : (j’ai enlevé pleins de \)

{"reqId":"XzuB6juI4QThsrze4aFg","level":3,"time":"2020-12-29T11:39:09+00:00","remoteAddr":"10.0.0.148","user":"--","app":"index","method":"GET","url":"/nextcloud/","message":"Exception: 
{"Exception":"OCHintException",
"Message":"Memcache \\OC\\Memcache\\APCu not available for local cache",
"Code":0,"Trace":"#0 /var/www/nextcloud/lib/private/Server.php(503): OCMemcacheFactory->__construct('5a9fb47f575863d...', Object(OCLog),
 'OCMemcacheAP...', 'OCMemcacheAP...', 'OCMemcacheRe...')
#1 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OCServer->OC{closure}(*** sensitive parameters replaced ***)
#2 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): PimpleContainer->offsetGet('OCMemcacheFac...')
#3 /var/www/nextcloud/lib/private/ServerContainer.php(132): OCAppFrameworkUtilitySimpleContainer->query('OCMemcacheFac...')
#4 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OCServerContainer->query('OCMemcacheFac...')
#5 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OCAppFrameworkUtilitySimpleContainer->OCAppFrameworkUtility{closure}(*** sensitive parameters replaced ***)
#6 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): PimpleContainer->offsetGet('MemCacheFactory')
#7 /var/www/nextcloud/lib/private/ServerContainer.php(132): OCAppFrameworkUtilitySimpleContainer->query('MemCacheFactory')
#8 /var/www/nextcloud/lib/private/Server.php(1492): OCServerContainer->query('MemCacheFactory')
#9 /var/www/nextcloud/lib/private/Server.php(691): OCServer->getMemCacheFactory()
#10 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OCServer->OC{closure}(*** sensitive parameters replaced ***)
#11 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): PimpleContainer->offsetGet('OCAppAppManag...')
#12 /var/www/nextcloud/lib/private/ServerContainer.php(132): OCAppFrameworkUtilitySimpleContainer->query('OCAppAppManag...')
#13 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OCServerContainer->query('OCAppAppManag...')
#14 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OCAppFrameworkUtilitySimpleContainer->OCAppFrameworkUtility{closure}(*** sensitive parameters replaced ***)
#15 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): PimpleContainer->offsetGet('AppManager')
#16 /var/www/nextcloud/lib/private/ServerContainer.php(132): OCAppFrameworkUtilitySimpleContainer->query('AppManager')
#17 /var/www/nextcloud/lib/private/Server.php(1684): OCServerContainer->query('AppManager')
#18 /var/www/nextcloud/lib/private/legacy/app.php(332): OCServer->getAppManager()
#19 /var/www/nextcloud/lib/private/legacy/app.php(113): OC_App::getEnabledApps()
#20 /var/www/nextcloud/lib/base.php(662): OC_App::loadApps(Array)
#21 /var/www/nextcloud/lib/base.php(1081): OC::init()n#22 /var/www/nextcloud/index.php(40): require_once('/var/www/nextcl...')
#23 {main}","File":"/var/www/nextcloud/lib/private/Memcache/Factory.php","Line":97,"Hint":"Is the matching PHP module installed and enabled?"}","
userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0","version":"13.0.6.1"}

Est-ce que c’est cette exception qui empêche Nextcloud de fonctionner ?
Faut-il activer le cache apcu ?

J’aimerai ne pas trop bricoler Nextcloud et rester dans la config Yunohost, afin que les prochaines migrations se passent bien.

root@YunoHost:~# yunohost tools update
Info: Fetching available upgrades for system packages...
Info: Updating application catalog…
Success! The application catalog has been updated!
apps: 
  current_version: 13.0.6~ynh1
  id: nextcloud
  label: Nextcloud
  new_version: 19.0.3~ynh1
system: 

En analysant les logs de yunohost (/var/log/yunohost/yunohost-api.log) :

2020-12-29 10:38:07,102 ERROR    yunohost.app app_upgrade - [30425.11] Impossible de mettre à jour nextcloud : Une erreur s’est produite durant l’exécution du script de mise à niveau de l’application

Les logs de la tentative de migration à https://paste.yunohost.org/raw/equxehejah
En analysant :

2020-12-29 11:06:25,593: DEBUG - + ynh_die '--message=Backup failed, the upgrade process was aborted.'
2020-12-29 11:06:25,594: WARNING - OSError: [Errno 2] No such file or directory: '/home/yunohost.backup/archives/20190301-152343.tar.gz'
ls -l /home/yunohost.backup/archives

[…]

-rw-r--r-- 1 root root      1218 Mar  1  2019 20190301-152343.info.json
lrwxrwxrwx 1 root root        61 Mar  1  2019 20190301-152343.tar.gz -> /media/syno1backup/sav-raspi1/yunohost/20190301-152343.tar.gz

[…]

-rw-r--r-- 1 root root      1218 Dec 27 10:49 20201227-104901.info.json
lrwxrwxrwx 1 root root        61 Dec 27 10:49 20201227-104901.tar.gz -> /media/syno1backup/sav-raspi1/yunohost/20201227-104901.tar.gz

Effectivement le backup cherché (20190301-152343.tar.gz) n’existe plus.
Pourquoi cherche-t-il le backup 20190301-152343.tar.gz et non pas le dernier backup 20201227-104901.tar.gz ?

Je n’ai pas réussi à dépanner mon Nextcloud suite à la migration vers Stretch.

J’ai tenté de désinstaller et réinstaller

  1. Désinstaller nextcloud :

yunohost app remove nextcloud

  1. Restaurer Nextcloud depuis le backup :

yunohost backup restore nextcloud-pre-upgrade1 --apps nextcloud

Nextcloud ne se lance toujours pas : PB : Bad Gateway
NB : nextcloud v13

  1. Désinstaller nextcloud :

yunohost app remove nextcloud

  1. Installer Nextcloud :

yunohost app install nextcloud

root@YunoHost:~# yunohost app list
apps: 
  description: Access & share your files, calendars, contacts, mail & more from any device, on your terms
  id: nextcloud
  name: Nextcloud
  version: 19.0.3~ynh1

Nextcloud a bien retrouvé les fichiers.

J’ajoute les extensions Contacts et Calendar.
Par contre, il ne retrouve pas les données associées.
C’est un problème pour mes 500 contacts.
L’extension CardBook de Thunderbird s’est synchronisé sur Nextcloud et a vidé tous ses contacts :frowning:

J’ai pu exporté en vCard mes contacts depuis mon téléphone Android (qui par chance ne les a pas vidé, ouf !)

J’ai essayé d’importer le fichier vCard dans Nextcloud > Contacts, mais il me les indique tous en erreur, sans me préciser l’erreur.

J’ai bien fait un backup de Nextcloud avant le démarrage de la mise à jour, mais je ne sais pas comment l’exploiter.

C’est peut-être tout bête, mais depuis 2 jours je fais des recherches pour arriver à débloquer chaque étape, je fais probablement des mauvais choix et je rate les solutions les plus eficaces.
Je suis preneur de conseil :slight_smile:

Du coup oui c’est pas très surprenant qu’il n’ai plus les données si tu as refais une install de l’app en entier …

Moi je repartirais de là et j’essayerai de comprendre pourquoi y’a un “Bad Gateway”, typiquement il faut aller voir les logs de nextcloud … qui habitent je crois dans /var/www/nextcloud/nextcloud.log ou un truc du genre :confused:

Je n’arrivais pas à dépanner, j’ai refait une install. Comme elle fonctionne, je ne suis pas très motivé pour aller débugger l’ancienne version. Et je suis un peu à court de temps.

Je cherche maintenant à récupérer mes contacts. Pas possible depuis le backup Nextcloud ?

Mouarf ben théoriquement oui mais en pratique à mon avis ils sont dans la dump de la base de donnée avec toutes les autres données et c’est pas du tout trivial de récupérer juste la partie sur les contacts et de réimporter ça en espérant que tout se goupille bien et que y’ai pas d’inconsistence entre la DB et la config … D’où ma proposition de débugguer la restauration de l’archive car même si c’est relou (parce que ça aurait juste du marcher et voila) à mon avis ça reste plus simple que de sauvagement réimporter des morceaux de DB pour faire un frankcloudeinstein … Mais je vois que @ljf réponds et aura ptete une meilleure idée :stuck_out_tongue_winking_eye:

C’est possible mais ça me semble plus technique que de restorer le backup. Il faut parler SQL pour s’en sortir de la façon dont tu proposes.

Oki. Merci.

Android m’a exporté mes contacts au format vCard 2.1.

L’application Contacts ne supporte que l’importation de vCards versions 3.0 et 4.0.

Je vais alors essayer de trouver un moyen de transformer mon fichier de contacts pour l’importer.
Qu’est-ce qu’on s’amuse…

Je vais aussi chercher une solution pour faire des backups réguliers des Contacts en dehors de Nextcloud si son backup ne peut pas aider.

Bonsoir,

Exporter les contacts et les calendriers sont deux choses que je fais régulièrement.
Cela car effectivement les données des applications propres à Nextcloud sont perdues en cas de problèmes : j’ai eu le même souci par le passé.

Du coup c’est typiquement le genre d’export que je fais avant une mise à jour ou mise à niveau de Nextcloud … et de YunoHost … au cas où :wink:

ppr

1 Like

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