スマホでhostsが書けない場合の対処法
開発などでローカルのApacheでバーチャルホストを使いたい場合、PCからアクセスする場合はhostsを書き換えれば良いのですがスマホからアクセスする場合には通常はhostsを書き換えることは出来ません。(JBやRootedにすれば出来ますが・・・)
ということで、ローカルネットワークにネームサーバーを立ててしまおうと言うことで、macにbindをインストールすることにしました。
まずは、bindのインストール
brew install bind
すると、以下の構成で色々インストールされます。
実行ファイル
/usr/local/Cellar/bind/9.10.3-P3/sbin/named
bind設定ファイル
/usr/local/etc/named.conf
zone設定ディレクトリ
/usr/local/var/named/
あとは、追加したいドメイン(ここではhogedomainとします)の設定を記述します。
まずはzoneファイルの作成。
vi /usr/local/var/named/hogedomain.zone
以下、hogedomain(ローカルドメイン名)と192.168.0.25(WEBサーバーのIP)は適宜書き換えて下さい。
※しかし、どうでもいいけどzone設定をする度に「そんなオカルトありえ(ry」を思い出してしまう・・・。
$TTL 86400 $ORIGIN hogedomain. @ IN SOA ns.hogedomain. postmaster.hogedomain. ( 2013080501 ; Serial 7200 ; Refresh 2 hours 1800 ; Retry 30 minutes 1209600 ; Expire 14 days 86400 ) ; Minimum TTL 1day IN NS ns.hogedomain. localhost IN A 192.168.0.25 ns IN A 192.168.0.25 @ IN A 192.168.0.25 * IN A 192.168.0.25
次に、named.confに設定追加します。
vi /usr/local/etc/named.conf
以下の設定を追加。
zone "hogedomain" IN { type master; file "hogedomain.zone"; allow-update { none; }; };
設定が終わったらbindを起動します。
/usr/local/Cellar/bind/9.10.3-P3/sbin/named -c /usr/local/etc/named.conf
あとは、各端末のDNSのIPアドレスを書き換えればドメインでのアクセスが可能になります。
ちなみにスマシェアサービスが開始したら、ワーキングスペース内のLANで使えるネームサーバーを運用しようと思っています。
bindの設定をWEB上から書き換えられるようにして好きなドメインを追加できるような感じを構想中です。
いろいろ開発に便利そうな仕組みを今から考えて導入して行けたらなと思っています。