mod_nssがインストールされた環境で、CentOSを5.6にアップデートして、httpdを再起動すると、
サイトにアクセス出来ない問題が発生したため、忘れないように記載しておく。
○エラー内容
error.logに下記のようなエラーが出力され、Apacheがまともに起動しない。
[error] NSS_Initialize failed. Certificate database: /etc/httpd/alias.
○原因
CentOS 5.6でアップデートされた「mod_nss-1.0.8-3.el5」が原因。
/etc/httpd/alias/ 配下のdbファイルのパーミッションが変更され、rootのみ読み書き可に
なってしまっており、Apacheの実行アカウントでアクセスできないため、エラーとなる。
アップデート後の/etc/httpd/alias/
drwxr-xr-x 2 root root 4096 4月 11 10:46 . drwxr-xr-x 5 root root 4096 4月 11 10:43 .. -rw-r----- 1 root apache 65536 7月 10 2008 cert8.db -rw------- 1 root root 4395 7月 10 2008 install.log -rw-r----- 1 root apache 16384 7月 10 2008 key3.db lrwxrwxrwx 1 root root 31 4月 11 10:46 libnssckbi.so -> ../../..//usr/lib/libnssckbi.so -rw-r----- 1 root apache 16384 7月 10 2008 secmod.db |
○対策
/etc/httpd/alias配下のdbファイルのパーミッションを変更し、Apacheの実行アカウントで
アクセス出来る状態にして、httpdを再起動する。
(dbファイルのグループをapacheにして、グループへ読込権限を与える)
対策後の/etc/httpd/alias/
drwxr-xr-x 2 root root 4096 4月 11 10:46 . drwxr-xr-x 5 root root 4096 4月 11 10:43 .. -rw-r----- 1 root apache 65536 7月 10 2008 cert8.db -rw------- 1 root root 4395 7月 10 2008 install.log -rw-r----- 1 root apache 16384 7月 10 2008 key3.db lrwxrwxrwx 1 root root 31 4月 11 10:46 libnssckbi.so -> ../../..//usr/lib/libnssckbi.so -rw-r----- 1 root apache 16384 7月 10 2008 secmod.db |
ちなみに、mod_nssをインストールしていない環境は、もちろん影響なし。
こんなアップデートパッケージのエラーは勘弁して欲しい...
はじめまして。
僕もCentOS5.6にしたところ、同様の症状がでて困っていました。
修正後きちんとサイトが表示されるようになりました。
ありがとうございます!