对于我的桌面计算机,我希望能够在浏览器中访问主目录中的文件。
我已将Apache DocumentRoot
设置为我的家,但我从逻辑上讲是一个禁止的页面。我尝试在我的论坛中添加www-data
用户,结果相同。
我不希望完全访问我家中的任何用户。
那我该怎么办才能让apache读到我家的目录?
$ ls -la /home | grep gael
drwxr-xr-x 44 gael gael 4096 mars 17 22:30 gael
$ groups www-data;
www-data : www-data gael
错误日志:
[Tue Mar 17 22:43:06.592819 2015] [authz_core:error][pid 4572] [client 127.0.0.1:59677]
AH01630: client denied by server configuration: /home/gael/
apache conf:
<VirtualHost *:80>
DocumentRoot /home/gael/
</VirtualHost>
答案 0 :(得分:1)
确保运行网络服务器的用户对他们需要查看的所有文件具有完整的read
权限。对于他们需要遍历的任何目录,他们还需要execute
权限。
所以您似乎已将www-data
用户添加到您自己的群组中,这应该符合上述要求。
请注意,新的组成员资格不会立即生效:交互式用户需要再次登录,需要重新启动守护程序(因此:重启apache)。 w32方式(只需重启)也可以。
顺便说一句,通过网络服务器暴露您的家庭似乎是一个糟糕的想法:任何可以访问网络服务器的人(通常是同一网络上的任何人)都能够看到您的主目录。确保添加额外的安全性(密码保护,加密......)。 btw,您是否知道~/public_html
目录传统上由您的网络浏览器导出为~<user>
(因此,如果您的登录名为“gael”,则可以通过{{1}访问此目录})。如果该目录不存在,只需创建它并确保将其组设置为http://localhost/~gael/
。这是一种通过网络分享某些数据的更安全的方式。