Unable to proceed to install - /files not writable is writable

OS: CentOS 7
WEB Server: NGINX with PHP-FPM
Omeka S install: git clone https://github.com/omeka/omeka-s.git

In the browser I get a page that has a white square in the middle with the text:

Install Omeka S

Some installation requirements were not satisfied.

  • “/var/www/omeka-s/files” is not a writeable directory.

I went as far as to chmod 777 files and chmod 777 omeka-s . The owner is nginx:nginx and the WEB Server user is nginx.

I think it is giving me this error but that there is actually probably another ownership error somewhere or it is trying to use user apache to write but 777 should let that happen. I did have to change some ownerships to get this far.

find / -user apache
chown root:nginx /var/opt/remi/php71/lib/php/*
chown nginx:root /var/opt/remi/php71/log/php-fpm
chown nginx:nginx /var/cache/httpd
chown nginx:nginx /var/cache/httpd/proxy
chown nginx:root /var/cache/httpd/ssl
chown nginx:nginx /run/mod_fcgid
chown nginx:nginx /run/httpd/htcacheclean
chown nginx:nginx /var/lib/dav

restart_omekas.sh is:
systemctl restart php71-php-fpm
systemctl restart nginx

systemctl status php71-php-fpm
systemctl status nginx

I am not longer getting any errors in the nginx log files. Omeka S logs haven’t started logging at all.

My server is in a vlan not accessible off campus so it wouldn’t do any good to give you the URL.

Let me know what other information you might need.
Thanks for any help.


All Omeka does when it checks that is ask if it can write to that location (and whether it’s a directory). It doesn’t check for any user in particular, but however your server is set up will mean it’s executing as some particular user. Since you’re using PHP-FPM, there’s a configuration file for that where you can set what user it will execute as.

Are you using SELinux? Security contexts are something you have to deal with beyond simple permissions if you’re running with SELinux enabled.

Thanks for your help, seems that SELinux was preventing the write. I set SELinux to Permissive and the installation page came up fine. I have Nginx WEB server and php-fpm running as user nginx.