Hatena::ブログ(Diary)

まだ見えない先の

2007-07-20 星の数ほどある信念の共通部分

[] trac認証周り

apache 2.0.58-r2 + mod_auth_pam 1.1.1-r1 + trac 0.10.3.1 + mod_python 3.2.10

目的

tracの認証処理をサーバのログイン処理と同様のNISで行う.NISは外部サーバから引いている.

結果

NISに関してはNIS関係のファイルを変更することなく成功.

ここで目的とは外れるが,サーバのpasswdファイルで管理しているユーザに関しては,shadowファイルのパーミッションを変更する必要がある*1

参考

mod_auth_pam でぐぐったページ.

mod_auth_pam: Configuration

注意した点

mod_auth_pam がサーバにパスワードを渡す際に暗号化しているかどうか分からなかったので(最悪Base64かも),SSL/TLSを使うことにした.

[] Apacheの起動が極端に遅い場合の対処法

現象

起動が極端に遅く,ログが

[notice] Digest: generating secret for digest authentication ...

で止まっている.

原因

/dev/randomの読み込み時にブロッキングしている.

対処法 (Gentooの場合)

  • dev-libs/apr (Apache Portable Runtime Library) を urandom USEフラグ付きでコンパイル
  • sys-apps/rng-tools をインストールし,/etc/init.d/rngd start .

補足

  • /dev/randomと/dev/urandom

/dev/urandom デバイスから読み出しでは、エントロピーがより高くなるのを待つためのブロックは行われない。

404 - エラー: 404

  • apacheの起動時の状態

$ ps ax -o pid,comm,wchan | grep apache

5647 apache2 random_read

より,カーネル内でブロッキングしていることを確認

# lsof -p 5647|grep rand

apache2 5647 root 9r CHR 1,8 2219 /dev/random

より,/dev/randomに関係していることを確認

# cat /proc/sys/kernel/random/entropy_avail

39

# cat /proc/sys/kernel/random/read_wakeup_threshold

64

より,エントロピーが低いことが原因と判断.

no title より,上記対策法を知る.