OS X は Unix 系 の OS である為 Web 系の開発者に人気ですね。そして開発者であればドメイン名と IP アドレスとのひも付けを行う Hosts を編集する機会も多いでしょう。OS X の Hosts は /private/etc/hosts を編集する事で反映されますが、何か変更がある都度ターミナル等から編集するのは結構面倒くさいです。
iHosts というアプリを利用するとメニューバー上から Hosts の編集や環境別に Hosts ファイルの中身を変更する事が可能になります。
https://itunes.apple.com/jp/app/ihosts/id1102004240?mt=12このアプリを使うと以下のような事ができるようになります。
- Hosts をグルーピング可能
- ワンクリックで Hosts を変更可能
- Hosts をリアルタイムで見る事ができる
- サンドボックスモード
このアプリを使うには hosts ファイルを編集可能にする必要があります。アプリ起動時にも表示されるが以下のコマンドで可能です。
$ sudo chmod +a 'user:USERNAME:allow write' /etc/hosts
アプリを起動したらメニューバーに H というアイコンが表示され、利用する Hosts の選択、表示、編集が可能となります。
Hosts はグループ毎にわかれており、選択する毎に有効/無効を切り替える事ができます。
編集を押すと以下のような画面になります。
ここで追加した内容は Apply を押したら即座に Hosts ファイルに反映されます。
$ cat /etc/hosts
# ----------------------------
# Default
##
# 省略
# ============================
# Demo Domain
# ----------------------------
# Test
192.168.1.88 mydomain.com
127.0.0.1 loumo.jp
$ ping loumo.jp
PING loumo.jp (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.182 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.210 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.143 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.191 ms
^C
--- loumo.jp ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.143/0.181/0.210/0.024 ms
上記のスクリーンショットにあるように Demo Domain の Test に loumo.jp の IP アドレスを 127.0.0.1 にしてみた結果です。nslookup 等では Hosts を参照しないようなので ping をうってみたところ、ちゃんと 127.0.0.1 へアクセスしていますね。
このように Hosts をターミナルを利用せずに編集する事が可能となります。Hosts を編集する機会の多い Web 系の開発者には良いかもしれませんね。
ところで OS X の Hosts 編集を行う際は /private/etc/hosts を編集すると紹介されているところが多いが /etc/hosts でも良い、のだろうか?このアプリは正常に動いているからどっちでも良いのだろうか、調べてみないとわからないですが...。