macのローカルにサブドメインを設定する方法のメモ

webアプリをローカルで開発する際、プロジェクト毎に別ドメインたてたいものです。

で、mac(OSX10.7.5)のローカルにサブドメインたてようとしたのですが、centOSと少し勝手が違ったのでメモ

ドメイン・サブドメイン名

今回は、例として、localhostのサブドメインにsubdomain.localhost設定するという想定です。localhostへのアクセス環境はすでに設定済みとします。

hosts設定

まずは、/private/etc/hosts に以下を追記

127.0.0.1 subdomain.localhost

httpd.conf設定

/etc/apache2/httpd.conf を編集

NameVirtualHost *:80

<VirtualHost *:80>

ServerName abc.localhost

DocumentRoot “/Users/yourname/project/abc/html”

 

subdmain.localhost のDocumentRootを /Users/yourname/project/abc/html に設定しています。

yourname部分はアカウント名に読み替えてください。

apache再起動で無事設定完了!・・・と思いきや

apache再起動して

sudo apatchectl restart

http://abc.localhost/にれっつアクセス。すると

Forbidden

You don't have permission to access / on this server.

ぬぬ!permissionが無いと起こられました。http://localhost/ は問題なく動いてるのに何で?

/var/log/apache2/error_log を見てみる

[Wed Dec 26 16:19:20 2012] [error] [client 127.0.0.1] client denied by server configuration: /Users/yourname/project/abc/html/

サーバー設定で拒否してますなー。Directoryディレクティブで許可してるディレクトリのはずなのに、、、(だからhttp://localhost/が動いてるはず)

Directoryディレクティブで許可指定しみる

/etc/apache2/httpd.conf に追記

<Directory /Users/yourname/Documents/PJ/nanitabeyo/src/html>

        Order allow,deny

        Allow from all

   

これでapache再起動したら、動きました!