XAMPPのhtdocsにシンボリックリンクを張るならここに注意!

こんにちは!ぐちです。

いやーほんと急に変わるもんだから、ハマっちゃいましたよ。表題の件。

さくっと記録を残しておきますね。

シンボリックリンク

そもそもシンボリックリンクとはなんぞや?ということですが、IT用語辞典にはこのように書かれています。

シンボリックリンクとは、OSのファイルシステムの機能の一つで、特定のファイルやディレクトリを指し示す別のファイルを作成し、それを通じて本体を参照できるようにする仕組み。リンクは本体と同じディレクトリに置いても良いが、通常は別の場所から参照できるようにするために作成される。

うん!わかりやすいですね!

要するに、ファイル(フォルダ)本体がどこにあろうと、それらの参照ルートを別の場所に置くことができるわけです。

ローカルでのWeb開発

で、僕は(というか一般的です。笑)このシンボリックリンクの仕組みを大いに活用してローカルでのWeb開発を行っているわけです。

Gitなどでチェックアウトしてくるソースファイルってフォルダ構成的に、XAMPPのhtdocsに直接ではなく、わかりやすい場所にまとめていたりしないですか?

けど、ローカルで見るためにはhtdocsに置かないといけないといった場面は大いに直面する機会が多いです。そのときに役立つのがシンボリックリンクの仕組みなんです。

ファイルやフォルダの実体は好みの場所にあって、そこへの参照ルート(シンボリックリンク)をhtdocs配下に作ってしまうわけです。そうすることでフォルダ整理もローカルアクセスもどちらも解決してしまうんです。

ところがですよ!!

ファイルパーミッション

こいつに拒まれてしまったわけですよ。以前までは普通にシンボリックリンクを張ればアクセスできていたのですが、いつからか、403エラーが出て、ローカルでのページ閲覧ができなくなってました。

で、パーミッションなら、読み書きできるようにすればいいやと思い、(今から思えばアホでしたが)シンボリックリンクのパーミッションを頑張って変更してたんです。。。。

いた、トホホですよ。これは。

シンボリックリンクのパーミッションは一切関係なくて、777でも555でも何でも問題ないんです。問題なのは実体のほうでして、そちらのパーミッションを変更しない限りは何も変わりません。

しかも階層的に一番上位の階層からアクセスできるようにしてあげないといけません。正直めんどくさかったです。(フォルダ構成の問題という部分はご愛嬌で。笑)

たったこれだけのことなんですが、知らないと解決できないと思いますので、誰かのご参考になれば幸いです。

最後にシンボリックリンクの張り方をご紹介しておきますね。以前下記の記事でもご紹介していますが。

シンボリックリンクの作り方

$ ln -s 【ファイルの実体】 【リンクを置く場所】

では、今回はこの辺で。