/var/log/maillog に次のようなメッセージが残っている。
Nov 10 00:06:38 hostname amavis[42113]: (42113-04) Clam Antivirus-clamd: C an't connect to UNIX socket /var/run/clamav/clamd: No such file or directo ry, retrying (2) Nov 10 00:06:43 hostname amavis[42116]: (42116-03) Clam Antivirus-clamd av -scanner FAILED: Too many retries to talk to /var/run/clamav/clamd (Can't connect to UNIX socket /var/run/clamav/clamd: No such file or directory) a t (eval 48) line 180. Nov 10 00:06:43 hostname amavis[42116]: (42116-03) WARN: all primary virus scanners failed, considering backups
/var/run/clamav/clamd がないということなので、 clamd を起動してみる。
$ sudo env - /usr/local/etc/rc.d/clamav-clamd.sh start Starting clamav_clamd.
……が、同じメッセージがやっぱりログに吐かれている。
/var/log/clamav を見ると、次のようなメッセージがある。
Thu Nov 10 12:36:07 2005 -> +++ Started at Thu Nov 10 12:36:07 2005 Thu Nov 10 12:36:07 2005 -> clamd daemon 0.86.2 (OS: freebsd4.10, ARCH: i3 86, CPU: i386) Thu Nov 10 12:36:07 2005 -> Log file size limited to 2097152 bytes. Thu Nov 10 12:36:07 2005 -> Running as user vscan (UID 1003, GID 10002) Thu Nov 10 12:36:07 2005 -> Reading databases from /usr/local/share/clamav Thu Nov 10 12:36:08 2005 -> Protecting against 39455 viruses. Thu Nov 10 12:36:08 2005 -> ERROR: Socket file /var/run/clamav/clamd could not be bound: Permission denied
Permission denied だそうな。
clamd がどういう権限で走ろうとしているのか分からないので、とりあえずエラーメッセージで検索をかけると次のページが引っかかった。
http://www.mail-archive.com/qmail-scanner-general@lists.sourceforge.net/msg04310.html
どの user の権限で走るかとう設定は /usr/local/etc/clamav.conf にあるらしい、と。で、 clamav.conf に設定した user で /var/run/clamav を chown しろ、と。
clamav.conf というファイルはなかったが、同じディレクトリに clamd.conf というファイルがあった。これを見ると、次のような設定になっている。
# Run as a selected user (clamd must be started by root). # Default: disabled User vscan
"User vscan" で検索をかけると、次のページが引っかかった。
http://www.cozmixng.org/~rwiki/index.rb?cmd=view;name=ClamAV
/var/run/clamav ディレクトリと /var/log/clamav/{clamd.log,freshclam.log} *1 の owner を vscan:vscan とする。こんな感じ。
$ sudo chown vscan:vscan /var/run/clamav $ sudo chown vscan:vscan /var/log/clamav/clamd.log $ sudo chown vscan:vscan /var/log/clamav/freshclam.log
で、あとは起動した後、ちゃんと動いているかどうか確かめる。ログファイルも見て、エラーメッセージが出ていないかどうか確かめること。
$ sudo env - /usr/local/etc/rc.d/clamav-freshclam.sh start $ sudo env - /usr/local/etc/rc.d/clamav-clamd.sh start
$ ps ax | grep clamd 9654 ?? Ss 0:01.25 /usr/local/sbin/clamd $ ps ax | grep freshclam 9690 ?? Ss 0:00.24 /usr/local/bin/freshclam --daemon