「qmailメモ」の編集履歴(バックアップ)一覧に戻る

qmailメモ - (2005/10/25 (火) 13:17:00) のソース

#contents

*インストール
http://www.asahi-net.or.jp/~aa4t-nngk/qmail.html を参考にした。

まず、qmailホームディレクトリを作成。
 # mkdir /var/qmail

次にqmailのプロセスが使用するgroupとuserを作成。
(gidとuidを600番台とするが自由)
 # groupadd -g 600 nofiles
 # groupadd -g 601 qmail
 # useradd -u 600 -g nofiles \
   -d /var/qmail/alias -m -k /dev/null -s /sbin/nologin alias
 # useradd -u 601 -g nofiles \
   -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaild
 # useradd -u 602 -g nofiles \
   -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaill
 # useradd -u 603 -g nofiles \
   -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailp
 # useradd -u 604 -g qmail \
   -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailq
 # useradd -u 605 -g qmail \
   -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailr
 # useradd -u 606 -g qmail \
   -d /var/qmail -m -k /dev/null -s /sbin/nologin qmails

ソースをダウンロード。ここではnetqmailを使う。netqmailはいろいろパッチがあたった状態のqmailなのでインストールが少しだけ楽になる。
(それでもパッチは当てなくちゃならない)

-netqmail-1.05.tar.gz &br()DL先 http://qmail.org/netqmail-1.05.tar.gz

必要なパッチを以下からダウンロード。
-netqmail-1.05-smtpd-auth-0.31.patch &br()DL先 http://www.asahi-net.or.jp/~aa4t-nngk/codes/netqmail-1.05-smtpd-auth-0.31.patch
-qmail-date-localtime.patch &br()DL先 http://www.asahi-net.or.jp/~aa4t-nngk/codes/qmail-date-localtime.patch

上記ファイルをwinscpとかで/usr/local/srcにコピー。
インストール開始。
 # cd /usr/local/src
 # tar xvfz netqmail-1.05.tar.gz
 # rm netqmail-1.05.tar.gz
 # cd netqmail-1.05/
 # ./collate.sh

必要なパッチを当てる。
 # cd netqmail-1.05/
 # patch -p1 < ../../qmail-date-localtime.patch
 # patch -p1 < ../../netqmail-1.05-smtpd-auth-0.31.patch

インストール。
サーバホスト名は環境に合わせる(hoge.comとか)
 # make setup check
 # ./config-fast サーバホスト名

完了。

manページを読めるように修正。
 # vi /etc/man.config
 MANPATH /usr/share/man などが書かれている辺りに
 MANPATH /var/qmail/man と足す。

sendmailのラッパーを使えるようにする。
 # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
 # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

メール使うユーザの追加。ここではinfoというユーザを追加した。
 # useradd info

ユーザのMailDirの整備。
 # su info
 $ /var/qmail/bin/maildirmake /home/info/Maildir
 $ exit

システム環境の整備。
/etc/profile の以下の部分を編集。
 MAIL="$HOME/Maildir"  <--変更
 MAILDIR=$MAIL         <--追加
 export PATH USER LOGNAME MAIL MAILDIR ... <--MAILDIRを挿入

/etc/login.defs も修正。
 QMAIL_DIR    Maildir  <--コメント解除
 MAIL_DIR     Maildir  <--変更
 #MAIL_FILE   .mail    <--要らないのでコメントアウト

起動準備。
 # cd /var/qmail/alias
 # touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
 # chmod 644 .qmail* 

/var/qmail/boot/homeを/var/qmailにrcという名前でコピー。
 # cp /var/qmail/boot/home /var/qmail/rc

Maildirへの移行。
コピーした/var/qmail/rcファイルの内容を下記のように編集。
 qmail-start ./Mailbox splogger qmail
 ↓
 qmail-start ./Maildir/ splogger qmail

MailDir対応設定。
 # /var/qmail/bin/maildirmake ~alias/Maildir
 # chown -R alias /var/qmail/alias/Maildir/

ここまできて、やっと起動。長かった。
 # /var/qmail/rc & 

終了するときは以下。
 #pkill qmail-send

メール受信テスト。
 # echo to: info@hoge.com | /var/qmail/bin/qmail-inject
 # more /var/qmail/alias/Maildir/new/xxxxxxxxx

*tcpserverによるqmail起動
まずtcpserverをインストール。
以下からソースダウンロード。
ftp://ftp.jp.qmail.org/qmail/ucspi-tcp-0.88.tar.gz
winscpとかで/usr/local/srcにコピー。

インストール開始。
 # cd /usr/local/src/
 # tar xvfz ucspi-tcp-0.88.tar.gz
 # rm ucspi-tcp-0.88.tar.gz
 # cd /ucspi-tcp-0.88/

パッチを当てる(netqmailの中にあるパッチを使用)
 # 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

インストール
 # make
 # make setup check

cdbファイルの作成。/etc/tcp.smtp として作成する。
 # vi /etc/tcp.smtp
 192.168.0.allow,RELAYCLIENT=""
 127.:allow,RELAYCLIENT=""
 :allow	←これは受信用
 
 # /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

tcpserverを介してqmailを起動する。下記コマンドで起動する。
(一行で記述。UID,GIDは id qmaild コマンドで確認できる)
 # tcpserver -v 
   -u[qmaildのUID] 
   -g[nofilesのGID]
   -x /etc/tcp.smtp.cdb 0 
   smtp /var/qmail/bin/qmail-smtpd 2>&1 
   | /var/qmail/bin/splogger smtpd 3 &

終了するときは ps aux | grep tcp とかで pid調べて kill コマンド。
目安箱バナー