J'ai installé owncloud avec tous les prérequis nécessaires et lorsque j'ai essayé d'accéder via le navigateur, j'ai rencontré l'erreur :Cannot write into "Config" directory!
Vous trouverez ci-dessous la liste complète des erreurs.
Comment réparer Impossible d'écrire dans le répertoire "Config" ! [OwnCloud]
L'erreur ci-dessus indique clairement que le serveur Web est incapable d'écrire dans la "config" annuaire. Vérifié les autorisations et la propriété du fichier. Tous les fichiers de DocumentRoot appartiennent à apache
utilisateur et disposent des autorisations de lecture et d'écriture sur les fichiers et le répertoire. Ceci est similaire à l'autorisation de répertoire refusée par la politique SELinux, car SELinux est activé par défaut sur CentOS 7 et versions ultérieures. Vous trouverez ci-dessous les informations SELinux pour la config
annuaire. Remarquez le type de contexte en surbrillance, qui est un répertoire en lecture seule !
# ls -lZd /var/www/owncloud/config drwxrwxrwx. 2 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 79 Mar 15 04:49 /var/www/owncloud/configChangez votre répertoire d'installation OwnCloud
Types de contexte Apache
Vous trouverez ci-dessous les types de contexte Apache qui nous intéressent principalement.
httpd_sys_content_t | Répertoires et fichiers en lecture seule utilisés par Apache |
---|---|
httpd_sys_rw_content_t | Répertoires et fichiers accessibles en lecture et en écriture utilisés par Apache. Affectez-le aux répertoires où les fichiers peuvent être créés ou modifiés par votre application, ou affectez-le au répertoire de fichiers pour permettre à votre application de les modifier. |
Pour une liste complète des types de contexte pour Apache.
Créer une politique SELinux pour l'accès en lecture/écriture
OwnCloud a besoin d'un accès en lecture-écriture au répertoire de configuration. En dehors de l'habituel chmod
autorisations, nous devons appliquer le contexte qui permet au serveur Web d'écrire dans le répertoire. Exécutez la commande ci-dessous pour attribuer httpd_sys_rw_content_t
contexte au répertoire de configuration et à tous les fichiers enfants.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config/' # restorecon '/var/www/owncloud/config/'Changez votre répertoire d'installation OwnCloud
En activant SELinux httpd_unified & httpd_execmem
booléen comme ci-dessous :
# setsebool -P httpd_unified 1 # setsebool -P httpd_execmem 1
Pour en savoir plus sur les booléens SELinux.