403 禁止来自 apache2

403 禁止来自 apache2

我知道这个问题被问了很多次,但没有一个答案能解决我的问题。我的工作电脑上有同样的配置,但它在家里却不能用!

首先,我从 git 存储库中提取内容到 ~/proto-spa。然后,我安装了 apache2。我禁用了默认站点,然后逐字复制/etc/apache2/sites-available/default并转储到/etc/apache2/sites-available/proto-spa。我将其更改为/var/www/proto-spa。我将目录更改为var/www,并使用 符号链接到我的本地副本ln -s ~/proto-spa。然后,我重新启动了 apache2。

我一直收到 403。我的 Apache 日志显示:

[Thu Apr 26 08:53:02 2012] [error] [client 127.0.0.1] Symbolic link not allowed or link target not accessible: /var/www/proto-spa

我遵循了各种帖子中的建议,包括chmod -R 755 ~/proto-spa等,但没有任何效果。

好的,这是您要求查看我的配置的部分。

<VirtualHost *:80>
  ServerAdmin webmaster@localhost

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

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

这是您要求查看权限的部分:

sam@sam-central:~$ ls -l /var/www/proto-spa
lrwxrwxrwx 1 root root 20 2012-04-26 08:34 /var/www/proto-spa -> /home/sam/proto-spa/
sam@sam-central:~$ ls -l ~/proto-spa/
total 44
drwxr-xr-x 3 sam sam 4096 2012-04-26 08:32 css
-rwxr-xr-x 1 sam sam  838 2012-04-26 08:32 folders.html
-rwxr-xr-x 1 sam sam  139 2012-04-26 08:32 index.html
drwxr-xr-x 2 sam sam 4096 2012-04-26 08:32 js
-rwxr-xr-x 1 sam sam  608 2012-04-26 08:32 styles.css

如果有任何其他信息有用,请告诉我,并提前感谢您的帮助!

答案1

拥有符号链接目标的权限是件好事,但它们并不是全部。

Apache 用户需要进入目录的遍历权限 —— 我敢打赌它没有这个权限。

检查目录的权限/home/sam,并且/home/sam/proto-spa- 该x位需要存在才能遍历。

另外 - 你用的是什么操作系统?SELinux 或 AppArmor 可能会对你造成困扰。

您是否真的需要使用该符号链接进入主目录?您不应该在那里存储网络内容。

相关内容