Migration de Nextcloud sur Stockage Externe

Migration de Nextcloud sur Stockage Externe

Matériel: Ordinateur sous debian 11
Version de YunoHost: 11.0.9.15
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

Bonjour tout le monde,

J’ai installer Yunohost sur un serveur Debian il y a quelques temps, et je voudrais migrer l’application Nextcloud sur un disque dur externe déja monté.

J’ai essayer de suivre ce tutoriel : doc/app_nextcloud_fr.md at 710a6398a9377f3db219460ca9846f6eabf0d199 · YunoHost/doc · GitHub

Mais je n’arrive pas à “Lancez un scan du nouveau répertoire par Nextcloud” :

cd /var/www/nextcloud
sudo -u nextcloud php7.3 occ files:scan --all

Lorsque je lance la deuxième commande, le serveur me retourne :

This version of Nextcloud requires at least PHP 7.4 You are currently running 7.3.33-7+0~20220929.100+debian11~1.gbpdb2e49. Please update your PHP version.

J’ai essayer en changeant la commande avec php7.4 : sudo -u nextcloud php7.3 occ files:scan --all

mais j’ai eu le message d’erreur : An unhandled exception has been thrown: OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

En essayant de lancer Netxcloud sans que cette commande ait aboutie j’ai le message d’erreur suivant : Votre répertoire des données n'est pas valide. Assurez-vous que le répertoire de données contient un fichier ".ocdata" à sa racine.

Comment puis je régler ce problème s’il vous plait. Merci d’avance pour votre aide.

Salut !
peux-tu vérifier que le paquet php-apcu est bien installé sur ton système ?
par exemple tentes l’install :
sudo apt install php-apcu

Bonjour,

Si ton Nextcloud est à jour, il utilise php8.0 et il faut activer explicitement Apcu qui est désactivé par défaut:

sudo -u nextcloud /usr/bin/php8.0 --define apc.enable_cli=1 /var/www/nextcloud/occ files:scan --all

Bonjour à tout les deux,
Merci pour vos retour.
J’ai essayer d’installer le paquet php-apcu, comme indiqué par @fabulousfabs mais j’ai toujours le même message d’erreur avec php2.4 et php 8.0 comme indiqué par @metyun :
An unhandled exception has been thrown: OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

Hello,

tu as bien passé le paramètre --define apc.enable_cli=1 à ta commande ?
Sans cela, la commande ne passera pas je pense

Salut, merci pour ton retour @zulf.
Je n’avait effectivement pas passé le paramètre --define apc.enable_cli=1 à ma commande avec php7.4.
donc avec la commande sudo -u nextcloud php7.4 --define apc.enable_cli=1 /var/www/nextcloud/occ files:scan --all
J’ai un autre message d’erreur :

Your data directory is invalid.
Ensure there is a file called ".ocdata" in the root of the data directory.

Cannot create "data" directory.
This can usually be fixed by giving the web server write access to the root directory. See https://docs.nextcloud.com/server/24/go.php?to=admin-dir_permissions

PHP module zip not installed.
Please ask your server administrator to install the module.

An unhandled exception has been thrown:
Exception: Environment not properly prepared. in /var/www/nextcloud/lib/private/Console/Application.php:164
Stack trace:
#0 /var/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#1 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')
#2 {main}

Pourtant le fichier .ocdata existe bien dans /media/stockage/nextcloud_data/data
Est ce que vous savez quoi faire de ça?

Il semble que le dossier n’existe pas ou n’est pas reconnu par Nextcloud.

Est-ce que le dossier de données est bien le bon ? Possibilité de voir avec la commande suivante:

sudo grep datadirectory /var/www/nextcloud/config/config.php

La commande me renvoit 'datadirectory' => '/media/stockage/nextcloud_data',
est ce que je dois le changer pour /media/stockage/nextcloud_data/data ?

Oui si les données sont bien à cet endroit :wink:

Oui les données sont dans ce dossier. J’ai changé la valeur mais j’ai toujours la même erreur :

Your data directory is invalid.
Ensure there is a file called ".ocdata" in the root of the data directory.

Cannot create "data" directory.
This can usually be fixed by giving the web server write access to the root directory. See https://docs.nextcloud.com/server/24/go.php?to=admin-dir_permissions

PHP module zip not installed.
Please ask your server administrator to install the module.

An unhandled exception has been thrown:
Exception: Environment not properly prepared. in /var/www/nextcloud/lib/private/Console/Application.php:164
Stack trace:
#0 /var/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#1 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')

Est-ce que les droits sont bons ? :thinking:

https://docs.nextcloud.com/server/24/go.php?to=admin-dir_permissions

Il faut vérifier les droits d’écriture pour l’utilisateur (chez moi c’est l’utilisateur nextcloud)

L’erreur montre aussi qu’il manque le module zip de php.
Il faudrait voir pour l’installer :

sudo apt install php-zip php8.0-zip

Normalement j’ai suivi à la lettre pour les permissions la doc sur yunohost (doc/app_nextcloud_fr.md at 710a6398a9377f3db219460ca9846f6eabf0d199 · YunoHost/doc · GitHub) :

chown -R nextcloud /media/stockage/nextcloud_data
chmod 775 -R /media/stockage/nextcloud_data

Et j’ai l’impression que ca correspond à la doc officielle du Nextcloud (Installing from command line — Nextcloud latest Administration Manual latest documentation) pour les permissions lors de l’instalation ?

@zulf
J’ai installé php-zip comme indiqué, mais en relançant la commande, j’ai toujours le message d’erreur suivant :

Your data directory is invalid.
Ensure there is a file called ".ocdata" in the root of the data directory.

Cannot create "data" directory.
This can usually be fixed by giving the web server write access to the root directory. See https://docs.nextcloud.com/server/24/go.php?to=admin-dir_permissions

An unhandled exception has been thrown:
Exception: Environment not properly prepared. in /var/www/nextcloud/lib/private/Console/Application.php:164
Stack trace:
#0 /var/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#1 /var/www/nextcloud/occ(11): require_once('/var/www/nextcl...')
#2 {main}

Tu peux essayer la commande suivante pour vérifier que l’utilisateur peut bien écrire dans le dossier

sudo -u nextcloud touch /media/stockage/nextcloud_data/data/test_ecriture.txt

Autrement il faudrait lister les droits (si pas de dossier sensible):
sudo ls -al /media/stockage/nextcloud_data/
et
sudo ls -al /media/stockage/nextcloud_data/data/

Pour sudo -u nextcloud touch /media/stockage/nextcloud_data/data/test_ecriture.txt
J’ai eu

touch: cannot touch '/media/stockage/nextcloud_data/data/test_ecriture.txt': Permission denied

Pour sudo ls -al /media/stockage/nextcloud_data/ :

total 12
drwxrwxr-x 3 nextcloud root      4096 Oct  9 17:47 .
drwx------ 4 yunohost2 yunohost2 4096 Oct  9 17:46 ..
drwxrwxr-x 6 nextcloud nextcloud 4096 Oct  9 16:57 data

Et pour : sudo ls -al /media/stockage/nextcloud_data/data/ :

total 36
drwxrwxr-x  6 nextcloud nextcloud 4096 Oct  9 16:57 .
drwxrwxr-x  3 nextcloud root      4096 Oct  9 17:47 ..
-rwxrwxr-x  1 nextcloud nextcloud  542 Oct  9 16:44 .htaccess
-rwxrwxr-x  1 nextcloud nextcloud    0 Oct  9 16:44 .ocdata
drwxrwxr-x  5 nextcloud nextcloud 4096 Oct  9 04:00 appdata_oc6gxakfwh58
drwxrwxr-x 10 nextcloud nextcloud 4096 Oct  9 17:27 appdata_ocbx1h1c64z0
drwxrwxr-x  2 nextcloud nextcloud 4096 Oct  9 03:45 files_external
-rwxrwxr-x  1 nextcloud nextcloud    0 Oct  9 16:44 index.html
drwxrwxr-x  5 nextcloud nextcloud 4096 Oct  9 17:27 julienbm
-rwxrwxr-x  1 nextcloud nextcloud 7788 Oct  9 17:19 nextcloud.log

Quelles permissions faut t’il que je change ?
(Pour l’instant je n’ai aucun fichier perso dessus)

Potentiellement ce ne sont pas les droits sur ces dossier mais sur les dossiers parents.
Il faut que tu vérifie la chaine / puis media, etc …

J’ai pour le dossier /media/stockage :

drwx------ 4 yunohost2 yunohost2  4096 Oct  9 17:46 .
drwxr-xr-x 4 root      root       4096 Oct  9 17:28 ..
drwx------ 2 root      root      16384 Oct  9 13:58 lost+found
drwxrwxr-x 3 nextcloud root       4096 Oct  9 17:47 nextcloud_data

Est ce que je change directement les droits de / avec

chown -R nextcloud /
chmod 775 -R /

?

Juste sudo chmod 755 /media/stockage pour commencer je pense :wink:

2 Likes

Ok ^^
Maintenant sudo -u nextcloud touch /media/stockage/nextcloud_data/data/test_ecriture.txt est passée !
J’ai reesayer la dernière commande sudo -u nextcloud php7.4 --define apc.enable_cli=1 /var/www/nextcloud/occ files:scan --all et j’ai eu la réponse suivante :

Starting scan for user 1 out of 1 (julienbm)
+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 24      | 34    | 00:00:01     |
+---------+-------+--------------+

Et Nextcloud s’est lancé normalement avec les nouveaux fichier qui s’enregistrent sur le disque externe :blush:
Merci Beaucoup !!!

1 Like

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