Ruby on Ralisでウェブアプリケーションを開発しているとき、サブドメインが増えるごとにhostsを書き換えるのはとても面倒なので、localhostでunboundを走らせることにした。
環境はOS X YosemiteでHomebrewを使っているケースを想定しているが、どこかに適当にLinixサーバー立てちゃってもいいんじゃないかと。
やりたいこと
- dev.testが127.0.0.1になるようにする
- foo.dev.testも127.0.0.1を返すようにする
- bar.dev.testも127.0.0.1を返すようにする
- いっそのこと*.dev.testなものすべてが127.0.0.1になればいい
やりかた
unboundをインストールする
- Homebrewを入れる
- 「brew install unbound」でunboundをインストールする
- /usr/local/etc/unbound/unbound.confを適切に設定する
- (おまけ)OS起動時にunboundが走るようにする
インストールはOSによってyumでもapt-getでも使えばいいんじゃないかと思います。
3. /usr/local/etc/unbound/unbound.confを適切に設定する
このような設定にする。必要に応じてaccess-controlなども付け足すとよい。
/usr/local/etc/unbound/unbound.conf
server:
statistics-interval: 3600
extended-statistics: yes
interface: "0.0.0.0"
username: "nobody"
local-zone: "dev.test." redirect
local-data: "dev.test. A 127.0.0.1"
4. (おまけ)OS起動時にunboundが走るようにする
OS XにHomebrewでいれたときは以下のようにすればOS起動時にunboundも起動するようになる。かつ、unboundがすぐに起動する。
$ sudo cp -fv /usr/local/opt/unbound/*.plist /Library/LaunchDaemons
$ sudo chown root /Library/LaunchDaemons/homebrew.mxcl.unbound.plist
$ sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.unbound.plist
$
lvh.meというドメイン
何処かの人が同じような設定をしている「lvh.me」というドメインもあります。ポリシー的にそれを使っても問題ないならそれを使うのもありですね。
設定変わったりすると怖いので、私はあまり使う気はないです。