今の会社では、主にWindowsを使って仕事しています。やはりMacが恋しいなと思っていたら、余っているMacBook Proがあったので会議用などで使うために貰いました。運用上、WindowsのXAMPでバーチャルホストで、共有フォルダにあるPHPファイルを参照して、サイトを閲覧しています。実は、XAMPの時に苦労したのが、共有フォルダに日本語パスが含まれる場合の設定でした。
日本語パスの何が問題か?
XAMPもMAMPも、httpd-vhosts.confなどの中のパス指定にマルチバイトが使えない!という問題があります。XAMPの設定時に、それに気づくまで少し手間取ってしまいました。じゃ、どうするのかって話です。
シンボリックリンクを作成する
シンボリックリンクを作成して、日本語パスを迂回するという方法を取ります。つまり、フォルダが「/あ/い/う/html/」みたいな構造になっていると、confファイルに記述できないので、「/あ/い/う/html/」を「local.co.jp」みたいなシンボリックリンクにして置き換えてしまいます。シンボリックリンクの作成は、Macのterminalで、以下のコマンドを使います。
ln -s リンク先 リンクを置く場所
さて、作るかと思ったら、smbで接続している共有フォルダのパスがわからない!フォルダの詳細で表示される¥¥○○○¥みたいな¥¥で始まるパスをコピーしたものの、リンクできなと怒られてしまいます。もしかして、Macじゃできないの?と思ったんですが、フォルダをterminalにドラックするとパスを自動で入れてくれるので、それをやったら一発でした。smb接続しているファイルのパスは/Volume/から始まるんですね。知らなかった・・・。
なので、terminal開いて、とりあえず、sitesというディレクトリを作成して、そこにリンクを置くとすると以下のようなコマンドになります。
ln -s /Volumes/あ/い/う/html/ /Users/username/sites/local.co.jp
そうすると、sitesディレクトリ内に、local.co.jpというエイリアスみたいなのができているの、それをダブルクリックしてみましょう。そうすると共有フォルダ内の「/あ/い/う/html/」に飛ぶはずです。そうしたら、httpd-vhosts.confの中で以下のように記述すれば、日本語パスを迂回して、サイトデータに指定できます。
<VirtualHost *:8001>
DocumentRoot "/Users/username/sites/local.co.jp/"
ServerName local.co.jp
</VirtualHost>
まぁ、日本語パスやめたらいいじゃん?とかバージョン管理ツール使えばいいじゃんとかいう声も聞こえてきそうですが、そうはいっても大人の事情でそうできない会社もあるんです(笑)
というわけで参考までに。