スマホで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上から書き換えられるようにして好きなドメインを追加できるような感じを構想中です。
いろいろ開発に便利そうな仕組みを今から考えて導入して行けたらなと思っています。

 - 技術系(インフラ) , ,