Apache is widely deployed open source web server software.
HTTP 406 Not Acceptable Error
In some cases, Apache returns HTTP 406 when fetched from a client that does not include
*/* in the Accept header. This is due to a common misconfiguration where PHP is enabled by using the
AddType declaration instead of a proper solution.
This error surfaced when XRay was unable to fetch posts on adactio.com because XRay does not include
*/* in its Accept header. The fix was to remove the
AddType declaration and include the below instead.
<Files "*.php"> MultiviewsMatch Any </Files>
Summary (from serverfault thread):
- Apache usually runs as the www-data, which will at the very least need read access to files
- “Application” files (e.g. *.php) don’t need execute permissions as they’re not directly executed by the web server, they only need read permissions
- Your user should own the files
- The www-data user should own the group, which should have read and execute (why execute?) permissions
- Any files or folders which will be changed by apache need to have write (+w) permissions for the group owner
umask XXXto set the default permissions for newly created files.
umask 007sets permissions to read+write for owner and group, no permissions for others, which is a sensible default
wikipedia has a clear explanation of the unix permissions shorthand.