Nainstaloval jsem si owncloud se všemi nezbytnými předpoklady a při pokusu o přístup přes prohlížeč došlo k chybě:Cannot write into "Config" directory!
Níže je uveden úplný seznam chyb.
Jak opravit Nelze zapisovat do adresáře „Config“! [OwnCloud]
Výše uvedená chyba jasně naznačuje, že webový server nemůže zapisovat do „Config“ adresář. Zkontrolovali oprávnění a vlastnictví souboru. Všechny soubory v DocumentRoot jsou vlastněny apache
uživatele a mají oprávnění ke čtení a zápisu do souborů a adresáře. Je to podobné jako oprávnění k adresáři odepřené zásadou SELinux, protože SELinux je na CentOS 7 a novějších standardně povolen. Níže jsou uvedeny informace SELinux pro config
adresář. Všimněte si zvýrazněného typu kontextu, což je adresář pouze pro čtení!
# 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/configZměňte svůj instalační adresář OwnCloud
Typy kontextu Apache
Níže jsou uvedeny typy kontextu Apache, které nás primárně zajímají.
httpd_sys_content_t | Adresáře a soubory pouze pro čtení používané Apache |
---|---|
httpd_sys_rw_content_t | Čitelné a zapisovatelné adresáře a soubory používané Apache. Přiřaďte to adresářům, kde může vaše aplikace vytvářet nebo upravovat soubory, nebo to přiřaďte adresáři souborů, abyste aplikaci umožnili je upravovat. |
Úplný seznam typů kontextu pro Apache.
Vytvořit zásady SELinux pro přístup ReadWrite
OwnCloud potřebuje přístup pro čtení a zápis do konfiguračního adresáře. Kromě obvyklého chmod
oprávnění, musíme použít kontext, který umožňuje webovému serveru zapisovat do adresáře. Spuštěním níže uvedeného příkazu přiřaďte httpd_sys_rw_content_t
kontextu do adresáře config a všech podřízených souborů.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config/' # restorecon '/var/www/owncloud/config/'Změňte svůj instalační adresář OwnCloud
Povolením SELinuxu httpd_unified & httpd_execmem
booleovský, jak je uvedeno níže:
# setsebool -P httpd_unified 1 # setsebool -P httpd_execmem 1
Pro více informací o SELinux Booleans.