MyBB Community Forums

Full Version: Unable to progress past Requirement Checks in 1.8
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
During a clean installation of 1.8, I am unable to get past the Requirement Check portion on the install.  The installer reports 2 file and 1 directory " Not Writable".  I have validated all three are configured as recommended, as can bee seen below:


drwxrwxrwx.  3 root root     36 Sep  1 11:44 cache
-rw-rw-rw-. 1 root root 0 Sep  1 11:32 inc/settings.php
-rw-rw-rw-. 1 root root 0 Sep  1 11:32 inc/config.php

Any assistance in this matter would be appreciated.


I just completed additional testing.  This symptom occurs only on installations attempted on CentOS 7.  I have tried on multiple machines, utilizing multiple versions of Mybb, back as far as 1.6.5, all fail in the same manner on CentOS 7.  I then tested the install on a CentOS 6.5 and completed the installation without error.

I should also note that a migrated installation from an earlier version of OS and MyBB was able to be upgraded while running on CentOS 7. 
What is your inc folder itself chmodded to?
FWIW, the files are all owned by root, perhaps change that the the user/group that the web server runs under (on Debian systems that is www-data:www-data, possibly the same for CentOS)
On CentOs & Apache the owner should be "apache".

Do you have selinux activated ?
Thanks to everyone for their attempts to assist.

After more research I have identified the source of the issue.  It seems that there were changes in the way selinux is configured by default between RHEL6/CentOS6 and RHEL7/CentOS7.  In 7 the defaults are more restrictive.  The specific boolean that restricts access to httpd_sys_content, including the config files and the cache directory.

To get past this issues one of two things need to be done.  The first is possibly a bit course, but definitely works, would be to alter the boolean to enable access to the content.  This is accomplished by:

#setsebool -P httpd_unified 1

The second alternative would be to label the individual files as httpd_sys_rw_content_t and the directory as httpd_cache_t.  This can be done as follows, adjusting the directory names as required:

#semanage fcontext -a -t httpd_cache_t "/var/www/html/cache(/.*)?"

#semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/inc/config.php"
#semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/inc/settings.php"
#restorecon -R -v /var/www/html

Since the second method should be most restrictive, it would most likely be the preferred method.

Special thanks to an article by Dan Walsh at http://danwalsh.livejournal.com/56760.html, while not specific to MyBB, for providing insight into this issue.  Note that the article utilizes an incorrect type for the context, those provided above are correct.  The one referenced there will produce an error.