Apache 错误:不允许符号链接或链接目标不可访问

Naf*_*Kay 4 symbolic-link apache-2.2

我似乎无法在我的 Apache VirtualHost 中获得符号链接,无论我尝试什么,我在错误日志中看到以下错误:

Symbolic link not allowed or link target not accessible: /var/www/carddesigner
Run Code Online (Sandbox Code Playgroud)

我可以毫无问题地从 Linux 浏览实际的符号链接:

$ ls -l /var/www | grep "carddesigner"
lrwxrwxrwx 1 rfkrocktk rfkrocktk   64 2011-02-28 16:52 carddesigner -> /home/rfkrocktk/Documents/Projects/Work/carddesigner/build/main/
Run Code Online (Sandbox Code Playgroud)

此外,我确保我的 VirtualHost 允许 FollowSymLinks 选项:

/etc/apache2/sites-enabled/000-localhost:

<VirtualHost 127.0.0.1:80>
    ServerAdmin ##########

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /var/www/>
        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
        Deny from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

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

    CustomLog /var/log/apache2/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>

    RewriteEngine On
    RewriteLog "/var/log/apache2/mod_rewrite.log"
    RewriteLogLevel 9
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我似乎找不到任何其他似乎覆盖这个和/或阻止符号链接被加载的配置文件。有任何想法吗?

以下是我对实际引用文件的权限:

$ ls -l ~/Documents/Projects/Work/carddesigner/build/main
total 12
drwxrwxrwx 5 rfkrocktk rfkrocktk 4096 2011-02-28 16:11 advanced
drwxrwxrwx 2 rfkrocktk rfkrocktk 4096 2011-02-28 16:10 core
drwxrwxrwx 2 rfkrocktk rfkrocktk 4096 2011-02-28 16:10 simple
Run Code Online (Sandbox Code Playgroud)

看起来权限很好,对吧?

Sve*_*ven 7

中文档的文件权限是/home/rfkrocktk/Documents/Projects/Work/carddesigner/build/main什么?它们也必须能被 Web 服务器读取,而不仅仅是符号链接。

  • 要使符号链接起作用,网络服务器必须能够遍历整个树到该路径。因此,如果任何下至 `main` 的目录都不是每个人都可以执行的,那么这将不起作用。 (3认同)