Apache无法访问我的主目录中的文件夹

我已将Apache的配置更改为指向我的主目录中的文件夹:

 ServerAdmin webmaster@localhost DocumentRoot /home/dbugger/html  Options FollowSymLinks AllowOverride None   Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all  ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/"  Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128   

我甚至给了我的/home/dbugger/html权限777.但我仍然在http://localhost :“403 Forbidden”仍然收到相同的错误消息

我错过了什么?

这对我有用

  Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted Allow from all  

重要的是改变

 Order allow, deny 

 Require all granted 

启用userdir模块:

sudo a2enmod userdir

在用户目录中启用PHP执行:

sudo nano /etc/apache2/mods-available/php5.conf

评论这部分:

 # #  # php_admin_flag engine Off #  # 

Ctrl + X保存

启用目录列表:

sudo nano /etc/apache2/apache2.conf

添加这个:

  Options Indexes FollowSymLinks AllowOverride None Require all granted  

Ctrl + X保存


重启apache(这里也需要sudo):

 sudo service apache2 restart 

现在将您的php文件放在/ home / yourname / public_html目录中并转到
您的Web浏览器中的http:// localhost /〜yourname 。

Apache以用户www-data运行。 如果它在您的家中没有执行权限,则apache将无法读取任何文件。

将您的家庭组更改为www-data

 chgrp www-data /home/dbugger 

并且只允许遍历您的主目录:

 chmod g+x /home/dbugger 

您还可以限制/home/dbugger/html permisions:

 chgrp www-data /home/dbugger/html chmod 750 /home/dbugger/html 

如果要使用主目录来托管开发环境,则不需要更改权限,至少需要对某些应用程序具有写入权限。 你需要apache mod_userdir模块,你可以访问/ home / user_name / public_html / *这样的http://domain.local/~user_name/dir_name/ *使用虚拟主机,使用mod_userdir模块你需要创建一个sym像这样的链接:

 $ sudo ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/ $ sudo ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/ $ sudo service apache2 restart