kengo92iの日記

プログラミングとかやったことの記録を書いていきます。

Webローカル環境の設定方法 - Mac OS X 10.9 Marvericks

今回は、MacでWebローカル環境の設定方法をやっていこうと思います。
Mac OS X 10.6 Snow Leopard までは、Web共有という便利な機能があったので、一瞬でおわったのですが、それ以降の 10.7 Lion からはWeb共有がなくなってしまったので、困った人が多いと思います。

準備

まず最初に、ホームディレクトリのサイト( Sites )フォルダの中に、public_htmlというフォルダを作っておいて下さい。Sitesフォルダがなければ作って下さい。

mkdir public_html

今回は、このpublic_htmlに中にファイルを入れれば、localhostでアクセス出来るようにしていこうという方針です。

Apacheを起動する

Webローカル環境を作るために、サーバーが必要になるため標準でインストールされている Apache を使用します。

$ httpd -v
Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

上記のように表示されれば、Apacheはインストールされているので、大丈夫です。

sudo apachectl start

とターミナルで入力すると、サーバーが起動します。

ブラウザで、localhostにアクセスすると、It works! と表示されると思います。
f:id:kengo92i:20141001094234p:plain

サーバーは stop で終了することができます。

sudo apachectl stop

再起動が必要だったり、設定を変更した後は、restartを実行します。

sudo apachectl restart

ドキュメントルートを変更する

It worksと表示されているが、次は自分で作成したページを表示するために、ドキュメントルートを変更する。ただし、今からやる方法は自分のPCは自分以外が触らない場合に限定する方法です。

先ほどの It works! のページは /Library/WebServer/Documents 以下に配置されています。現在はその場所がドキュメントルートになっています。/Library/WebServer/Documents/sample.htmlという感じに配置すると、ブラウザで http://localhost/sample.html と打ち込むと、sample.htmlにアクセスできる状態になっています。

今から、Apacheの設定ファイルを書き換えます。好きなエディタで以下のファイルを開いて下さい。

sudo vim /private/etc/apache2/httpd.conf

次に、170行目当たりに、以下の文があると思います。

DocumentRoot "/Library/WebServer/Documents"

これを、以下のように書き換えます。

DocumentRoot "/Users/kengo/Sites/public_html"

更に、170行目あたりから、すこし下にいったところにある(197行目あたり)

<Directory "/Library/WebServer/Documents">

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny
    Allow from all

</Directory>

上記の、内容を以下に変更する

<Directory "/Users/kengo/Sites/public_html">

    Options Indexes FollowSymLinks MultiViews

    AllowOverride All

    Order allow,deny
    Allow from all

</Directory>

設定を反映させるために以下を実行

sudo apachectl restart

動作確認をする

作成した、public_htmlの中に適当なhtmlファイルなどを突っ込む。

f:id:kengo92i:20141001102846p:plain
f:id:kengo92i:20141001102852p:plain

ページが It works! のままなら、一度ブラウザを終了させてみると、表示されると思います。

※ ローカル環境でHTMLやPHPの動作を確認するためなので、この設定で公開サーバーを作るとセキュリティ的に危ないので、その場合は他の方法を試して下さい。