情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

シンボリックリンクを使った際の注意点

アプリの制作などで仮想環境を使うことがあると思うのですが linuxシンボリックリンクを使ってアプリをブラウザで確認した際に

403
Forbidden

You don't have permission to access 、、、

と出てしまいました。 こちら調べて解決したので方法を記載いたします。 今回はCakePHPで/var/www/html 直下にシンボリックリンクを制作したと仮定します。

シンボリックリンクについては以下のブログを参考にしてください。

kazmax.zpp.jp

いくつか試したことがあるので順番に記載いたします。

1.apacheの設定変更

まずはapacheの設定を開きます。Apacheで使われている全てのファイルを対象としてアクセスの制限を設定することが出来ます。 ディレクトリ単位やファイル単位で設定することが可能です。

apacheの設定を編集します

vi /etc/httpd/conf/httpd.conf

まず「Order allow,deny」と「Allow from all」という記述があるか確認してください。 こちらは全てのアクセスが許可されるという意味になります。

<Directory "/var/www/html">
    Order allow,deny
    Allow from all
</Directory>

2.リンク先までの権限変更

シンボリックリンクのリンク先までの権限を全て実行可能にする必要があります。 例えばリンク先が「temp」だった場合

/home/vagrant/develop/temp

「temp」までのディレクトリの権限はどれも実行可能にする必要があります。

権限変更

$ chmod ○○○ vagrant

私はvagrantの部分の権限が実行不可能だったのでいつまでたってもブラウザに表示出来ませんでした。

もし詰まったら参考にしてみてください。