前回の続きです。
すでに25番ポートで動作するqmailがインストールされているものとします。
ここではSMTP-AUTH用のqmailを587番ポート (submission)で動作させる場合の備忘録を書いていきます。
環境は前回と同様。

前回、qmailをインストールしたときは統合パッチ一発でしたが、今回は統合パッチを適用しているとqmail-smtpd-authパッチが適用できなかったので、全ての関係するパッチをqmailに適用します。

1.前回インストールした先とは異なるところにqmailのアーカイブをコピーする。
# mkdir /usr/local/src/qmail-smtpd-auth
# cd /usr/local/src/qmail
# cp -p qmail-1.03.tar.gz /usr/local/src/qmail-smtpd-auth

2.qmail用patchをダウンロードします。
ダウンロード先は/usr/local/src/qmail-smtpd-auth/patch に行います。
qmail-date-localtime.patch
qmail-1.03.errno.patch
qmail-103.patch
qmail-1.03.qmail_local.patch

3.glibcのバージョン確認及び、必要に応じてパッチの適用
glibcのverが2.3.1以降の場合、qmailのコンパイルで失敗するので以下の手順で確認及びパッチの適用を行います。
ちなみに最近のOSでは、殆どがglibcは2.3.1以降です。
# rpm -qa | grep glib
glibc-2.5-49
glibc-devel-2.5-49
glibc-headers-2.5-49
glibc-common-2.5-49
※出力結果はRHEL5.5の場合
この場合、ver.2.3.1以降がインストールされているのでパッチの適用を行う。
# cd /usr/local/src/qmail-smtpd-auth
# tar zxvf qmail-1.03.tar.gz
# cd qmail-1.03
# patch -s -p1 <../patch/qmail-1.03.errno.patch
# patch -s -p1 <../patch/qmail-1.03.qmail_local.patch
その他のパッチを適用する。
# patch -s -p1 <../patch/qmail-date-localtime.patch
# patch -s -p1 <../patch/qmail-103.patch/code>
その他にもいくつかパッチがリリースされていますが、ここは必要最小限なもののみ適用しています。

4.qmail-smtpd-authパッチの適用
SMTP-AUTH機能を使用するためにパッチを適用します。
まず、アーカイブのダウンロード
ダウンロード先は /usr/local/src/qmail-smtpd-auth とします。
# wget http://tomclegg.net/qmail/qmail-smtpd-auth-0.31.tar.gz

このパッチはqmailの展開したディレクトリ同じにディレクトリにて展開します。
# cd /usr/local/src/qmail-smtpd-auth
# tar zxvf qmail-smtpd-auth-0.31.tar.gz
# cd qmail-1.03
# cp ../qmail-smtp-auth-0.31/*.* ./
# patch < auth.patch

5.25番ポートで動作するqmailのバイナリをコピーします。
既存のqmailバイナリを上書きしないように、qmailのbinディレクトリをコピー/リネームします。
# cd /var/qmail
# cp -pR bin bin.orig

6.qmail-smtpd-authが適用されたqmailのインストール
# cd /usr/local/src/qmail-smtpd-auth/qmail-1.03
# make
# make setup
# make check
この時点で /var/qmail/binにインストールが完了する。

7.SMTP-AUTH適用済みqmailのbinディレクトリ、リネームと、オリジナルqmailのbinディレクトリ、リネーム
# cd /var/qmail/bin
# cp -p qmail-smtpd ../bin.orig/qmail-smtpd-auth
# cd ../
# mv bin bin.old
# mv bin.orig bin
これでSMTP-AUTHを適用したqmailのインストールは完了です。
この後、メールリレーを行うためにtcp serverのインストールを行います。
8.tcpserverのアーカイブをダウンロード
# mkdir /usr/local/src/tcpserver
# cd /usr/local/src/tcpserver
# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz

9.patchのダウンロード及び適用
先ほどのqmailと同じく、glibcのver.が2.3.1以降の場合、コンパイル時にエラーが出る。
このエラーを回避するためにパッチを適用する。
# mkdir /usr/local/src/tcpserver/patch
# cd /usr/local/src/tcpserver/patch
# wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
# wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch
# wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch
# cd /usr/local/src/tcpserver
# tar zxvf ucspi-tcp-0.88.tar.gz
# cd ucspi-tcp-0.88
# patch -s -p1 <../patch/ucspi-tcp-0.88.errno.patch
# patch -s -p1 <../patch/ucspi-tcp-0.88.a_record.patch
# patch -s -p1 <../patch/ucspi-tcp-0.88.nobase.patch

10.tcpserverのコンパイル、及びインストール
# make
# make setup check
これでtcpserverのインストールが完了します。
次回、vpopmailの導入手順及び、起動スクリプトの配置などを記載していきます。かなりつかれますね。