Unable to set AJXP_DATA_PATH variable for Pydio in CentOS

NotFromBrooklyn asked:

I’m trying to launch Pydio on my CentOS 7 server with Nginx. I get to a point where everything is working, I mean I get a Pydio Error, it is generated by Pydio.

Impossible write into the AJXP_DATA_PATH folder: Make sure to grant write access to this folder for your webserver!

I’ve checked. I have AJXP_DATA_PATH pointing to /home/pydio and the nginx user have read/write permissions. That user is running nginx worker processes and php-fpm.

So, why it says I do not have write permission to the data folder if I have?

I’ve searched on google and there is only one type of solutions there, set write permissions, but I have set them.
Any ideas?

My answer:


You’re probably hitting an SELinux restriction: by default web server processes are not allowed to access anything in user home directories.

There are two ways to resolve this:

  1. (Preferred) Relocate the web application to a directory permitted by SELinux, such as a subdirectory of /srv/www (e.g. /srv/www/pydio). Do this if your web application may need to write data to the filesystem, as you can then mark the writable directories with semanage fcontext later.

    Or

  2. Allow the web server to read files in home directories by setting the appropriate SELinux boolean:

    setsebool -P httpd_read_user_content 1
    

    Note that it is never allowed for the web server to write to home directories, so if you need to write to the filesystem, see the other option.


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.