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.geDocumentRoot /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時間はまりました^ω^
Trackbacks: 0
- Trackback URL for this entry
- Listed below are links to weblogs that reference
- OS X LionでApacheの設定をする from 5509
Leave a comment