我希望我的Linux Mint工作站上的每个用户的Web目录与我在OS X上的一般方式一样。为此,我在〜/创build了一个public_html目录。 并chmod'd到755,并安装了userdir mod:
sudo a2enmod userdir sudo /etc/init.d/apache2 restart
从我所了解的usermod的工作原理来看,应该不需要手动创buildvhostconfiguration,但是即使如此,当我尝试访问http://127.0.0.1/~myusername时,却得到了这个:
被禁止
您无权访问此服务器上的/〜dxh。
本地端口80上的Apache / 2.2.22(Ubuntu)服务器
我错过了一些神秘的额外步骤?
我会检查一些事情。
目录权限:如果您的主目录是/ home / dxh /并且您刚刚创build/ home / dxh / public_html /来保存您的Web内容,请确保父级目录允许访问:
ls -ld /home ls -ld /home/dxh ls -ld /home/dxh/public_html
每个这些目录的权限都必须至less为'711'。 这意味着上面的'ls'命令的输出应该是这样的:
drwx--x--x 33 dxm dxm 4096 2013-01-18 16:51 /home/dxm
要么
drwxr-xr-x 33 dxm dxm 4096 2013-01-18 16:51 /home/dxm/public_html
索引页面/索引
接下来,如果您的public_html文件夹中没有“索引”文件,并且没有启用索引,则Apache可能会抛出403禁止的错误。
解决scheme1:创build一个index.html文件
echo "index.html works" >> /home/dxm/public_html/index.html echo "index.htm works" >> /home/dxm/public_html/index.htm
解决scheme2:在.htaccess文件中启用索引
echo 'Options +Indexes' >> /home/dxm/public_html/.htaccess
注意:启用索引将显示public_html文件夹的全部内容。 如果你有敏感的东西,不要启用它。
否则,检查你的Apache日志。 跑
tail -f /var/log/apache2/error.log
然后点击几次,看看popup的错误。
在实现selinux的系统上,还需要发出以下命令:
setsebool -P httpd_enable_homedirs true
我已经多次设置了用户导演,但直到我把大部分的头发都拉出来,我似乎总是忘记了。 这一次只花了两个小时来记住它!