Problems with file and directory path permissions

1. I can't seem to get my users pages up and working using ~$username and public_html. What should I do?

This is a pretty common problem and it's not hard to fix. First of all check that your directory permissions are correct. In order to get this to work you will have to have 0755 permissions on the users home directory and the r and x bits must be set for the world (0755 is fine) on the users public_html directory. The files being served should be at least 0644. Notably the same permissions work on virtual hosted pages and the root page for the domain.

One other problem which arises from time to time which affects the public_html functionality involves the httpd.conf file itself. There is a minor bug which may occur if the paths in the directive for these directories is incorrect. This problem arose with SWS 3.0. Here's what the problem passage looks like:

<Directory /*/public_html>

Functionally what is occuring is that the path needs to be relative to root for Apache's globbing to work correctly. In order to fix this problem change the passage to look like this:

<Directory /home/*/public_html>

2. I cannot get my cgi scripts to execute in my home directory. What should I do?

Assuming you mean that the cgi script is actually located in your document directory you will have to adjust your configuration to allow cgi to execute there and ensure that the file has the "x" bit set. Add an Options statement of ExecCGI to the directive for that directory and chmod 0755 the cgi script file you want to run.