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
.