qmail の変更点   

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • qmail へ行く。

*qmail [#xd60c0f7]

*事前準備 [#f96f36cb]
 su -

 mkdir /var/qmail
 groupadd nofiles
 useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
 useradd -g nofiles -d /var/qmail -s /bin/false qmaild
 useradd -g nofiles -d /var/qmail -s /bin/false qmaill
 useradd -g nofiles -d /var/qmail -s /bin/false qmailp
 groupadd qmail
 useradd -g qmail -d /var/qmail -s /bin/false qmailq
 useradd -g qmail -d /var/qmail -s /bin/false qmailr
 useradd -g qmail -d /var/qmail -s /bin/false qmails
 groupadd vida
 useradd -g vida -d /var/qmail/ -s /bin/false qmailu
 useradd -g vida -d /var/qmail/ -s /bin/false authdb
 useradd -g vida -d /home/pop/ -s /bin/bash pop

* コンパイルとインストール [#v380eb58]
 wget ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
 wget http://mirror.averse.net/pub/FreeBSD/ports/local-distfiles/sada/qmail-date-localtime.patch.gz
 wget http://qmail.oregonfast.net/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
 wget http://www.qmail.org/qmail-smtpd-relay-reject -O qmail-smtp.patch.txt
 wget http://www.ckdhr.com/ckd/qmail-103.patch
 tar xzfp qmail-1.03.tar.gz
 gunzip qmail-date-localtime.patch.gz
 cd qmail-1.03
 patch -s < ../qmail-date-localtime.patch
 patch -s < ../qmail-1.03.errno.patch
 patch -s < ../qmail-smtp.patch.txt
 patch -s < ../qmail-103.patch

x wget ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch~

  make setup check
  ./config-fast 【フルドメインネーム】

* 設定 [#z4e6d87c]

 /var/qmail/control以下
|rcptroutes   |SMTPで中継するメールアドレスドメイン【重要】|
|locals       |自分のサーバの中に取り込むアドレスドメイン  |
|defaultdomain|メールを送信する際につける                  |
|me           | from が解らなかった場合につけるメールアドレスドメイン|
|plusdomain   |変更不要                                    |
|smtproutes   |上位メールサーバに丸投げする等の場合に設定  |

 cp /var/qmail/boot/home /var/qmail/rc
 emacs /var/qmail/rc
 途中にある ./Mailbox の部分を ./Maildir/ に書き換え

* SMTPサーバのインストール(必須) [#vde147cb]
 wget http://www.emaillab.org/djb/tools/ucspi-tcp/ucspi-tcp-0.88.tar.gz
 wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
 tar xzfp ucspi-tcp-0.88.tar.gz
 cd ucspi-tcp-0.88
 patch -s -p1 < ../ucspi-tcp-0.88.errno.patch
 make setup check

 emacs /etc/tcp.smtp

 192.168.:allow,RELAYCLIENT=""
 127.:allow,RELAYCLIENT=""

 tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

* 旧 mailer の無効化 [#o882f0d9]
 /etc/rc.d/init.d/sendmail stop
 chkconfig --del sendmail
 chmod 0 /bin/mail /usr/sbin/sendmail
 mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
 ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
 
 この作業を行うと デフォで入ってる logwatch が動作しなくなるので
// emacs /etc/log.d/conf/logwatch.conf
 emacs /etc/logwath/conf/locwatch.conf
 Mail の部分を /var/qmail/bin/sendmail におきかえ
 
 emacs /etc/cron.daily/00-logwatch
 open(OUTFILE,"|$Config{'mailer'} " . $Config{'mailto'});
 に書き換える

* qmail-remove (queue の削除ツール) [#tdb43ab5]
 wget http://www.linuxmagic.com/opensource/qmail/qmail-remove/qmail-remove-0.94.tar.gz
 tar xzfp qmail-remove-0.94.tar.gz
 cd qmail-remove-0.94
 make
 cp qmail-remove /var/qmail/bin
 mkdir /var/qmail/queue/yanked

使用法
 queue の確認
 /var/qmail/bin/qmail-qstat
 
 queue の消去
 /var/qmail/bin/qmail-remove -r 

* 起動用スクリプトの記述 [#n58e1a85]
 emacs /etc/rc.d/init.d/qmaild

 #!/bin/sh
 ############
 # Startup script for the Qmail by Penta
 #
 # chkconfig: 345 55 15
 # description: QMAIL SMTP & POP3サーバー
 # processname: qmaild
 # pidfile: /var/run/qmaild.pid
 # filename /etc/rc.d/init.d/qmaild
 #
 # Source function library.
 . /etc/rc.d/init.d/functions
 
 # See how we were called.
 case "$1" in
  start)
        echo -n "Starting qmaild: "
        /usr/local/bin/tcpserver -H -R -x /etc/tcp.smtp.cdb \
         -c 100 -u qmaild -g nofiles 0 smtp \
          /var/qmail/bin/qmail-smtpd 2>&1 \
            /var/qmail/bin/splogger smtpd &
 
        /usr/local/bin/tcpserver -H -R 0 pop3 \
         /var/qmail/bin/qmail-popup 【マシン名.ドメイン名】 \
          /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
            /var/qmail/bin/splogger pop3d &
 
        /var/qmail/rc &
        echo
        touch /var/lock/subsys/qmaild
        ;;
  stop)
        echo -n "Shutting down qmail: "
        kill $(/sbin/pidof tcpserver)
        kill $(/sbin/pidof qmail-send)
        echo
        rm -f /var/lock/subsys/qmaild
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: $0 {startstoprestart}"
        exit 1
 esac
 exit 0


 chmod 755 /etc/rc.d/init.d/qmaild
 /sbin/chkconfig --add qmaild



* fastforward (/etc/aliases を使うためのツール) [#i6ffdb59]
 wget http://cr.yp.to/software/fastforward-0.51.tar.gz 
 tar xzfp fastforward-0.51.tar.gz
 cd fastforward-0.51
(R9 以降では error.h 内の errno を #include <errno.h> に変更)
 make setup check

 emacs /etc/aliases

 root: postmaster@hogehoge.com

 /var/qmail/bin/newaliases
 emacs ~alias/.qmail-default

 | /var/qmail/bin/fastforward -d /etc/aliases.cdb
 
* 不正中継テスト [#z10903bb]
 http://www.rbl.jp/svcheck.php
 △ http://www.abuse.net/relay.html
 × http://www.nanet.co.jp/rlytest/relaytest.html

 queue の確認
 qmail-stat

* pop3 [#i60044a1]
 wget http://www.emaillab.org/djb/qmail-vida/software/checkpassword-0.90.tar.gz
 tar xzfp checkpassword-0.90.tar.gz
 cd checkpassword-0.90
 emacs error.h
書き換える
 #include <errno.h>

 make setup check

既存ユーザ用メールディレクトリ作成
 su - 【既存ユーザ】
 /var/qmail/bin/maildirmake ./Maildir
 echo './Maildir/' > ~/.qmail

新規ユーザ(adduserで新たに作られるユーザ)用に自動的に作られる設定
 /var/qmail/bin/maildirmake /etc/skel/Maildir
 echo './Maildir/' > /etc/skel/.qmail

* ezmlm [#p4f76a6c]

#pre{{
wget ftp://ftp.ezmlm.org/pub/patches/ezmlm-0.53.tar.gz
wget ftp://ftp.ezmlm.org/pub/patches/ezmlm-idx-0.40.tar.gz
tar xzfp ezmlm-0.53.tar.gz
tar xzfp ezmlm-idx-0.40.tar.gz
mv ezmlm-idx-0.40/* ezmlm-0.53/
cd ezmlm-0.53
patch < idx.patch
}}
 emacs ezmlm-send.c

 // szmsgnum[fmt_urlong(szmsgnum,outnum)] = '\0';
 sprintf(szmsgnum,"%0*lu",6,outnum);

#pre{{
make clean
make
make setup
}}

&attachref(reprefix.zip);
//[[サブジェクト通番:http://penta.zaniah.net/reprefix.tgz]]

* 参考 [#b17371e1]
 http://www.qmail.org/rpms/glibc-2.3.1/
 http://yassu.no-ip.com/linux/qmail.htm
 http://www.marronkun.net/linux/mail/qmail_1-1.html
 http://chronoflyer.ddo.jp/doc/qmail.shtml