2. clamav 設定
「clamav」が「simscan」経由で動作するように
/usr/local/etc/clamd.conf
を書き換えます。
LogFile /var/log/clamav/clamd.log
PidFile /var/run/clamav/clamd.pid
LocalSocket /var/run/clamav/clamd.sock
User clamav
の箇所を
LogFile /var/log/simscan/clamd.log
PidFile /var/run/simscan/clamd.pid
LocalSocket /var/run/simscan/clamd.sock
User simscan
に書き換えます。
こうすると「clamav_clamd」が「simscan」のユーザで動作しますので、ログファイルや「pid」ファイル用のディレクトリを「simscan」用に作成します。
mkdir /var/log/simscan
chown simscan:simscan /var/log/simscan
mkdir /var/run/simscan
chown simscan:simscan /run/log/simscan
「freshclam」のログは「/var/log/clamav」に作成されます。
「clamd」のログは「/var/log/simscan」に作成されます。
「/etc/newsyslog.conf」を更新して、ログをローテーションさせることを忘れないように。
「clamav」が動作するようにするには以下のようにします。
「/etc/rc.conf」に以下の行を加えます。
clamav_freshclam_enable="YES"
clamav_clamd_enable="YES"
clamav_clamd_user="simscan"
ウィルスパターンのデータベースを取得します。
rehash
freshclam
以下で起動します。
/usr/local/etc/rc.d/clamav-freshclam start
/usr/local/etc/rc.d/clamav-clamd start
3. simscan 設定
simscan がメールキュー起動時に動作するようにするには「5. 不正中継させないための設定」で作成した /etc/tcp.smtp を以下のように書き換えます。
127.:allow,RELAYCLIENT=""
192.168.0.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"
xxx.yyy.zzz.0-8:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"
:allow,QMAILQUEUE="/var/qmail/bin/simscan"
4. 起動スクリプトの編集
起動スクリプトを編集します。起動スクリプトは以前の紹介ではまとめて1つのファイルにしていましたが、pid ファイル等の関係もあり、以下の3つに分けます。
qmail-start
qmail-smtpd
qmail-pop3d
サブミッションポートを使用する場合は、これにサブミッションポート用のスクリプトを追加します。
まずは起動用に、rc.conf に以下の行を加えます。
qmailstart_enable="YES"
qmailsmtpd_enable="YES"
qmailpop3d_enable="YES"
qmail-start の起動スクリプト /usr/local/etc/rc.d/qmail-start を編集します。(このスクリプトで # PROVIDE: qmailstart から3行はただのコメントではありません。わたしはそこがわからずに時間を浪費してしまいました。マニュアルで rcorder を参照してください)
#!/bin/sh
#
# PROVIDE: qmailstart
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
qmailstart_enable=${qmailstart_enable:-"NO"}
. /etc/rc.subr
name=qmailstart
rcvar=qmailstart_enable
load_rc_config $name
start_cmd=qmailstart_start
procname=/var/qmail/bin/qmail-send
command=/var/qmail/bin/qmail-send
pidfile=/var/run/qmailstart.pid
qmailstart_start()
{
echo "Starting qmail-start."
exec env - PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir/ splogger qmail &
echo $! > $pidfile
}
run_rc_command "$1"
qmail-smtpd はサンプルがありますのでコピーして
cp /var/qmail/boot/qmailsmtpd /usr/local/etc/rc.d/qmail-smtpd
一か所、わたしの設定方と合わない箇所がありますので、編集します。
procname=${qmailsmtpd_tcprules}
の箇所を
procname=${qmailsmtpd_tcpserver}
と書き換えます。
qmail-pop3d の起動スクリプト /usr/local/etc/rc.d/qmail-pop3d を編集します。
#!/bin/sh
#
# PROVIDE: qmailpop3d
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
qmailpop3d_enable=${qmailpop3d_enable:-"NO"}
. /etc/rc.subr
name=qmailpop3d
rcvar=qmailpop3d_enable
load_rc_config $name
start_cmd=qmailpop3d_start
procname=/usr/local/bin/tcpserver_pop3
command=/usr/local/bin/tcpserver_pop3
pidfile=/var/run/qmailpop3d.pid
qmailpop3d_start()
{
echo "Starting qmaili-pop3d."
/usr/local/bin/tcpserver_pop3 0 pop3 /var/qmail/bin/qmail-popup サーバドメイン名
\
/usr/local/bin/checkpassword \
/var/qmail/bin/qmail-pop3d Maildir &
echo $! > $pidfile
}
run_rc_command "$1"
pop3 で起動する tcpserver で pid を他と区別するために /usr/local/bin/tcpserver から tcpserver_pop3 にシンボリックリンクをはっておきます。(そのままコピーすると、以降、tcpserver が更新された際に更新されなくなるので)
ln -s /usr/local/bin/tcpserver /usr/local/bin/tcpserver_pop3
/usr/local/etc/rc.d/qmail-start と /usr/local/etc/rc.d/qmail-pop3d は、編集しただけでは、実行権限がついていませんので実行権限を付与します。
chmod +x /usr/local/etc/rc.d/qmail-start
chmod +x /usr/local/etc/rc.d/qmail-pop3d
一通り書き終えたら、リブートして動作を確認します。