我正在设置本地 LAMP 服务器,当我访问它时,我无法使用 Apache 用户 (www-data) 跟踪符号链接。此时,我尝试了 chowning 和 chmoding,并
在我的 DocumentRoot 的 httpd.conf 文件中添加了 Options FollowSymLinks。我不知所措。
所以我要问的是:
如果您使用标准 11.10 LAMP 安装来设置您的 Apache,那么您将采取哪些步骤来使 Apache 用户的符号链接正常工作?
答案1
这听起来像是权限问题。确保 Apache 必须访问的每个目录和父目录(在 /var/www 和符号链接的目标目录中)都设置了全局执行位。
例如,如果您的符号链接指向 /home/somebody/www,请执行以下操作:
sudo chmod a+x /var /var/www /home /home/somebody /home/somebody/www
这是不是有必要在任何目录上设置读取访问权限;只有 Apache 应该读取的文件才必须具有适当的读取权限。
答案2
我会用我的脚本查看权限pathlld
(http://paste.ubuntu.com/757530/):
例如pathlld
:
walt@aardvark:~(0)$ ll $(type -p emacsclient)
lrwxrwxrwx 1 root root 29 2011-10-23 11:20 /usr/bin/emacsclient -> /etc/alternatives/emacsclient
walt@aardvark:~(0)$ pathlld $(type -p emacsclient)
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /
drwxr-xr-x 12 root root 4096 2011-10-23 19:29 /usr
drwxr-xr-x 2 root root 135168 2011-12-02 16:03 /usr/bin
lrwxrwxrwx 1 root root 29 2011-10-23 11:20 /usr/bin/emacsclient -> /etc/alternatives/emacsclient
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /usr/bin/emacsclient
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /
drwxr-xr-x 234 root root 12288 2011-12-02 16:06 /etc
drwxr-xr-x 2 root root 20480 2011-11-29 09:31 /etc/alternatives
lrwxrwxrwx 1 root root 28 2011-10-23 11:20 /etc/alternatives/emacsclient -> /usr/bin/emacsclient.emacs23
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /etc/alternatives/emacsclient
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /
drwxr-xr-x 12 root root 4096 2011-10-23 19:29 /usr
drwxr-xr-x 2 root root 135168 2011-12-02 16:03 /usr/bin
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /usr/bin/emacsclient.emacs23
答案3
例子:
$ mkdir /home/myuser/proyects/php/myproyect
$ cd /var/www/
$ sudo ln -s /home/myuser/proyects/php/myproyect .
现在你需要:
1)将 apache 设置为你的项目的所有者
$ sudo chown myuser:www-data /home/myuser/proyects/php/myproyect -R
2)将每个文件夹的 +x 权限设置为您的路径
$ sudo chmod +x /home/myuser/proyects
$ sudo chmod +x /home/myuser/proyects/php
$ sudo chmod +x /home/myuser/proyects/php/myproyect
现在您可以在 上看到您的项目http://localhost
。
如果有任何问题请尝试:
重启 Apache
$ sudo service apache2 restart
如果问题仍然存在,请让 apache 用户成为链接的所有者
$ cd /var/www/
$ sudo chown myuser:www-data myproyect -R
如果问题仍然存在,请在您的主页上添加执行权限
$ sudo chmod +x /home/myuser/