・必要なファイル
qmail-1.03.tar.gz [Qmail 本体
qmapop-0.51.tar.gz [APOP & POP before SMTP プログラム
qmail-date-localtime.patch [localtime 表示にするパッチ
qmail-smtpd-relay-reject [不正な中継をさせないパッチ
ucspi-tcp-0.88.tar.gz [TCP Server 本体
patch-2.5.tar.gz [Patch 本体
checkpassword-0.90.tar.gz [Checkpassword 本体
・インストール手順
$ mv /{ファイルの場所}/patch-2.5.tar.gz /tmp/
$ mv /{ファイルの場所}/checkpassword-0.90.tar.gz /tmp/
$ mv /{ファイルの場所}/qmail-1.03.tar.gz /tmp/
$ mv /{ファイルの場所}/qmapop-0.51.tar.gz /tmp/
$ mv /{ファイルの場所}/ucspi-tcp-0.88.tar.gz /tmp/
$ mv /{ファイルの場所}/qmail-date-localtime-patch /tmp/
$ mv /{ファイルの場所}/qmail-smtpd-relay-reject /tmp/
$ cd /tmp/
■Patchのインストール
$ gunzip patch-2.5.tar.gz
$ tar xvf patch-2.5.tar
$ cd patch-2.5
$ ./configure
$ make
# make install
・標準のPatch コマンドを待避して、コンパイルしたものを有効にする。
# mv /usr/bin/patch /usr/bin/patch.sun
# ln -s /usr/local/bin/patch /usr/bin/patch
■qMailのインストール
Red Hat Linux 9 以降で qmail がインストールできない。
Red Hat Linux 9 で qmail の make setup check を行うと下記のエラーが発生します。
これは glibc のバージョンアップによるものです。
glibcのバージョンが 2.3.1 以降で起きます。
undefined reference to 'errorno' collect2: ld はステータス 1 で終了しました make: *** [auto-str] エラー 1 |
extern int errno; |
#include <errno.h> |
$ cd qmail-1.03 $ patch -p1 /path/to/qmail-1.03.errno.patch |
$ gunzip qmapop-0.51.tar.gz
$ tar xvf qmapop-0.51.tar
~~~~~~~~~
$ gunzip qmail-1.03.tar.gz
$ tar xvf qmail-1.03.tar
~~~~~~~~~
$ cp qmail-date-localtime.patch qmail-1.03
$ cp qmail-smtp-relay-reject qmail-1.03
$ cd qmail-1.03
$ patch < qmail-date-localtime.patch
~~~~~~~~~
$ patch < qmail-smtpd-relay-reject
~~~~~~~~~
$ patch < ../qmapop-0.51/qmail-popup.c.patch
~~~~~~~~~
$ su
# mkdir /var/qmail
# vi /etc/group
~~~ 追加 ~~~
qmail:x:2107:
nofiles:x:2108:
~~~~~~~~~~
~~~~~~~~~Linux~~~~~~~~~~~~~~
# vipw
~~~ 追加 ~~~
alias:*:7790:2108::0:0::/var/qmail/alias:/nonexistent
qmaild:*:7791:2108::0:0::/var/qmail:/nonexistent
qmaill:*:7792:2108::0:0::/var/qmail:/nonexistent
qmailp:*:7793:2108::0:0::/var/qmail:/nonexistent
qmailq:*:7794:2107::0:0::/var/qmail:/nonexistent
qmailr:*:7795:2107::0:0::/var/qmail:/nonexistent
qmails:*:7796:2107::0:0::/var/qmail:/nonexistent
apopdb:*:7797:2107::0:0::/var/qmail/apopdb:/nonexistent
~~~~~~~~~
~~~~~~~~~Soralis~~~~~~~~~~
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
useradd -g nofiles -d /var/qmail/apopdb apopdb
# make setup check
# make check
==ドメインがDNSに登録されている場合(mail.aaaaaa.comまで入れる。)==
# ./config {ドメイン名}
==ドメインがDNSに登録されていない場合(mail.aaaaaa.comまで入れる。)==
# ./config-fast {ドメイン名}
# cd ..
# cp qmail-1.03/compile qmapop-0.51
# cp qmail-1.03/load qmapop-0.51
# cd qmapop-0.51
# vi conf-opensmtp.h
#define OPENSMTP "/usr/local/bin/pop3-record"
/* #undef OPENSMTP */
# make
# make install
# cd /var/qmail/alias
# touch .qmail-root .qmail-postmaster .qmail-mailer-daemon
root宛のMAILを自分に転送したい場合
# vi .qmail-root
&{ユーザー名}
とする。
# echo '&root' > .qmail-bin
# echo '&root' > .qmail-daemon
# echo '&root' > .qmail-games
# echo '&root' > .qmail-ingres
# echo '&root' > .qmail-nobody
# echo '&root' > .qmail-system
# echo '&root' > .qmail-toor
# echo '&root' > .qmail-uucp
# echo '&root' > .qmail-usenet
# echo '&root' > .qmail-news
# echo '&root' > .qmail-www-admin
# chmod 644 .qmail-*
# /var/qmail/bin/maildirmake $HOME/Maildir
# echo ./Maildir/ > ~/.qmail
#cd /var/qmail
SMTPリレー制御(tcpserverを制御)の設定。
# vi /service/smtpd/tcp.smtp
202.221.255.:allow,RELAYCLIENT=""
:allow
DBファイルのクリエイト
# tcprules /service/smtpd/smtp.cdb /service/smtpd/smtp.tmp < /service/smtpd/tcp.smtp
起動スクリプトの作成。
# vi rc
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
# chkconfig: - 85 15
# description: qMail is a mail server.
#
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir splogger qmail &
/usr/local/bin/tcpserver -HRD -l mail.meet.co.jp -c 100 0 pop3 /var/qmail/bin/qmail-popup local.hosts.co /var/qmail/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &
/usr/local/bin/tcpserver -v -u 7791 -g 2108 -x /service/smtpd/smtp.cdb 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
-v デバックモード
# chmod 755 /var/qmail/rc
# mkdir /var/qmail/apopdb
# /var/qmail/bin/apop -\i
# /var/qmail/bin/apop -u {ユーザー名}
# cd /usr/tmp/src/qmapop-0.51
# install -m 755 pop3-record /usr/local/bin
# install -m 755 age-smtp /usr/local/bin
# mkdir -p /service/smtpd
#crontab -e
*/5 * * * * /usr/local/bin/age-smtp
qMailで、SENDMAILコマンドを使えるようにする。
mv /usr/lib/sendmail /usr/lib/sendmail.old
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail