The answer to this question depends on how PHP is being run on your server. PHP can work in 2 different "modes" on a server (see the "How do I tell if the PHP on my server is running as a "CGI" or as an "Apache Module"?" FAQ entry below to determine the way PHP is running on your server), and the permissions needed are different between the 2:
-
CGI - When PHP is run as a CGI, it means that on every execution of a PHP script in your account, the web server "becomes" your account for the duration of the script, inheriting your accounts permission levels. The server also checks to make sure that none of your files and folders are readable, writable or executable by anyone else but your account. This is the most secure method of running PHP. Usually on a CGI PHP install, the Directory permissions must be set to 755, and the file permissions must be set to 644.
- Apache Module - When PHP is running as an Apache Module, the PHP interpreter has been "embedded" into the Apache process - this allows the web server process to run the PHP script without have to load PHP "externally", offering better performance than the CGI mode, but not being as secure. The problem is that the Web server runs as a different user than your account (usually the web server runs as "nobody" or "apache"), and therefore, any files or folders that need to be modifiable by the web user will have to have their permissions set accordingly so the web user can read and write to the directories and files. In this mode, for the web user to be able to write into a directory it did NOT create, the permissions need to be set to 777 for directories, and for the web user to be able to write or change the contents of a file, the permissions on the file need to be set to 666.
- By default, Jamroom will create directories and files as needed in the jamroom/members and jamroom/media directories - therefore, it is recommended that even on an Apache Module PHP install, the directory permissions be set to 755 and the file permissions be set to 644. This will ONLY work however, if you do NOT change any of the files or folders within the jamroom/members and jamroom/media directories. If you copy or move files inside that directory, then YOUR account will then own the files, and therefore will need to be permissioned to 777 (for directories) and 666 (for files) in order for the web user to write to them.
- Understanding UNIX file permissions can be tricky, especially if your exposure to Linux and UNIX like operating systems is limited. It is HIGHLY recommended to spend some time (maybe 20 minutes) to understand how permissions affect your server (not just Jamroom), as it can really save you a lot of time if something goes wrong with your permissions.
|