I installed owncloud with all the necessary pre-requisites and when tried to access over the browser encountered error: Cannot write into "Config" directory!
Below is the complete error list.
How to fix Cannot write into “Config” directory! [OwnCloud]
The error above clearly conveys that, the webserver is unable to write into the “Config” directory. Checked the file permissions and ownership. All files in the DocumentRoot are owned by apache
user and are having the read and write permissions to the files and the directory. This is similar to directory permission denied by SELinux policy, as SELinux is enabled by default on CentOS 7 and later. Below is the SELinux info for the config
directory. Notice the highlighted context type, which is a read-only directory!
# 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/config
Apache Context Types
Below are the Apache context types we are primarily interested in.
httpd_sys_content_t | Read-only directories and files used by Apache |
---|---|
httpd_sys_rw_content_t | Readable and writable directories and files used by Apache. Assign this to directories where files can be created or modified by your application, or assign it to files directory to allow your application to modify them. |
For a complete list of context types for Apache.
Create SELinux Policy for ReadWrite Access
OwnCloud needs read-write access to the config directory. Apart from usual chmod
permissions, we need to apply the context which allows webserver to be able to write into the directory. Execute the below command to assign httpd_sys_rw_content_t
context to the config directory and all child files.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config/' # restorecon '/var/www/owncloud/config/'
[OR]
By enabling SELinux httpd_unified & httpd_execmem
boolean as below:
# setsebool -P httpd_unified 1 # setsebool -P httpd_execmem 1
For more on SELinux Booleans.
100% perfect solution !!