apacheを使ってローカルサーバーを構築する方法

Webサイトを作るときに, まずは自分の環境である程度作ってから本番のサーバーにファイルを移したいので, ローカルで動作を確認できる環境を作りました. このページは, その時のメモです.

実は, Macにはデフォルトでapacheがインストールされていますので. 動かし方を覚えれば簡単にローカルサーバーを構築することができます.

apacheの基本操作

apacheを動かしたり止めたりするには, Terminal上でコマンドを打ちます.

作業を始めたいときは,


$ sudo apachectl start
            

とします. この状況でブラウザを開いて, アドレスバーにhttp://localhost/を打ち込んでenterを押してみて下さい. "It works!"と表示されれば成功です.

作業を終えたいときは,


$ sudo apachectl stop
            

とすればokです.

設定

基本的には, /private/etc/apache2/httpd.confというファイルの内容を変更することで設定を変えることができます.

作業フォルダの設定

今, http://localhost/には, "It works!"という表示をするだけのhtmlファイルが置かれています. 自分で作業するときには, 作業フォルダを指定して, http://localhost/に入って開発したいので, そのフォルダを設定します.


DocumentRoot "/Library/WebServer/Documents" (169行目)

↓

DocumentRoot "自分が作業したいフォルダのパス"
            

同様に,


<Directory "/Library/WebServer/Documents"> (196行目)

↓

<Directory "自分が作業したいフォルダのパス">
            

とすれば, 変更できます.

作業フォルダに, Documents, またはDropbox内のフォルダを指定するとき

もしかしたら, http://localhost/にアクセスすると, 次のように表示されるかもしれません.

また, Documents, Dropbox内に限らず以下のような表示がされた場合は, 同様の方法で解決できると思われます.

403 forbidden

これは, DocumentRootに指定したフォルダに対してアクセスする権利が無いことによって起こります. そして, アクセスできない原因は, Documents, またはDropboxフォルダに実行可能権が無いことです. よって, 以下の様なコードを実行して, フォルダの権限を変更します.


$ chmod 701 ~/Documents
or
$ chmod 701 ~/Dropbox
            

当然, 701の部分を755などにしてもokです. chmodについては,よかったら「chmodコマンドの使い方」を参照してください. また, apacheがファイル書き込みを行う場合は, 別途権限をつける必要があるかもしれませんが, その時も対象フォルダにchmodで権限を付与すれば良いと思われます.

phpを使えるようにする


#LoadModule php5_module libexec/apache2/libphp5.so (117行目)

↓

LoadModule php5_module libexec/apache2/libphp5.so
            

拡張子がhtmlのままでphpを動作できるようにする


AddType application/x-compress .Z (386行目)
AddType application/x-gzip .gz .tgz

↓ 以下のように一文を追加する.

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .html