403安装/启用usermod后出现禁止警告

我希望我的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 

我已经多次设置了用户导演,但直到我把大部分的头发都拉出来,我似乎总是忘记了。 这一次只花了两个小时来记住它!