Subversion -> BIND -> dhcpd

今まで単独開発しかやったことが無かったのでバージョン管理システムに触れる機会が無かったのだけど、ちょうど今Linuxの勉強をしているところでちょうどいいかもと思って、Subversionを導入してみた。
リポジトリのファイルのオーナをすべてapacheに設定して、ネットワークアクセスは全てmod_dav_svnを介して行うようにした。mod_dav_svnは専用のアクセス制御モジュール(mod_authz_svn)があって、Apache標準のものよりも詳しく設定できる。こういう細かいアクセス制御をできるモジュールがmod_davにも欲しいんだけどなぁ... ぼくが知らないだけ?
クライアントはcygwinに入ってたsvnに加えて、TortoiseSVNを導入してみた。リポジトリのものから更新されているかがアイコン表示で確認できるのはすごく便利。こういうのがGUIの威力だよね。

で、ここまでやったところで、家の内部ネットワークからでもインターネットからでも同じURLでリポジトリにアクセスできると便利だなーと思ったので、BINDでDNSサーバを立ててやることにした。サークルの先輩の助言によれば、たとえばhoge.example.comのレコードを書き換えたい場合、

### /etc/named.conf

# ... (ry)
zone "hoge.example.com" IN {
type master;
file "hoge.example.com.zone";
allow-update { none; };
};
# ... (ry)

### /var/named/hoge.example.com.zone

$ORIGIN hoge.example.com.
$TTL 86400
@ IN SOA (ry)
@ IN A (書き換え後のアドレス)

とか指定してあげると良いみたい。ゾーンをhoge.example.comそのものにするのがポイント。

で、DNSサーバの準備が整ったところで、内部ネットワークのマシンはこのDNSサーバを使うようにしなければ意味が無いので、ルータから配ってるDHCPの情報を書き換えなきゃいけない。が、今使ってるルータが安物なので、そんな設定が出来ない。仕方が無いので、ルータのDHCPサーバ機能を切って、Linuxサーバにdhcpdを入れてそこからDHCPを配るようにした。こっちの設定はそれほど難なく終了。


うーん、こういうネットワーク環境の整備って楽しいなあ。