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

2012/12/26

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"
</VirtualHost> 

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
</Directory>   

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です