The Apache peruser MPM doesn't seem to function correctly when specifying a chroot: httpd.conf: Processor username group /home/username vhost: ServerName example.com ServerEnvironment username group /home/username What happens when you browse to example.com? 403 - error log appends: [Sun Dec 14 20:42:58 2008] [error] [client IP.ADD.RE.SS] client denied by server configuration: /home It says "/home"? The file requested was /home/username/public_html/index.php I even tried giving the *whole* home folder including the sub-directories (user folders) 777, it still had the same error. I repeated the same process except this time chowning the folders to the Processor user and group. Still 403, same error. It only worked for me without the chroot added in the Processor and ServerEnvironment variables, but that's one of the biggest reasons I chose to use peruser (from previously using itk) - to have a sane and "per user" chrooted shared hosting environment. Reproducible: Always Steps to Reproduce: 1. Compile Apache with the peruser MPM. 2. Configure your peruser settings. 3. Add "Processor username group /home/username" to httpd.conf. 4. Add "ServerEnvironment username group /home/username" to a vhost. 5. Restart Apache. 6. Visit the URL to the vhost. 7. Be greeted with a 403 -> check logs, will be vague. Actual Results: Error 403: Forbidden, client cannot browse the site. Expected Results: Error 200: Success, client can browse the site under the specified chrooted environment, allowing a sane shared hosting environment. After endlessly searching for a solution to shared hosting, I found this - and it looks great! Now if I could just get it to work...
you need <Directory> directives to allow apache access to directories, chmod 777 does not change anything