qmailインストール用のディレクトリを作成
mkdir /var/qmail
qmailを動作させるためのユーザとグループを作成
groupadd -g 900 nofiles
groupadd -g 901 qmail
groupadd -g 902 vida
useradd -g nofiles -u 900 -d /var/qmail/alias -m -k /dev/null -s /sbin/nologin alias
useradd -g nofiles -u 901 -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaild
useradd -g nofiles -u 902 -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaill
useradd -g nofiles -u 903 -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailp
useradd -g qmail -u 904 -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailq
useradd -g qmail -u 905 -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailr
useradd -g qmail -u 906 -d /var/qmail -m -k /dev/null -s /sbin/nologin qmails
useradd -u 907 -g vida -d /home/pop -s /bin/bash pop
useradd -u 908 -g vida -d /var/qmail/users -m -k /dev/null -s /sbin/nologin qmailu
useradd -u 909 -g vida -d /var/qmail/authdb -m -k /dev/null -s /sbin/nologin authdb
pop にログインパスワードを与える
passwd pop
解凍
cd /usr/local/src
tar xvfz netqmail-1.05.tar.gz
tar xzvf qmail-vida-0.53.tar.gz
tar xzvf checkpassword-0.90.tar.gz
tar xzvf ucspi-tcp-0.88.tar.gz
netqmail のソース展開と付属パッチの適用
cd netqmail-1.05
./collate.sh
qmail-vida の Makefile を編集
netqmail をベースにする場合には qmail-vida-0.53/Makefile の調整が不可欠
cd /usr/local/src/qmail-vida-0.53
vi Makefile
変更するポイント
QMAILSRC = ../netqmail-1.05/netqmail-1.05
patch-qmail: here=`pwd` && cd ${QMAILSRC} && ${PATCH} -p1 -F 3 < $${here}/patch/qmail.patch
パッチの適用
qmail-vida 付属パッチによる checkpassword, netqmail へのパッチ適用
make patch
cd ../netqmail-1.05/netqmail-1.05
patch -p1 < ../../qmail-date-localtime.patch
patch -p1 < ../../netqmail-vida-qregex-vrt.patch
patch < ../../qmail-remote-auth.patch
cd ../../checkpassword-0.90
patch -p1 < ../netqmail-1.05/other-patches/checkpassword-0.90.errno.patch
cd ../ucspi-tcp-0.88
patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch
qmail-vida のソース補完
checkpassword, ucspi-tcp, qmail から qmail-vida への必要ライブラリのコピーと、ucspi-tcp, qmail から checkpassword へのライブラリコピーが行われる
cd ../qmail-vida-0.53
make copy
qmailのインストール
cd ../netqmail-1.05/netqmail-1.05
vi qmail-remote.c ←2008/4/6追記
make setup check
25番ポートブロック対応
SMTP認証が必要なプロバイダ(リレーサーバー)の場合、 qmail-remote.c「void smtp()」関数内の次の箇所を修正
while((i += str_chr(smtptext.s+i,'\n') + 1) && (i+14 < smtptext.len) &&
str_diffn(smtptext.s+i+4,"AUTH LOGIN\n",11) &&
str_diffn(smtptext.s+i+4,"AUTH LOGIN ",11) &&
str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN\n",17) &&
str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN ",17) &&
+ str_diffn(smtptext.s+i+4,"AUTH CRAM-MD5 LOGIN PLAIN\n",26) &&
+ str_diffn(smtptext.s+i+4,"AUTH CRAM-MD5 LOGIN PLAIN ",26) &&
str_diffn(smtptext.s+i+4,"AUTH=LOGIN\n",11) &&
str_diffn(smtptext.s+i+4,"AUTH=LOGIN ",11));
※赤字の箇所が今回追加する部分です。
参考にさせていただいたURL
fragile graciousness
初回インストールの場合のみ以下実行(hosso.comは使用ドメインに置き換える)
./config-fast hosso.com
checkpasswordのインストール
cd ../../checkpassword-0.90
make
make setup check
qmail-vidaのインストール
cd ../qmail-vida-0.53/src/vida
make
make setup check
ドキュメントのインストール
vida ユーティリティは /var/qmail/bin/ に、ドキュメントは /var/qmail/doc/qmail-vida/ にインストールされる
cd ../..
make install-doc
ucspi-tcpのインストール
cd /usr/local/src/ucspi-tcp-0.88
make
make setup check
ディレクトリの整備
実在ドメインの、実在ユーザと仮想ユーザ用のパスワードディレクトリ構造を作成する。これによって、 /var/qmail/authdb/pwduser および pop ディレクトリが用意される
/var/qmail/bin/vida-pwdbinit |