qpsmtpd のインストール メモ
PerlでできたSMTPサーバー qpsmtpd をCentOS5.1にインストールした時のメモ。これを使えば、SpamAssassinや、ClamAVなどをプラグインしたり、自分で書いたプログラムを簡単にプラグインできる。
- インストール
# yum -y install postfix system-switch-mail # system-switch-mail (postfix にしておく。) # wget http://www.hjp.at/apt/redhat/RPMS.qpsmtpd/qpsmtpd-0.40-1.0.noarch.rpm # rpm -ivh qpsmtpd-0.40-1.0.noarch.rpm warning: qpsmtpd-0.40-1.0.noarch.rpm: Header V3 DSA signature: NOKEY, key ID aeb83c2c error: Failed dependencies: perl(Mail::Header) is needed by qpsmtpd-0.40-1.0.noarch perl(Net::DNS) is needed by qpsmtpd-0.40-1.0.noarch perl(Net::DNS::Header) is needed by qpsmtpd-0.40-1.0.noarch perl(Net::IP) is needed by qpsmtpd-0.40-1.0.noarch
perlモジュールをインストールする必要があるようだ。
# perl -MCPAN -e shell cpan> install Mail::Header cpan> install IO::Socket::INET6 cpan> install Net::DNS cpan> install Net::DNS::Header cpan> install Net::IP
インストール後、以下のコマンドでエラーが出なければ、PerlモジュールのインストールはOK。
# perl -MMail::Header -MIO::Socket::INET6 -MNet::DNS -MNet::DNS::Header -MNet::IP
それでも相変わらず依存関係のエラーは出るが、Perlモジュールは、CPANで管理するのでPerlモジュールの依存関係は無視してOKなので、以下のようにインストール。
# rpm -ivh --nodeps qpsmtpd-0.40-1.0.noarch.rpm
- 設定
設定ファイルは、
/etc/sysconfig/qpsmtpd-forkserver
config ディレクトリは、デフォルトでは、
/etc/qpsmtpd
pluginディレクトリは、デフォルトでは、
/usr/share/qpsmtpd/plugins
になっているので注意。
何だかとてもトリッキーな感じ。
/etc/postfix/master.cf を以下のように編集。
#smtp inet n - n - - smtpd
1行をコメントアウト。
/etc/sysconfig/qpsmtpd-forkserver を以下のように編集
#QPSMTPD_OPTIONS="-p 25 -l 127.0.0.1 --pid-file /var/run/qpsmtpd-forkserver.pid" QPSMTPD_OPTIONS="-p 25 --pid-file /var/run/qpsmtpd-forkserver.pid" export QPSMTPD_CONFIG=/etc/qpsmtpd export HOME=~smtpd
/etc/qpsmtpd/plugins を以下のように編集
#queue/qmail-queue queue/postfix-queue #queue/smtp-forward 127.0.0.1
- 起動
# service postfix restart # service qpsmtpd-forkserver restart