![Apache 不会遵循符号链接](https://linux22.com/image/797010/Apache%20%E4%B8%8D%E4%BC%9A%E9%81%B5%E5%BE%AA%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5.png)
我的开发机器上安装了一个 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
必须有权访问home
、marvin
、sfk
和mysite
。您可能需要o+x
在该路径的每个组件上都拥有 。当跟踪符号链接时,跟踪符号链接的用户必须能够真正到达目标文件夹/文件。
如果您不想授予www-data
对文件夹的访问权限,那么您可能需要查看绑定挂载。
答案2
您的主目录和子目录的权限是什么,因为它们需要被 Apache 用户访问,例如
chmod 755 ~/ ~/sfk ~mysite