bind9のインストールに必要なコマンドのメモ

■OpenSSLのバージョンチェック

openssl version

バージョンが古いと警告がでるから、一応確認

■コンパイル

./configure –with-openssl=/usr/local –prefix=/usr/local –sysconfdir=/etc/namedb –disable-ipv6

opensslの場所を教えてあげる。

■鍵を生成する

/usr/local/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -r /dev/urandom -n HOST ドメイン名

■テストで起動

/usr/local/sbin/named -u bind -c /etc/namedb/named.conf -g

■普通に起動

/usr/local/sbin/named -u bind -c /etc/namedb/named.conf

■起動プロセスの確認

ps -ax | grep named

重複起動させて、動作しない・・・。と、時々騒ぐから、確認を。

 

http://masaharu.mutsuyoshi.net/solaris/bind9.html

http://webcache.googleusercontent.com/search?q=cache:WEAnsjVbSL4J:blogcatch22.blogspot.com/2009/08/bind9.html+bind9+configure&cd=11&hl=ja&ct=clnk&gl=jp&client=firefox-a&source=www.google.co.jp

http://www.bsddiary.net/doc/bind9.html

http://sawano.members.icraft.jp/wp/2008/07/31/510.html

 

bind9でdnssec-keygenが遅い

dnssec-keygenを実行しても、なかなか終わらない。

調べたら、やっぱりそんな情報がある。

-r /dev/urandom

を追加した。

/usr/local/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -r /dev/urandom -n HOST ドメイン名

あっという間にキーが作成された。

 

参考にした記事は、Linuxのようだから、FreeBSDに特化した事ではないようだ。

記事ではWindowsでは問題がないとある。

http://sawano.members.icraft.jp/wp/2008/07/31/510.html

WHOIS情報にSigning Keyが

whoisを確認したところ、見覚えのないキーがあった。

Signing Key

ドメイン認証キーとか?

 

調べてみました。

http://internet.watch.impress.co.jp/docs/news/20110117_420853.html

DNSSECは、公開鍵暗号方式による署名をDNSの応答に付加することで、その出所と内容が改ざんされていないこと検証できるセキュリティ拡張方式。DNS応答の偽装が検知できるようになり、DNSキャッシュポイズニング攻撃に対する有効な解決策とされている。

なるほど。

自分のところを対応する方法を調べなきゃ。

samba-3.4.5の導入

今回は、WinXP上で動作させたVIrtualBoxで、FreeBSD7.2を動作させています。
そこに、sambaを導入。

portsからの導入はあまり好きではないので、いつも通りsourceからの導入です。
(なぜか、portsから導入させるとうまく使えないことが多くて・・・)

ホストのWinXPから、ゲストPCのFreeBSDには、テキストのコピペが出来ないようなので、早々にsshを使えるようにしました。

■ダウンロード
http://www.samba.org/ を眺める
3.5系が出てきているようだけど、今回は3.4.5を導入する事にする

$ cd /usr/local/src
$ wget http://www.samba.org/samba/ftp/stable/samba-3.4.5.tar.gz

と言う風にしています。

■解凍
$ tar xvfz samba-3.4.5.tar.gz
samba-3.4.5のディレクトリが作成される。

■libiconvのインストール
コード変換のiconv()をインストールします。
libiconvのインストールは前回のブログに書きました。

■configure
$ cd samba-3.4.5/source3
$ ./configure –with-libiconv=/usr/local –prefix=/usr/local/samba

そして、コンパイル。
と思ったら、なぜか、makeが反応しない。
$ make
make: no target to make.

ということで、中断です。

iconvの導入

現在、私のFreeBSD 7.2には、
>iconv –version
iconv (GNU libiconv 1.11)
が導入されている。

標準のままだと、イマイチ日本語の処理がうまくないとのこと。
詳しくは、
http://www2d.biglobe.ne.jp/~msyk/software/libiconv-patch.html
から

http://www.atmarkit.co.jp/flinux/special/samba3b/samba02.html
によると、標準のiconvは

  • 機種依存文字などがサポートされていない
  • Unicodeとの文字コードの変換テーブルがWindows完全互換でない

という問題があるという。

だから、今回は、iconvのバージョンアップとパッチを導入します。
いつも導入はしているのだけど、一応blogに移行したから書き直し。

今回は、
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
http://www2d.biglobe.ne.jp/%7Emsyk/software/libiconv/libiconv-1.13-ja-1.patch.gz
の二つをダウンロード

いつものようにwget を使用してダウンロードしました。

$ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
$ wget http://www2d.biglobe.ne.jp/%7Emsyk/software/libiconv/libiconv-1.13-ja-1.patch.gz
$ tar xvfz libiconv-1.13.tar.gz
$ cd libiconv-1.13
$ gzip -dc ../libiconv-1.13-ja-1.patch.gz | patch -p1
$ ./configure;
$ make;
$ su
# make install

■libiconvの確認
$ /usr/local/bin/iconv -l | grep -i EUCJP-MS
EUCJP-MS
とEUCJP-MSロケールが追加されていれば、良いらしい。

zipを展開する

いつもいつも悩むのが、zipの展開方法です。
いつも、tar.gzばかりですが、時々zipもあるのです。

FreeBSDやunixでは、unzipを使用します。
標準では入っていないので、追加で入れました。

unzip target.zip

/var/spool/mqueueの古いキューを削除

古いキューの削除
find /var/spool/mqueue -type f -a -mtime +30 -print0 | xargs -0 rm -f

外部配送用の起動
sendmail -L sm-mta -bd -q30m

内部配送用の起動
sendmail -L sm-msp-queue -Ac -q30m

 

-bd
Background Daemonで起動します。
-q30m
キューを処理する時間(滞留メールを処理するタイムアウト時間)を指定します。

apache2にrewriteを追加

apacheはhttp://httpd.apache.org/
から最新をダウンロードする。
現在は、2.2.11

以前からapacheを使っている場合は、config.niceを見て、オプションを決定する。
今回は、rewriteを追加したかった。

./configure –with-apxs2=/usr/local/apache2/bin/apxs –without-mysql –with-mysqli –enable-mbstring –enable-mbstr-enc-trans –with-dom=/usr/local/include/libxml2 –enable-xslt –with-xslt-sablot –with-zlib –with-jpeg-dir=/usr/local –with-png-dir=/usr/local –with-gd –enable-rewrite

make

make install

/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
(restart だと、PHPが新しくなったって認識しない。PHPは基本分かりません。)

特に支障なくバージョンアップと機能追加完了。