qmail インストールおよび設定手順

以下は、qmailおよび関連ツール(ucspi-tcp、vpopmail、autoresponder、ezmlm、qmailadmin)のインストールおよび設定手順です。


1. ディレクトリ作成・ユーザー作成

mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias -m -k /dev/null -s /sbin/nologin alias
useradd -g nofiles -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaild
useradd -g nofiles -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaill
useradd -g nofiles -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailq
useradd -g qmail -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailr
useradd -g qmail -d /var/qmail -m -k /dev/null -s /sbin/nologin qmails

2. qmail コンパイル

cd netqmail-1.06

patch < ../netqmail-1.05-tls-smtpauth-20070417.patch

patch < ../qmail-103.patch
patch < ../qmail-date-localtime.patch
patch < ../qmail-smtpd-relay-reject.patch

make setup check

3. TLS の設定

make cert

openssl ciphers > /var/qmail/control/tlsserverciphers
openssl ciphers > /var/qmail/control/tlsclientciphers

4. 初期設定

./config-fast acoustype.com
./config-fast `/bin/hostname`

5. MTA の設定

rm -fr /etc/alternatives/mta

ln -s /var/qmail/bin/sendmail /etc/alternatives/mta

6. エイリアスの設定

cd /var/qmail/alias

touch .qmail-mailer-daemon .qmail-root .qmail-anonymous .qmail-nobody

chmod 644 .qmail*

7. 設定ファイルの確認

cd /var/qmail/control

# ダブルバウンスメール破棄用ファイル
touch /var/qmail/control/doublebounceto

# queue 保存期間(1日=86400秒)
echo "86400" > /var/qmail/control/queuelifetime

# 以下、各設定項目の内容
[defaultdomain]
acoustype.com

[locals]
localhost
acoustype.com

[me]
acoustype.com

[plusdomain]
acoustype.com

[rcpthosts]
localhost
acoustype.com

8. 起動スクリプトの用意

cp /var/qmail/boot/home /var/qmail/rc

vi /var/qmail/rc

# 編集例
qmail-start ./Mailbox splogger qmail
↓
qmail-start ./Maildir/ splogger qmail

9. qmail の起動

/bin/csh -cf /var/qmail/rc &

10. テスト送信

echo to: ****@****.com | /var/qmail/bin/qmail-inject

ucspi-tcp のインストール

1. ソースディレクトリへ移動

cd /usr/local/src/qmail

cd ucspi-tcp-0.88

patch < ../ucspi-tcp-ssl-20050405.patch

make

make setup check

vpopmail のインストール

1. ユーザー・グループ作成

groupadd -g 89 vchkpw
useradd -g vchkpw -u 89 vpopmail

2. vpopmail のコンパイルおよびインストール

cd vpopmail-5.4.33

./configure \
--enable-incdir=/usr/local/mysql/include/mysql \
--enable-libdir=/usr/local/mysql/lib/mysql \
--enable-roaming-users \
--enable-relay-clear-minutes=15 \
--enable-logging=y \
--disable-ip-alias-domains \
--disable-passwd \
--enable-clear-passwd \
--disable-domainquotas \
--enable-auth-module=mysql \
--disable-many-domains \
--enable-auth-logging \
--enable-sql-logging \
--enable-valias \
--disable-mysql-limits

make

make install-strip

3. MySQL の設定

echo "localhost|0|vpopmailuser|vpoppasswd|vpopmail" > ~vpopmail/etc/vpopmail.mysql

chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql

chmod 640 ~vpopmail/etc/vpopmail.mysql

4. DB と MySQL アカウントの作成

MySQL のプロンプト上で以下を実行してください。

CREATE DATABASE vpopmail;

GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY 'vpoppasswd';

FLUSH PRIVILEGES;

5. tcp.smtp データベースの作成

まず、ファイルを編集します。

vi /home/vpopmail/etc/tcp.smtp

編集内容例:

127.:allow,RELAYCLIENT=""
192.168.1.0-255:allow,RELAYCLIENT=""
:allow

編集後、以下のコマンドでデータベースに変換します。

/usr/local/bin/tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp

6. SMTP-AUTH の vchkpw の権限とセットID

chown root:root vchkpw

chmod 4755 vchkpw

7. POP Before SMTP のお掃除(15分毎)を cron で設定

crontab -e

# 以下を追加
*/15 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

autoresponder のインストール

cd autorespond-2.0.4

make

make install

ezmlm のインストール

chown -R root:root ezmlm-0.53
chown -R root:root ezmlm-idx-0.444

mv -f ezmlm-idx-0.444/* ezmlm-0.53/

cd ezmlm-0.53

patch < idx.patch

chmod -R 755 *

make clean

make

make man

make ja

make setup

qmailadmin のインストール

./configure \
--enable-htmldir=/home/vpopmail/public_html \
--enable-cgibindir=/home/vpopmail/public_html \
--enable-cgipath=/~vpopmail/qmailadmin.cgi \
--enable-imagedir=/home/vpopmail/public_html/images/qmailadmin \
--enable-imageurl=/~vpopmail/images/qmailadmin \
--enable-modify-quota

make

make install-strip

8. 拡張子「.cgi」を付与

rm -f ~vpopmail/public_html/qmailadmin.cgi

cp -fp ~vpopmail/public_html/qmailadmin ~vpopmail/public_html/qmailadmin.cgi

rm -f ~vpopmail/public_html/qmailadmin
echo "Server:Disable = True;" > /home/vpopmail/etc/vusagec.conf

9. .htaccess の設定

vi /home/vpopmail/public_html/.htaccess

# 以下の内容を記述
DirectoryIndex qmailadmin.cgi

qmail 起動スクリプトの作成

1. スクリプトの編集

vi /etc/rc.d/init.d/qmail

以下は、スクリプトの例です。

#!/bin/sh
#
# qmail This shell script takes care
# of starting and stopping qmail.
#
# chkconfig: 2345 80 30
# description: Starts and stops qmail.

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

# See how we were called.
case "$1" in

start)
echo -n "Starting qmail: "

# Using splogger to send the log through syslog.
exec env - PATH="/var/qmail/bin:$PATH" \
/var/qmail/bin/qmail-start ./Maildir/ /var/qmail/bin/splogger qmail &

# SMTP
/usr/local/bin/tcpserver -qvphR -t 180 \
-l `/bin/hostname` \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u `/usr/bin/id -u qmaild` -g `/usr/bin/id -g qmaild` \
0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | \
/var/qmail/bin/splogger smtpd &

# SMTP-AUTH
# /usr/local/bin/tcpserver -qvphR -t 180 \
# -l `/bin/hostname` \
# -x /home/vpopmail/etc/tcp.smtp.cdb \
# -u `/usr/bin/id -u qmaild` -g `/usr/bin/id -g qmaild`
# 0 smtp \
# /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 | \
# /var/qmail/bin/splogger smtpd &

# SMTP over SSL/TLS
/usr/local/bin/tcpserver -qvphR -t 180 \
-l `/bin/hostname` \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u `/usr/bin/id -u qmaild` -g `/usr/bin/id -g qmaild` \
-s -n /var/qmail/control/servercert.pem \
0 465 \
/var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 | \
/var/qmail/bin/splogger smtpd &

# SMTP Submission
/usr/local/bin/tcpserver -qvphR -t 180 \
-l `/bin/hostname` \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u `/usr/bin/id -u qmaild` -g `/usr/bin/id -g qmaild` \
0 587 \
/var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 | \
/var/qmail/bin/splogger smtpd &

# POP3
/usr/local/bin/tcpserver -qvphR -t 180 \
-l `/bin/hostname` \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u `/usr/bin/id -u vpopmail` -g `/usr/bin/id -g vpopmail` \
0 pop3 \
/var/qmail/bin/qmail-popup `/bin/hostname` /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger pop3d &

# POP3S
/usr/local/bin/tcpserver -qvphR -t 180 \
-l `/bin/hostname` \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u `/usr/bin/id -u vpopmail` -g `/usr/bin/id -g vpopmail` \
-s -n /var/qmail/control/servercert.pem \
0 995 \
/var/qmail/bin/qmail-popup `/bin/hostname` /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger pop3d &

echo
touch /var/lock/subsys/qmail
;;
stop)
echo -n "Shutting down qmail: "
killproc qmail-send
killproc tcpserver
echo
rm -f /var/lock/subsys/qmail
;;
restart)
echo -n "Restarting qmail: "
$0 stop
$0 start
echo "done."
;;
cdb)
#/usr/local/bin/tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp
echo "done."
;;
*)
echo "Usage: qmail {start|stop|restart|cdb}"
exit 1

esac

exit 0

2. 自動起動の設定

chmod 755 /etc/rc.d/init.d/qmail

chkconfig qmail on
chkconfig --level 345 qmail on

3. /var/qmail/users/cdb の更新

/var/qmail/users/assign を修正後、以下のコマンドを実行して cdb を更新します。

/var/qmail/bin/qmail-newu

以上の手順に従って、各種ソフトウェアのインストールおよび設定を実施してください。各コマンドは環境に応じた調整が必要な場合がございますので、事前にバックアップやテスト環境での検証をお勧めいたします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です