=== qmail 構築の為の覚書2 ===

*** qmail 構築の為の覚書からの変更点 ***
・バーチャルメールユーザ対応
・バーチャルドメインメールユーザ対応
・SMTP認証対応(PLAIN,CRAM-MD5)
・POP  before SMTP対応(*)
・APOP before SMTP対応(*)


*** 利用パッケージ ***
qmail-1.03.tar.gz
qmail-date-localtime.patch
checkpassword-0.90.tar.gz
ucspi-tcp-0.88.tar.gz
relay-ctrl-3.1.1.tar.gz
qmail-vida-0.51.tar.gz
daemontools-0.70.tar.gz
http://www.qmail.org/qmail-smtpd-relay-reject

*** インストール ***
$ tar xvfz qmail-1.03.tar.gz
$ tar xvfz checkpassword-0.90.tar.gz
$ tar xvfz ucspi-tcp-0.88.tar.gz
$ tar xvfz relay-ctrl-3.1.1.tar.gz
$ tar xvfz qmail-vida-0.51.tar.gz
$ tar xvfz daemontools-0.70.tar.gz

$ cd qmail-1.03
$ patch -p1 < ../qmail-date-localtime.patch

$ cd ../qmail-vida-0.51
$ vi Makefile
-----------------------------------------------
QMAILSRC        = ../qmail-1.03
CHECKPASSWORDSRC= ../checkpassword-0.90
UCSPITCPSRC     = ../ucspi-tcp-0.88
PREFIX          = /var/qmail
-----------------------------------------------
$ make patch
$ make copy

# mkdir /var/qmail
# /usr/sbin/groupadd -g 55 nofiles
# /usr/sbin/groupadd -g 56 qmail
# /usr/sbin/groupadd -g 57 vida
# /usr/sbin/useradd -g nofiles -d /var/qmail/alias -s /bin/false -m -k- -u 55 alias
# /usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false -u 56 qmaild
# /usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false -u 57 qmaill
# /usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false -u 58 qmailp
# /usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false -u 59 qmailq
# /usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false -u 60 qmailr
# /usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false -u 61 qmails
# /usr/sbin/useradd -g vida -d /home/vmail -u 62 vmail
# /usr/sbin/useradd -g vida -d /var/qmail/authdb -s /bin/false -m -k- -u 63 authdb
# /usr/sbin/useradd -g vida -d /var/qmail/users  -s /bin/false -m -k- -u 64 qmailu

--- "no mailbox here by that name." trick ---
# chown root /home/vmail
# chmod 770 /home/vmail
---------------------------------------------

$ vi src/vida/conf-realdomainowner
------------------
pop --> vmail
------------------
$ vi ../checkpassword-0.90/conf-realdomainowner
------------------
pop --> vmail
------------------
$ vi ../checkpassword-0.90/conf-withpasswd
------------------
0 --> 1
------------------
$ vi ../checkpassword-0.90/conf-blockuid
------------------
10 --> 100
------------------

$ cd ../qmail-1.03/
$ make
# make setup check
# ./config

$ cd ../checkpassword-0.90
$ make
# make setup check

$ cd ../ucspi-tcp-0.88/
$ make
# make setup check

$ cd ../daemontools-0.70
$ make envdir
# cp envdir /var/qmail/bin

$ cd ../relay-ctrl-3.1.1
$ vi conf-bin
------------------------------------
/usr/local/bin  --> /var/qmail/bin
------------------------------------
# mkdir /usr/local/man
$ make
# ./installer
# mkdir /var/qmail/relay-ctrl
# mkdir /var/qmail/relay-ctrl/allow
# chmod 700 /var/qmail/relay-ctrl
# chmod 777 /var/qmail/relay-ctrl/allow
# mkdir /var/qmail/env
# chmod 700 /var/qmail/env
# echo "/var/qmail/relay-ctrl/allow" > /var/qmail/env/RELAY_CTRL_DIR
# echo "180" > /var/qmail/env/RELAY_CTRL_EXPIRY
# crontab -e
* * * * * /var/qmail/bin/envdir /var/qmail/env /var/qmail/bin/relay-ctrl-age

$ cd ../qmail-vida-0.51/src/vida
$ make
# make setup check
$ cd ../..
# make install-doc

# mkdir /home/vdomains
# /var/qmail/bin/vida-pwdbinit

$ ls -l /var/qmail
drwxr-sr-x    3 alias    qmail        4096 Jan  7  2001 alias
drwxr-x---    6 authdb   vida         4096 Jan 13 11:31 authdb
drwxr-xr-x    2 root     qmail        4096 Jan  9 22:57 bin
drwxr-xr-x    2 root     qmail        4096 Nov 11  2000 boot
drwxr-xr-x    2 root     qmail        4096 Jan 14 15:01 control
drwxr-xr-x    2 root     qmail        4096 Nov 11  2000 doc
drwxr-xr-x   10 root     qmail        4096 Nov 11  2000 man
drwxr-x---   11 qmailq   qmail        4096 Nov 11  2000 queue
drwxr-sr-x    2 qmailu   qmail        4096 Jan 13 11:32 users

$ ls -l /var/qmail/bin
-rwx------    1 root     root        24920 Jan 13 14:49 checkpassword
-rwsr-x---    1 qmailu   vida        11576 Jan 14 13:44 qmail-newu
-rws--x--x    1 qmailq   qmail       12876 Jan 14 13:44 qmail-queue
-rwsr-x---    1 qmailu   vida        17836 Dec  2 19:51 vida-assign
-rwxr-x---    1 root     vida         9428 Dec  2 19:51 vida-maildirmake
-rwsr-xr-x    1 authdb   vida        19180 Dec  2 19:51 vida-passwd
-rwx------    1 root     root        15768 Dec  2 19:51 vida-pwdbinit
-rwsr-xr-x    1 authdb   vida        17064 Dec  2 19:51 vida-pwdbmake

*** /var/qmail/control/* の修正
*** /etc/qmail/alias/* の設定
*** Maildir の作成
*** sendmail停止とqmailのsendmailラッパー
*** メール中継の許可
*** qmail起動スクリプトの作成

$ vi /var/qmail/qmail.rc
-------------------------------------------------------------
#!/bin/sh

PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin

HOST="myhost-FQDN"

[ -f /var/qmail/rc ] || exit 0

exec    env - PATH="$PATH" DOMAINOWNER="" \
        envdir /var/qmail/env \
        relay-ctrl-chdir \
        tcpserver -vHR -l"$HOST" -x /etc/tcp.smtp.cdb 0 smtp \
        fixcrio \
        relay-ctrl-check \
        qmail-smtpup "$HOST" \
        checkpassword \
        qmail-smtpd 2>&1 | \
        splogger smtpd 4 &

exec    env - PATH="$PATH" DOMAINOWNER="" ALLOWPLAIN="" \
        envdir /var/qmail/env \
        relay-ctrl-chdir \
        tcpserver -vHR -l"$HOST" 0 pop3 \
        qmail-popup "$HOST" \
        checkpassword \
        relay-ctrl-allow \
        qmail-pop3d Maildir 2>&1 | \
        splogger pop3d 4 &

/var/qmail/rc

exit 0
-------------------------------------------------------------

*** qmailの起動





=================================================================================





*** バーチャルドメインの設定 ***
# vi /var/qmail/control/virtualdomains
# vi /var/qmail/control/rcpthosts
# /usr/sbin/useradd -g vida -d /home/vdomains/VDOMAIN.COM VDOMAIN.COM
# /var/qmail/bin/vida-pwdbinit VDOMAIN.COM
# su VDOMAIN.COM
$ cd
$ touch .qmail-postmaster .qmail-mailer-daemon .qmail-webmaster .qmail-root
# /sbin/service qmail restart



*** パスワードの設定 ***



=== 実在ユーザー
・APOP,SMTP認証を行う時にパスワード設定必須。
(注)パスワード設定をしない時は、POP認証のみ。
   また、SMTP認証が出来ない為、メール中継不可。
      POP before SMTP,APOP before SMTPで中継可。
・POPによる認証はクリアテキストによるパスワード認証の為、
 セキリュティ上、好ましくない。
 POP認証も可能だが、APOP認証を推薦。

*** 各ユーザが自分で設定
・追加・変更
$ /var/qmail/bin/vida-passwd
・削除
できない

*** ルート管理者が設定
# su vmail
・追加
# /var/qmail/bin/vida-passwd -a -r -u USER
・変更
# /var/qmail/bin/vida-passwd -c -r -u USER
・削除
# /var/qmail/bin/vida-passwd -d -r -u USER



=== バーチャル・メールのユーザー設定
# su vmail
・追加
$ /var/qmail/bin/vida-passwd -a -u VUSER
$ /var/qmail/bin/vida-assign -a -u VUSER
$ /var/qmail/bin/vida-maildirmake VUSER Maildir
・変更
$ /var/qmail/bin/vida-passwd -c -u VUSER
・削除
$ /var/qmail/bin/vida-passwd -d -u VUSER
$ /var/qmail/bin/vida-assign -d -u VUSER
$ cd;rm -rf VUSER



=== バーチャルドメインのユーザー設定
・基本的にドメイン管理者が設定
# su VDOMAIN.COM(ルート管理者が設定する時)
・追加,変更,削除
バーチャル・メールのユーザー設定と同じ





by JH5AKH 20021129