I set permissions via SFTP to 666 on config.php and database.php but am getting this in the installation wizard:

Your config.php file does not appear to have the proper file permissions. Please set the file permissions to 666 (or the equivalent write permissions for your server) on the following file: expressionengine/config/config.php

Running ls -l on the command line I can see the permissions are assigned to me as a user. Could the problem be that the permissions need to be set in a different way for the server to access the files? Or something else?

4 Answers 4


OK that makes sense. But how can I determine which user/group is running (in this case) Apache?

Web root path is /var/www/

I'm somewhat comfortable on the command line, but for sure not a sysadmin. Right now the permissions for config.php read:

-rw-rw-rw-. 1 jack.brighton jack.brighton     0 Jun 30 17:56 config.php

Also, changing permissions on config.php to 777 did not fix the issue.

Thanks for your help! There's got to be a simple cure I know...


This turned out to be caused by the restrictions imposed at the server by SELinux type.



  • Damnit! I thought about that but didn't think it was likely... Glad you got it!
    – jrothafer
    Jul 6, 2015 at 18:10

Well, every file that EE needs to edit need to be owned by the same user/group that is running your PHP agent (Apache, Nginx, etc...), not your user. Also, just bump that sucker to 777 and see if it works.

Please also post an example of your particular web root path setup (you just running /var/www/ ?).


That file needs to be writable by your agent's user, not owned. 777 should work, but I would make sure your agent and your entire web root are owned by the same user group (get recursive!).


In your command line, run this sucker:

ps -Aef | grep "apache"

The first column result is the user running your agent. Report back. Also, stupid ass question, but you are sure the file


exists? For some reason I'm betting your SFTP client somehow took ownership of those files since your output of file listing shows they are owned by


and usually




is running Apache.


After running:

ps -Aef | grep "apache"

I get this:

apache   30572 21798  0 07:18 ?  00:00:00 /usr/sbin/httpd -DFOREGROUND

So apache is the agent. The config.php file definitely exists in the path, as I can see it via both sFTP and via command line.

Update: I checked with the server admin about the user agent and group. Apache is the agent and the group is named web. I can verify that all the relevant EE files are owned by apache:web, with permissions set to 777. Should be 666 for config.php I know, but even with the above the EE Installer says config.php is not accessible. I've never run into anything like this.

Other ideas?

Thanks, Jack


777 is unsafe (public write on config files, nice), especially on a shared enviroment.

I recommend 775.

The web user needs write permissions to set config values.

  • Absolutely right! In set them at 777 just to see if file permissions were the problem, which they weren't. Those files are 666 now. Thanks for weighing in, especially since this is an important security issue! Jul 7, 2015 at 18:44
  • Sorry mate, I see that now. Just a quick piece of advise, your series of answers that expand the question make it a little hard to follow, especially as voting can change the order! It's much better to simply edit the OP and append to it.
    – Blatant
    Jul 8, 2015 at 8:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.