OS X LionでApacheの設定をする

MAMPとかXAMPPは使わないでやります。
標準でApacheが入っているので、前準備はなしでだいじょぶです。

# ターミナル初めての人向け
$ で始まってるやつはターミナルから入力します。また sudo はroot権限で実行します。通常ファイルやディレクトリにはPermissionが設定されていて、ユーザーディレクトリより上位階層のファイル・ディレクトリはroot権限がないと変更できません。

ゴール

ゴールはローカルのhogeディレクトリに
ブラウザから「http://ho.ge/」でアクセスできるようにすることにします。

ちなみに index.html の中身は




hoge


This is HOGE

になってます。これは表示確認ができればなんでもいいです。

これから[ユーザー名]っていう箇所が出てくるんですけど、これは赤線で囲った部分の文字が入ります。

サイドバーにない場合・・・

hogeディレクトリにある index.html のコンテキストメニューから「情報を見る(Get Info)」を選択すると

[ユーザー名] が分かります。

http://ho.ge/ にアクセスしてみる

とりあえず http://ho.ge/ にアクセスしてみると

当然アクセスできません。osho.geとかoho.geが気になるけどスルーだオショゲ。

Web共有がオンにできるか確認する

システム環境設定 → 共有 にあるWeb共有の項目をチェックしてONにできるか確認します。

とりあえず最初からやるという前提で、もしオンにできないときはhttpd.confをデフォルトの状態に戻しておきます。

$ sudo cp /etc/apache2/httpd.conf.default /etc/apache2/httpd.conf

VirtualHostを設定する

VirtualHostの設定は、/etc/apache2/extra/httpd-vhosts.conf に書くのが一般的なようで、httpd.confの623行目あたりにある

# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

↓ Includeの前の # をトル

# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf

コメントアウトを外す方法でやってたんですけど
どうにもhttpd-vhosts.confが読み込まれないとかいうので3時間はまったので、httpd-vhosts.confを /etc/apache2/other に作る方法にしました。

なので上の # をトルはやらなくてだいじょぶです。

デフォルトで /etc/apache2/other の conf拡張子ファイルは全て読み込まれるようになっているので other ディレクトリに httpd-vhosts.conf ファイルを作るだけで使えるようになります

httpd-vhosts.confを作る

$ sudo vim /etc/apache2/other/httpd-vhosts.conf

これで vim が起動するので以下を入力します。

# vim初めて触る人向け
i を押したあとに以下を入力して
esc → :wq! で保存し vim を閉じます

NameVirtualHost *:80

# ho.ge

    DocumentRoot /Users/[ユーザー名]/hoge
    ServerName ho.ge



    AllowOverride All
    Allow from All

hostsファイルの設定

以下を入力してhostsファイルを開きます。

$ sudo vim /etc/hosts

さっきと同じ要領で以下の行を追加します。

127.0.0.1 ho.ge

(スペースは気にしないでください)

ここまで出来たら

$ httpd -S

で設定ファイル(httpd-vhosts.conf)に問題がないか確認します。
問題がない場合は

httpd: Could not reliably determine the server's fully qualified domain name, using ***** for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server ho.ge (/etc/apache2/other/httpd-vhosts.conf:4)
         port 80 namevhost ho.ge (/etc/apache2/other/httpd-vhosts.conf:16)
Syntax OK

のように表示されます。VirtualHost configurationのところに設定した ho.ge と Syntax OK が出ていれば設定できているのでだいじょぶです。

記述に間違いがあるときは

Syntax error on line 1 of /etc/apache2/other/httpd-vhosts.conf:
Invalid command 'hogehogehgoe', perhaps misspelled or defined by a module not included in the server configuration

のように表示されるので、該当箇所を確認してください。

Web共有を再起動する(Apacheの再起動)

Web共有のチェックを一旦外して、もう一度チェックするとApacheが再起動して、設定が有効になります。

Apacheの再起動は

$ sudo apachectl restart

でもできます。

ho.ge にアクセス

アクセスできましたか?できたら終わりです。

ちなみに

上までちゃんとやってて httpd -S も大丈夫そうなのにアクセスできない場合は、Macを再起動すると大丈夫になるかも。

僕はそれでさらに1時間はまりました^ω^

何か役に立つことがあったらシェアしてみてください

このエントリーをはてなブックマークに追加

Leave a comment

Trackbacks: 0

Trackback URL for this entry
Listed below are links to weblogs that reference
OS X LionでApacheの設定をする from 5509

Author

nori
nori
- UI Engineer
Location
- ,