Apache不会遵循符号链接(403 Forbidden)怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (212)

我在Ubuntu上设置Apache时遇到了一些麻烦。我一直在遵循本指南

# /usr/sbin/apache2 -v
Server version: Apache/2.2.17 (Ubuntu)
Server built:   Feb 22 2011 18:33:02

我的公共目录/ var / www可以成功地提供并执行放置在其中的PHP页面。但是,我想在/ var / www中创建一个符号链接,指向我的主文件夹中的一个目录并在那里提供页面。

[root /var/www]# ll
total 36
drwxr-xr-x  3 root root 4096 2011-09-11 14:22 .
drwxr-xr-x 14 root root 4096 2011-06-04 22:49 ..
lrwxrwxrwx  1 root root   16 2011-09-11 13:21 about -> /root/site/about

当我试图在浏览器上访问/谈论时,我得到

Forbidden

You don't have permission to access /about on this server.

据我所知,我给了我想要服务的文件足够的特权:

[root ~/site/about]# ll
total 24
drwxr-xr-x 5 root root 4096 2011-09-11 13:20 .
drwxr--r-- 3 root root 4096 2011-09-11 13:19 ..
drwxr-xr-x 2 root root 4096 2011-09-11 13:21 contact
-rwxr-xr-x 1 root root 1090 2011-09-11 13:19 index.php
drwxr-xr-x 2 root root 4096 2011-09-11 13:20 me
drwxr-xr-x 2 root root 4096 2011-09-11 13:21 resume

我知道以下SymLinks选项,并且我相信它是在我的/etc/apache2/site-启用/000-默认文件中设置的:

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options FollowSymLinks Indexes MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
提问于
用户回答回答于

检查Apache在执行的权利/root/root/site/root/site/about

运行:

chmod o+x /root /root/site /root/site/about
用户回答回答于

403错误也可能是由加密的文件系统引起的,例如加密的主文件夹的符号链接。

如果符号链接指向加密文件夹,则即使apache和文件/文件夹权限设置正确,apache用户(例如www-data)也无法访问内容。www-data用户的访问可以通过这样的调用来测试:

sudo -u www-data ls -l /var/www/html/<your symlink>/

有解决方法/解决方案,例如将www-data用户添加到您的私人组(将加密数据公开给Web用户)或设置未加密的rsynced文件夹(可能相当安全)。我自己可能会在开发过程中使用rsync解决方案。

https://askubuntu.com/questions/633625/public-folder-in-an-encrypted-home-directory

我的目的便利的工具是lsyncd。这使我可以直接在加密的主文件夹中工作,并能够在apache网页中几乎立即看到变化。同步由文件系统中的更改触发,即调用rsync。由于我只是在相当小的网页和脚本上工作,所以同步速度非常快。我决定在rsync启动之前使用1秒的短暂延迟,即使可以设置延迟0秒

安装lsyncd(在Ubuntu中):

sudo apt-get install lsyncd

开始后台服务:

lsyncd -delay 1 -rsync /home/<me>/<work folder>/ /var/www/html/<web folder>/

扫码关注云+社区

领取腾讯云代金券