Problème d'accessibilité du dossier de données et de fichier .htaccess sur Nextcloud après mise à jour

Bonjour à tous,

Je rencontre des problèmes de configuration sur mon instance Nextcloud et j’aurais besoin de votre aide. Voici les détails :

Description du problème :
Depuis la dernière mise à jour de Nextcloud, mon instance me signale que le dossier de données et les fichiers sont probablement accessibles depuis Internet, et que le fichier .htaccess ne fonctionne pas. Le message d’erreur est le suivant :

Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.

Configuration de mon serveur :

  • OS : Ubuntu
  • Serveur Web : Apache
  • Nextcloud version : Nextcloud Hub 8 (29.0.3)

Actions entreprises jusqu’à présent :

  1. Vérifié que les fichiers .htaccess sont présents et ont les bonnes permissions.
  2. Les modules mod_rewrite et mod_headers sont activés.
  3. Configuré AllowOverride All dans les sections pertinentes des fichiers de configuration d’Apache pour permettre l’utilisation des fichiers .htaccess.
  4. Redémarré Apache après chaque modification.
  5. Utilisé curl pour vérifier l’accessibilité du dossier de données via HTTPS, qui retourne un code HTTP 404 (ce qui semble correct).

Questions :

  1. Que puis-je vérifier ou modifier pour résoudre ce problème ?
  2. Y a-t-il des configurations spécifiques pour Nextcloud que je devrais connaître ?
  3. D’autres personnes ont-elles rencontré ce problème et comment l’ont-elles résolu ?

Merci d’avance pour votre aide !

Ben il suffit de faire ce qu’il te dit et qui est également indiqué dans la documentation d’installation. Le dossier data de NC doit toujours être hors espace web (pour faire simple tu le mets un dossier plus haut que ton dossier web public) et modifier le fichier de configuration de NC en conséquence (modification à faire en ayant le serveur web arrếté pour éviter tout soucis).

Le dossier data n’est pas dans mon espace web :
ls -a /var/www/nextcloud/data/
. ..
Dans le fichier config.php j’ai bien indiqué mon dossier data

donne le chemin d’accès du dossier data indiqué dans ton fichier config.php et celui de la racine de ton site web nextcloud indiqué dans la config d’Apache stp

Chemin du dossier de données indiqué dans config.php :
‘datadirectory’ => ‘/mnt/ncdata’,
Chemin de la racine du site web Nextcloud indiqué dans la configuration d’Apache :
DocumentRoot /var/www/nextcloud

Et tu as toujours le message d’erreur indiquant que le dossier data est pas hors espace web ?
Ton /mnt/ncdata est accessible par l’utilisateur sous lequel tourne Apache ?

Oui, j’ai toujours le message d’erreur indiquant que le dossier data n’est pas hors de l’espace web.

Pour vérifier si /mnt/ncdata est accessible par l’utilisateur sous lequel tourne Apache, j’ai utilisé la commande suivante :

ls -ld /mnt/ncdata/

Le résultat est le suivant :

drwxr-x--- 9 www-data www-data 4096 Jul  5 14:23 /mnt/ncdata/

@jeromeeuw est ce que l’utilisateur www-data à accès au dossier parent /mnt ( au moins en lecture) ?

Pour vérifier si l’utilisateur www-data a accès au dossier parent /mnt, j’ai utilisé la commande suivante :

ls -ld /mnt

Le résultat est le suivant :

drwxr-xr-x 6 root root 4096 Jul  2 11:14 /mnt

Cela montre que l’utilisateur www-data a les permissions nécessaires pour accéder au dossier /mnt.

Effectivement ton stockage data était déja sur un support externe avant la mise à jour ?
Si tu crées un fichier ou un dossier dans un compte utilisateur du NC, le retrouve-tu dans le dossier data en question ?

Oui, mon stockage de données était déjà sur un support externe avant la mise à jour, et mes fichiers sont bien créés dans le dossier de données.

sur un support externe ? ou ce support externe spécifiquement ? car NC crée pas mal de fichiers de gestion aussi dans le dossier data donc si tu le recrées de toute pièce sans récupérer l’ancien ça pourrait être la source du message d’erreur :confused: sinon c’est un bug je pense !

Mon stockage de données est simplement configuré dans le dossier /mnt/ncdata, qui n’est pas sur un support externe, et je n’ai pas recréé le dossier de données. Tous les fichiers de gestion et les données existants sont toujours présents dans ce dossier.