%
image/svg+xml

Nextcloud Php Chroot OpenBSD (astuce)

Article publié, le et modifié le
Une minute de lecture

Cet article contient 212 mots.
Source brute de l'article :
Commit version : e21600e

Présentation du problème

Du fait de fonctionner sous OpenBSD, la commande occ ne peut pas s’exécuter. En effet, autant le service web que PHP sont tous les deux sous chroot.

Quand vous exécutez occ, vous obtenez le message d’erreur suivant :

Code : sh

Résoudre ce problème est simple !

Éditez le fichier de configuration nextcloud/config/config.php et modifiez la valeur de la variable datadirectory, tel que :

'datadirectory' => ((php_sapi_name() == 'cli') ? '/var/www' : '') . '/htdocs/data',

Bien-sûr le chemin /htdocs/data doit correspondre à votre cas réel.

Maintenant vous pouvez utiliser sans soucis la commande occ

Néanmoins, n’oubliez pas de supprimez la modification avant d’utiliser l’interface web, sinon vous ne pourrez pas vous connecter !

Problème remarqué par mes soins : lors du redémarrage du service PHP et/ou web, cela tend à récrire la variable en préfixant la variable datadirectory de /var/www/, empêchant le bon fonctionnement du site web, et provoquant une erreur 500. Si c’est votre cas, ré-éditez le fichier de config et supprimez le préfixe en question.

TL;DR

Plus simple :

  • Pour “activer” occ : sed -i -e 's#/htdocs#/var/www/htdocs#' nextcloud/config/config.php
  • Pour “désactiver” occ : sed -i -e 's#/var/www/htdocs#/htdocs#' nextcloud/config/config.php

Remerciement

Je tiens à remercier @h3artbl33d qui a trouvé l’astuce… car pendant des mois, cela m’a empêché d’utiliser la commande occ.