I'd like to gradually add various snippets to this space as I go along.
File System: if you are running your own system you are outside AFS and are own your own for security. Your files directory can't in good conscience be set to 777, but if its set to anything else you get a Drupal "not writeable" error. You have to add apache to the group list. Set your files directory to 775.
chgroup www /path/to/files
X-Serve specifics:
Clean URLS: this is a tricky one. You need to edit your Apache conf file to AllowOverride All
the default is AllowOverride None
. You may also need to add AccessFileName .htaccess
. Most importantly, you must identify the right conf file:
- Wrong: /etc/httpd/httpd.conf
- Wrong: /etc/apache2/httpd.conf
- Right: /etc/apache2/sites/0000_YOUR_SITE_SPECIFICS_.conf
In the documentation it sounds like the /etc/apache2/sites/ directories are only used for vhosts, and if you're only running one site on web root, that shouldn't apply to you right? wrong. It is one of the conf files inside /sites/
You will know that you are editing the right conf file when you recognize settings that you set in the GUI in Server Admin, like web root directory, at the top of the conf file.
tmp directory
The default location of the Drupal tmp directory /tmp can be problematic on an Xserve. There is an existing symlink at that exact location /tmp that points to /private/tmp/ with its own ownership and mode settings. It places tmp at the OS root, not at web root.
I solved this problem by making a new tmp folder as a sibling of webroot, set perms to 775, and set group ownership to www.