Ho installato owncloud con tutti i prerequisiti necessari e quando ho provato ad accedere tramite il browser ho riscontrato un errore:Cannot write into "Config" directory!
Di seguito è riportato l'elenco completo degli errori.
Come risolvere Impossibile scrivere nella directory "Config"! [OwnCloud]
L'errore sopra indica chiaramente che il server web non è in grado di scrivere nella "Config" directory. Verificate le autorizzazioni e la proprietà del file. Tutti i file in DocumentRoot sono di proprietà di apache
utente e dispongono delle autorizzazioni di lettura e scrittura per i file e la directory. Questo è simile all'autorizzazione alla directory negata dalla politica di SELinux, poiché SELinux è abilitato per impostazione predefinita su CentOS 7 e versioni successive. Di seguito sono riportate le informazioni su SELinux per config
directory. Nota il tipo di contesto evidenziato, che è una directory di sola lettura!
# 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/configModifica la directory di installazione di OwnCloud
Tipi di contesto Apache
Di seguito sono riportati i tipi di contesto Apache a cui siamo principalmente interessati.
httpd_sys_content_t | Directory e file di sola lettura utilizzati da Apache |
---|---|
httpd_sys_rw_content_t | Directory e file leggibili e scrivibili utilizzati da Apache. Assegnalo alle directory in cui i file possono essere creati o modificati dalla tua applicazione, oppure assegnalo alla directory dei file per consentire all'applicazione di modificarli. |
Per un elenco completo dei tipi di contesto per Apache.
Crea policy SELinux per l'accesso ReadWrite
OwnCloud necessita dell'accesso in lettura e scrittura alla directory di configurazione. A parte il solito chmod
autorizzazioni, dobbiamo applicare il contesto che consente al server web di poter scrivere nella directory. Esegui il comando seguente per assegnare httpd_sys_rw_content_t
contest nella directory di configurazione e in tutti i file figlio.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config/' # restorecon '/var/www/owncloud/config/'Modifica la directory di installazione di OwnCloud
Abilitando SELinux httpd_unified & httpd_execmem
booleano come di seguito:
# setsebool -P httpd_unified 1 # setsebool -P httpd_execmem 1
Per ulteriori informazioni sui booleani di SELinux.