qmail.org から qmail のソースファイルをダウンロードしてインストールする方法を紹介します。
qmail のインストールと同時に qmail-vida をインストールして qmail の機能を拡張します。
qmail-vida は qmail パッケージに SMTP 認証と APOP 対応の POP 認証を追加し、バーチャルドメインと仮想ユーザーを管理する機能を追加するためのプログラムです。
sendmail の削除
システムにインストールされている sendmail を停止して削除します。
# /etc/rc.d/init.d/sendmail stop
# yum -y remove sendmail
# yum -y remove sendmail
qmail の運用ディレクトリの作成
qmail のインストールを実行する前に qmail 運用ディレクトリを作成します。
qmail 運用ディレクトリである /var/qmail ディレクトリには qmail が動作するために必要な実行ファイルや設定ファイルなどが格納されます。
# mkdir /var/qmail
qmail のユーザーとグループの作成
qmail は複数のプログラムが動作してメールサーバーを構成しています。
これらのプログラムを実行するユーザーとグループを作成する必要があります。
# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias -m -s /sbin/nologin alias
# useradd -g nofiles -d /var/qmail -M -s /sbin/nologin qmaild
# useradd -g nofiles -d /var/qmail -M -s /sbin/nologin qmaill
# useradd -g nofiles -d /var/qmail -M -s /sbin/nologin qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail -M -s /sbin/nologin qmailq
# useradd -g qmail -d /var/qmail -M -s /sbin/nologin qmailr
# useradd -g qmail -d /var/qmail -M -s /sbin/nologin qmails
# useradd -g nofiles -d /var/qmail/alias -m -s /sbin/nologin alias
# useradd -g nofiles -d /var/qmail -M -s /sbin/nologin qmaild
# useradd -g nofiles -d /var/qmail -M -s /sbin/nologin qmaill
# useradd -g nofiles -d /var/qmail -M -s /sbin/nologin qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail -M -s /sbin/nologin qmailq
# useradd -g qmail -d /var/qmail -M -s /sbin/nologin qmailr
# useradd -g qmail -d /var/qmail -M -s /sbin/nologin qmails
qmail-vida のプログラムを実行するユーザーとグループを作成します。
# groupadd vida
# useradd -g vida -d /var/qmail/users -s /sbin/nologin qmailu
# useradd -g vida -d /var/qmail/authdb -s /sbin/nologin authdb
# useradd -g vida -d /home/pop -s /bin/bash pop
# passwd pop
# useradd -g vida -d /var/qmail/users -s /sbin/nologin qmailu
# useradd -g vida -d /var/qmail/authdb -s /sbin/nologin authdb
# useradd -g vida -d /home/pop -s /bin/bash pop
# passwd pop
Changing password for user pop.
New UNIX password: **********新しく設定するパスワードを入力
Retype new UNIX password: **********確認のためにもう一度パスワードを入力
passwd: all authentication tokens updated successfully.
New UNIX password: **********新しく設定するパスワードを入力
Retype new UNIX password: **********確認のためにもう一度パスワードを入力
passwd: all authentication tokens updated successfully.
qmail のダウンロードとインストール
以下のものをダウンロードします。
- qmail の本体
- pop3 接続の認証を行うために必要な checkpassword
- qmail のネットワーク接続要求を受け付けるために必要な ucspi-tcp
- qmail の機能を拡張する qmail-vid
- ヘッダに記録される日付と時間をローカルタイムに合わせる(日本標準時を意味する +0900 を付加させる)ためのパッチ qmail-date-localtime.patch
- 512 バイトを超えるサイズの DNS 応答パケットを処理できないという問題を解決するパッチ qmail-103.patch
- glibc のバージョンが 2.3.1 以降の場合コンパイルエラーになる問題を解決するパッチ errno.patch
# wget -P /usr/local/src ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
# wget -P /usr/local/src http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
# wget -P /usr/local/src http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
# wget -P /usr/local/src http://keihanna.dl.sourceforge.jp/qmail-vida/2100/qmail-vida-0.53.tar.gz
# wget -P /usr/local/src http://honana.com/files/qmail/download.php?f=qmail-date-localtime.patch
# wget -P /usr/local/src http://www.ckdhr.com/ckd/qmail-103.patch
# wget -P /usr/local/src http://honana.com/files/qmail/download.php?f=errno.patch
# wget -P /usr/local/src http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
# wget -P /usr/local/src http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
# wget -P /usr/local/src http://keihanna.dl.sourceforge.jp/qmail-vida/2100/qmail-vida-0.53.tar.gz
# wget -P /usr/local/src http://honana.com/files/qmail/download.php?f=qmail-date-localtime.patch
# wget -P /usr/local/src http://www.ckdhr.com/ckd/qmail-103.patch
# wget -P /usr/local/src http://honana.com/files/qmail/download.php?f=errno.patch
ソースファイルを保存したディレクトリに移動し、ソースファイルを展開します。
# cd /usr/local/src
# tar xzf qmail-1.03.tar.gz
# tar xzf checkpassword-0.90.tar.gz
# tar xzf ucspi-tcp-0.88.tar.gz
# tar xzf qmail-vida-0.53.tar.gz
# tar xzf qmail-1.03.tar.gz
# tar xzf checkpassword-0.90.tar.gz
# tar xzf ucspi-tcp-0.88.tar.gz
# tar xzf qmail-vida-0.53.tar.gz
patch がインストールされていない場合はインストールします。
# yum -y install patch
コンパイルとインストールを行います。
# cd qmail-vida-0.53
# make patchpatch ディレクトリ内のパッチを qmail と checkpassword にあてる
# make copy展開したパッケージから qmail のライブラリを qmail と checkpassword のディレクトリにコピー
# cd ../qmail-1.03
# patch < ../qmail-date-localtime.patchパッチをあてる
# patch < ../qmail-103.patch
# patch < ../errno.patch
# make setup checkqmail のインストール
# cd ../checkpassword-0.90
# patch < ../errno.patchパッチをあてる
# make
# make setup checkcheckpassword のインストール
# cd ../ucspi-tcp-0.88
# patch < ../errno.patchパッチをあてる
# make
# make setup checkucspi-tcp のインストール
# cd ../qmail-vida-0.53/src/vida
# patch < ../../../errno.patchパッチをあてる
# make
# make setup checkqmail-vid のインストール
# cd ../..
# make install-docqmail-vida の付属文書のインストール
# make patchpatch ディレクトリ内のパッチを qmail と checkpassword にあてる
# make copy展開したパッケージから qmail のライブラリを qmail と checkpassword のディレクトリにコピー
# cd ../qmail-1.03
# patch < ../qmail-date-localtime.patchパッチをあてる
# patch < ../qmail-103.patch
# patch < ../errno.patch
# make setup checkqmail のインストール
# cd ../checkpassword-0.90
# patch < ../errno.patchパッチをあてる
# make
# make setup checkcheckpassword のインストール
# cd ../ucspi-tcp-0.88
# patch < ../errno.patchパッチをあてる
# make
# make setup checkucspi-tcp のインストール
# cd ../qmail-vida-0.53/src/vida
# patch < ../../../errno.patchパッチをあてる
# make
# make setup checkqmail-vid のインストール
# cd ../..
# make install-docqmail-vida の付属文書のインストール