不能遵循apache2中的符号链接

我有在Ubuntu 14.04.2 LTS上运行的apache2。 问题是,我总是收到以下错误( tail -f /var/log/apache2/error.log

  [Wed Jun 10 18:18:56.114203 2015] [core:error] [pid 14802] [client 10.0.0.100:48843] AH00037: Symbolic link not allowed or link target not accessible: /var/www/html/xxxx 

在文件中:/etc/apache2/sites-enabled/000-default.conf我有

  DocumentRoot /var/www/html <Directory /> Options +FollowSymLinks AllowOverride None </Directory> 

在/ var / www / html目录中,我有一个名为“xxxx”的软链接指向/ root / xxxx

我重新启动了Apache

 service apache2 restart 

但是没有帮助。

有任何想法吗?

原来我的/根目录没有www-data帐户的权限。 它的许可是“drwx ——”。 我做了一个命令chmod a+rx" /root ,现在工作正常。

由于/ root通常只能由root访问,所以这里有一些更好的安全性的可能性。

如果/ root / xxxx是一个文件夹,那么你不需要给每个人读取/ root文件夹的权限,你可以限制更多的权限,只需给每个人+ x这将允许他们遍历/根文件夹,并得到/ root / xxxx,因为path是已知的,但不能读取/ root中的其他东西。

如果/ root / xxxx是一个文件,另一种方法是创build一个只能由root修改的脚本(为了安全起见,使用chattr +i命令使其不可变)执行对Apache的操作能够做到(如阅读)。 然后,使用sudoers文件,允许Apache用户使用sudo命令以root身份运行该脚本,而不会提示input密码。