ローカルではWindows環境のXAMPPで楽をしていたのですが、PHPをバージョンアップしてやろうとして失敗。phpAdminのインストールとかも無理やり詰め込んで無理やり動かした感があり、これは自分でコントロールできるようにならないとダメだという結論に。自分でやるのも不安なんですけど…。まぁ、公開する本番環境をこしらえるわけではないので、大丈夫でしょう(・ω・ )
Apache入門
http://www.adminweb.jp/apache/
こちらのサイトを参考にまずはApacheを自力でインストールを試みます。WindowsならIISだろと言う意見が多いようなんですけど、借りてるレンタルサーバーがFreeBSDでApache動かしてるのでそれにならうことにしました。このサイトでは2.2系列を例にとっているのですが、2.4系列が最新のようなのでそっちで試してみることに。
PHPは5.5を試したいので、VC11のランタイムコンポーネント版(Visual C++ Redistributable for Visual Studio 2012 Update 3)をダウンロード。ランタイムコンポーネントはいつの間にか先にインストールされていたのでそれでよしとしました。なければこちらから入手できるようです。
展開して適当なディレクトリにコピー。入門サイトにならってD:/pg/Apache/Apache24/にしました。設定ファイルのhttpd.confは参考例の2.2系列と全然違うということはなかったので、多少の違いは置いておいて指示に従って変更してインストール。起動してみると正常に動いているようです。
基本設定の項を読み流して、コンテンツの設置の項へ。ここでハマりました。エイリアスの設定がうまくいきません。
<Directory "D:/Apache Group/data">
Allow from all
</Directory>
と書いてやったのですが、
Forbidden
You don’t have permission to access /data/hello.html on this server.
となんだかよく見るエラーを表示してしまいました。多分、例題は合ってるだろうと勝手に予想して、ファイルのアクセス権限などを調べることに。…そもそもDirecotryRoot
の方も権限は同じだった…。Apacheのサービスはどういう権限でファイルに触ってるんだ?と疑問を持って泥沼に。結局これは関係ないという結論でhttpd.confのディレクションの書き方が間違ってるということに。試しに<Directory />
の
Require all denide
をコメントアウトしてみると、上手く表示されてしまいました。そういう訳でエイリアスのディレクションに
Require all granted
を追加してやってルートの方のコメントアウトを戻してあげると表示されました。
ここまでやって夜が明けたのでこの辺にしておきます。まぁ、今使ってるレンタルサーバーのプランではhttpd.confは自分でいじくれません。VPSやクラウドを使うようになるまでにわかるようにしておけば良いかということで(・_・)
# .htaccessは早々に使うことになるからその辺は勉強しないといけないんでしょうけど…
# 簡単にセキュリティホールになるからどうしてもガチガチにしたいんですよね(ーー;