Read, Write and Execute Permission Settings for Apache Servers

In the Unix and Apache world three settings will allow or disallow scripts from working. The right permissions must be set on any script or file that needs server help to be read, written to or executed. The files to which scripts may be writing need correct permissions to allow the script access.

Files may be readable, writable and/or executable. The permission settings are always referred to in this order, read-write-execute, or r-w-x.

Each of the three permission’s settings can be applied to three sets of users, namely owner, group and world. So, if you see a directory listing of a cgi script, for example, you will see three sets of permissions that represent the capabilities of each type of visitor — owner, group and world, in that order — with respect to that file.

For example, say that my file, test.cgi, has the following line in a directory listing:

- rwxr-xr-x 1 jen users 2134 Sep 12 9:42 test.cgi

The first set of rwx refers to the owner permissions, the second set of r-x refers to the group permissions, and the third r-x refers to the world permissions. We say that the permissions for the file test.cgi has permissions of 755.

How did we get to 755 from rwxr-xr-x ? Each permission has a number associated with it like so, r = 4, w = 2, and x = 1. In this example the owner has read-write-execute permission, and 4 + 2 + 1 = 7. The group and world settings do not include write permissions so both of those permissions add up to 5, for a file permission’s setting of 755.

Changing the permissions of a file is easy with your FTP client. Right-click on a file name and select change permissions or CHMOD, which stands for “change mode” or change file permissions. Then it is a simple matter of selecting your desired read-execute, r-x, or 755.

Permalinks Totally Screwed Up When Changing From Default Structure

Permalinks are the URLs that refer to your WordPress pages, posts and categories. Essentially, the links to your blog pages and posts are permanent links or permalinks.

Each post or page created in WordPress is identified with an ID number. Default URLs use the ID number to differentiate between individual pages and posts. An example URL would be something like for the post or page that has ID number 123.

The problem with this default permalink structure is that nobody can remember which posts the numbers represent. To make your blog URLs more meaningful you can change the permalink structure from the default structure to a more useful one.

This is a great tip for anyone interested search engine optimization for their blog.

In your admin area go to Options/Permalinks. At the top of the page you’ll see the default ID permalink style selected. Choose another style that you like and then click on Update Permalink Structure to make the changes stick. Now, if your blog is fresh out of the box and you haven’t already made posts with it, then you’re set to go.

I changed my permalinks to a custom structure like so, /%post-name%/ , and when I went back to view my site, all the posts and pages were gone!

What happened here? The server could not find my existing pages and posts because it was looking for them with the old numerical names. Instead of recreating the content, changing page names, or reverting back to the old permalink structure, there is an easier way to fix this issue.

One way to solve this problem of disappearing posts or missing pages is to make the following entry in your htaccess file in the public_html folder of your domain.

Options +Followsymlinks

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Be aware that htaccess files can exist in any directory on your site.

You want to allow the server to write to your htaccess file as updates are made to your blog. Set permissions or chmod the htaccess file to 666.