I've seen other have similar problems getting user directories working. I'm seeing something a bit different than others have described, though, so here goes:
The Apache server version is 2.2.0 and was installed as part of the distribution (SuSE 10.x). I've previously had my main web server document tree located under /home/httpd/html so I changed DocumentRoot to point to that. I went into the configuration and disabled the UserDir record that read "UserDir disable root". There was already a record that read "UserDir public_html" that I left alone.
When any attempt to access a user's public_html directory using the normal "http://myhost.mydomain/~username/" URL, what I get in the log files is a message reading:
File does not exist: /home/httpd/html/~username
Well of course it doesn't exist. Apache is supposed to be -- according to the documentation on the Apache web site -- looking up username's home directory and appending the setting for Userdir. Not just tacking UserDir onto the end of DocumentRoot.
Is there some new Apache module that needs to be loaded/enabled to make UserDir work as before? If so, this is a major
change to Apache. Otherwise, this is starting to look like a snafu on the part of the SuSE packagers.
Now there's some mention in the configuration file of the UserDir directive being used in virtual host configurations. I sure hope that this is not mandatory as I have no access to DNS configurations on the network and getting additional IP addresses is like pulling teeth (w/o anesthetic).
Aside: I never had this problem when I built my web servers, PHP, etc. from sources. That practice is, unfortunately, no longer practical since the darned distribution installers insist
on installing their
copy of Apache (or PHP, or whatever) or else you'll have unresolved dependencies all over the place.
Any help in resolving this would be greatly appreciated.