I am a new comer to the mac world and are just establishing my webserver. I made use of the next guide: http://echodittolabs.org/blog/2011/08/os-x-107-lion-development-native-mamp-mysql-installer
I have moved my sites and databases and things are going pretty much. The only issue I've is by using the writing permissions. For instance there's a config file that should be written to, and that i needed to right click, visit Get Info then enable read &lifier write for staff and everybody.
I can not by hand undergo and let these write rights for each file/folder. I did not have to do this using WAMP making development much faster.
So curious about 2 possible solutions: a) add my user account to some whitelist for that localhost to ensure that 644 rights are sufficient b) set the write rights recursively
I am the writer from the pointed out blog publish. For web server file permissions, you will want to give write accessibility _www user for files. For config.corporation.php, you'd place it a few ways:
Have _www own the file and also have write permissions:
$ sudo chown _www config.inc.php $ chmod u+w config.inc.php
Have your user own the file, alter the group to _www, and provide group write permissions:
$ sudo chgrp _www config.inc.php $ chmod g+w config.inc.php
Or, if you think comfortable permitting all customers to create, which I wouldn't recommend for security reasons, give all customers a chance to write:
$ chmod a+w config.inc.php
If the entire folder must be compiled by the _www user, it may own the folder and all sorts of files:
$ sudo chown -R _www:_www folder/
or provide the folder write and execute permissions by all:
$ chmod a+wx folder/
chmod 774 gave you forbidden errors was since the _www user fell underneath the '4' permission, that is 'read-only.' For sites, a person needs 'execute' to be able to traverse in to the folder.
chmod 775 allows user and group to rwx, yet others to r-x. Here's more information on Unix file permissions.
Also, your user could retain full possession and add certain permissions for that _www user rather than altering the amount of access for those customers by utilizing Access Control Lists.
$ sudo chmod -R +a '_www allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' folder $ sudo chmod +a '_www allow read,write' config.inc.php
If you are likely to go the path of ACLs, I'd suggest doing more reading through to determine what amounts of access you will need to provide. Here is a great place to start.
I suggest configurations the Write rights recursively for the web root.
This can be done through the console / terminal using
chmod -R 774 /my/web/root. For me personally, the dog owner and group is placed to:
www-data:myUserName, which may be set by utilizing
chown. Be sure to check who's your internet user first.
Edit: For better understanding, why you do not have access:
Chmod 774, each number means specific privileges: user, group, others. When the user is placed to
www-data and also the group to
www-data (most customers on the Unix system have been in an organization that's named by their username). So, if you are not within the group
www-data you can either need to join it, or you need to change owner (chown) or you need to alter the permissions (chmod). You will find serveral lessons out their, for additional informations.