Apache 不会遵循符号链接

Apache 不会遵循符号链接

我的开发机器上安装了一个 LAMP 服务器(Ubuntu 12.10)。它是一台改装了 SSD 的 T60。

服务器基础位于 /var/www。Apache 具有以下配置:

DocumentRoot /var/www
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>
<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews SymLinksIfOwnerMatch
  AllowOverride all
  Order allow,deny
  allow from all
</Directory>

我目前正在开发一个银条CMS 特色网站。服务器文件夹为 /var/www/sfk/。框架和所有与 cms 相关的功能都在各自的文件夹中。唯一需要修改的文件夹是 /var/www/sfk/mysite 文件夹。因此,我想将 mysite 文件夹保留在我的主目录下,并将其符号链接到服务器文件夹。因此,我所做的如下:

ln -s ~/sfk/mysite/ /var/www/sfk/
sudo chgrp www-data /var/www/sfk/mysite -R

ls 告诉我以下内容:

/var/www/sfk (exerpt)

drwxr-xr-x  3 marvin www-data 4096 Nov 16 16:53 assets
drwxr-xr-x 12 marvin www-data 4096 Nov 16 16:53 cms
drwxr-xr-x 29 marvin www-data 4096 Nov 16 16:53 framework
-rw-r--r--  1 marvin www-data 2410 Nov 16 16:53 index.php
lrwxrwxrwx  1 marvin www-data   24 Nov 20 17:45 mysite -> /home/marvin/sfk/mysite/
-rw-rw-r--  1 marvin www-data  514 Nov 16 16:55 _ss_environment.php
drwxr-xr-x  4 marvin www-data 4096 Nov 16 16:53 themes

ls /var/www/sfk/mysite/

drwxrwxr-x 6 marvin www-data 4096 Nov 16 00:15 code
drwxrwxr-x 2 marvin www-data 4096 Nov 16 11:51 _config
-rwxrwxr-x 1 marvin www-data 2685 Nov 16 15:39 _config.php
drwxrwxr-x 2 marvin www-data 4096 Nov 16 00:15 css
drwxrwxr-x 2 marvin www-data 4096 Nov 16 00:15 images
drwxrwxr-x 2 marvin www-data 4096 Nov 16 00:15 javascript
drwxrwxr-x 5 marvin www-data 4096 Nov 16 00:15 templates

这实际上与我在台式机上的设置相同。我遇到的问题是无法识别 mysite/ 文件夹。我非常感谢收到的每一条建议。我很沮丧,因为我被这个问题困扰了好几个小时。

答案1

您确定该www-data帐户有能力遍历 的每个目录组件/home/marvin/sfk/mysite/吗?因此www-data必须有权访问homemarvinsfkmysite。您可能需要o+x在该路径的每个组件上都拥有 。当跟踪符号链接时,跟踪符号链接的用户必须能够真正到达目标文件夹/文件。

如果您不想授予www-data对文件夹的访问权限,那么您可能需要查看绑定挂载。

答案2

您的主目录和子目录的权限是什么,因为它们需要被 Apache 用户访问,例如

chmod 755 ~/ ~/sfk ~mysite

相关内容