web-dev-qa-db-ja.com

Apacheは表示されず、シンボリックリンクをたどりません

Linux Fedora 15では、Apacheはシンボリックリンクをたどらず、ディレクトリインデックスに表示されませんでした...理由を教えてください。

Httpd.confで私が持っていることを言及するだけです:

<Directory />
    Options FollowSymLinks
</Directory>

また、httpd.confで定義されているユーザーとグループは、Webアプリケーションが保存されている適切なディレクトリの所有者です...

私が間違っていることを教えてもらえますか?前もって感謝します!!!

PDATE:ターゲットが他のハードドライブにあるために問題が発生しましたか?

PDATE 2:シンボリックリンクをたどっていますが、何らかの理由でこのリンクをたどっていません。他のハードドライブのディレクトリを指します。

PDATE 3:最初の方向の後に「特別なことは何もない」、すなわち:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
1
user52869

リンクが指すディレクトリでもApacheに読み取り権限があることを確認してください。リンク自体に読み取り権限を与えるだけでは不十分です。

3

私はこの質問に非常に遅れていることを知っていますが、多分私は他の誰かを助けることができます。同じ問題が発生し、最終的に解決しました。シンボリックリンクのターゲットのすべての親ディレクトリのアクセス許可を変更する必要があります。私の場合-例-/ run/media/username/device/subdirectory/targetを指すリンク(私はArch Linuxを使用しています)。そのため、「ユーザー名」と「サブディレクトリ」のアクセス許可を変更する必要がありました(他のアクセス許可はデフォルトで問題ないはずです)。

setfacl -m "u:http:r-x" /run/media/username/device/subdirectory
setfacl -m "u:http:r-x" /run/media/username

後者の場合、root権限が必要です(もちろん、httpはhttpd.confで定義されたhttpdユーザーです)。

0
sgagolaz

このリンクだけが問題である場合、リンクが問題であり、Apache構成ではないと思わせます。壊れていないか、ターゲットドライブが正しく取り付けられていませんか?別のドライブ上のファイルの場合ls -lは、たとえば次のように表示されます。

-rw-r--r-- 1 user group size date time link_name -> /drive/mount/point/path/to/file/file_name

そうでない場合は、以下を使用してリンクを再作成する必要があります。

rm link_name
ln -s /drive/mount/point/path/to/file/file_name link_name

リンクが正しい場所を指している場合は、ターゲットドライブがマウントされていない可能性があります。再マウントして、再試行してください。頑張ってください!

0
erm410