Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to have a server setup for my web app locally on my MacBook Pro. I have installed Apache, PHP successfully and checked out my web app's code to /var/www location. Now there's a script in my app that writes a file in /var/www/someDir. To do so I am using the following line:

$file = fopen($_SERVER['DOCUMENT_ROOT']."/abc.ini", "w");

And on execution I see the following error in error log.

PHP Warning: fopen(/var/www/someDir/abc.ini): failed to open stream: Permission denied in /private/var/www/myscript.php on line 6

someDir is owned by user abhilash.goje (that's me) and group wheel. I have tried giving following permissions.

$sudo chmod -R 755 www     -> Did not resolve the issue
$sudo chmod -R 775 www     -> Did not resolve the issue
$sudo chmod -R 777 www     -> Resolved the issue, but not safe.

permission 777 works but I don't prefer to use this solution as it is not at all safe. Kindly let me how do I set the correct permissions to this folder.

Thanks in Advance!!

share|improve this question
up vote 5 down vote accepted

Apache is the process that needs to have appropriate permissions to access /var/www. Apache is typically user _www of group _www on MacOS. Verify this with:

 grep -e '^Group\|^User' /etc/apache2/httpd.conf

Two lines should be printed. My output looks like:

User _www
Group _www

This means that on my system, Apache processes run as user _www with group _www. If you're using another configuration, check the appropriate config file for the same parameters and replace _www in the following solution if yours differs.

  1. Change the group of /var/www with: chgrp -R _www /var/www
  2. Change the permissions to add group write with: chmod -R 775 /var/www

That should fix the error.

As an extra step, you can change the ownership of /var/www to _www and then add yourself to that group to maintain your read and write privileges.

share|improve this answer
Thanks @ephsmith!!! it works great... – Goje87 Jul 22 '12 at 16:12

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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