Apacheエラー「Symbolic link not allowed or link target not accessible」の原因と解決方法
Apacheでウェブサービスを運用している時に、シンボリックリンクを設定したディレクトリやファイルを利用したい時がある。
その時に、Apacheのコンフィグファイルであるhttpd.conf、あるいは、.htaccessファイルでの設定が不適切な場合、シンボリックリンクのページへのアクセスができず、
Symbolic link not allowed or link target not accessible: /home/nobuneko
といったエラーが発生することがある。
このようなエラーが発生してしまった場合、まずは、
1)シンボリックリンクの設定に誤りがないかどうか
2)リンク先が閲覧できないようなパーミッションになっていないかどうか
を確認する。
上記2点どちらも問題ない場合は、
3)httpd.fonfファイル、あるいは、.htaccessファイルで「Options」という設定項目に「FollowSymLinks」の記載があるかどうか
を確認する。
FollowSymLinksとは、読んで字のごとくかもしれないが、「シンボリックリンクを許可する」という意味の設定項目だ。
Options項目に、この「FollowSymLinks」の記述がある場合はシンボリックリンクを許可し、記述がないバイは、シンボリックリンクを許可しないことが分かる。
したがって、Options項目に「FollowSymLinks」の記述がない場合は、「FollowSymLinks」を追記することで、Symbolic link not allowed or link target not accessible: /home/nobunekoというエラーを解消できる。
《例》
Options -Indexes
↓
Options -Indexes FollowSymLinks
※httpd.confファイルを修正した場合は、Apacheの再起動が必要。.htaccessファイルを修正した場合は、Apacheの再起動は不要。