スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

netqmailとvpopmailをインストール

前のエントリと一部重複するけど今回はvpopmail付きで。

今回はRHEL5へインストール。

用意するものは↓

netqmail-1.06.tar.gz
qmail-smtpd-relay-reject.patch
qmail-date-localtime.patch
ucspi-tcp-0.88.tar.gz
vpopmail-5.4.25.tar.gz

【qmail用ユーザ、グループ作成】

uid、gidは任意。

# groupadd -g 501 nofiles
# groupadd -g 502 qmail
# useradd -u 501 -g nofiles -d /var/qmail -s /sbin/nologin -M alias
# useradd -u 502 -g nofiles -d /var/qmail -s /sbin/nologin -M qmaild
# useradd -u 503 -g nofiles -d /var/qmail -s /sbin/nologin -M qmaill
# useradd -u 504 -g nofiles -d /var/qmail -s /sbin/nologin -M qmailp
# useradd -u 505 -g qmail -d /var/qmail -s /sbin/nologin -M qmailq
# useradd -u 506 -g qmail -d /var/qmail -s /sbin/nologin -M qmailr
# useradd -u 507 -g qmail -d /var/qmail -s /sbin/nologin -M qmails

【netqmailのインストール】

# tar zxf netqmail-1.06.tar.gz
# cp qmail-date-localtime.patch netqmail-1.06/.
# cp qmail-smtpd-relay-reject.patch netqmail-1.06/.
# cd netqmail-1.06
# patch < qmail-date-localtime.patch
# patch < qmail-smtpd-relay-reject.patch
# make
# make setup check

【netqmailの設定】

/var/qmail/control配下。

・me
メールサーバのFQDN

・rcpthosts
ここにあるドメイン宛てのメールをqmail-smtpdがリレーする。rcpthostsがない場合はオープンリレー。空ファイルのときは全拒否。tcpserverとかで環境変数RELAYCLIENTがセットされてればrcpthostsは無視。

例) こんな感じで列挙するだけ↓
hoge1.com
hoge2.com
hoge3.com

・databytes
1通のメールのサイズ制限。0で無制限。環境変数DATABYTESでセットすることも可能。

・locals
自ホスト宛てのドメイン一覧。ここにない場合はバーチャルドメインか自ホスト宛てじゃないと判断する。

・virtualdomains
バーチャルドメイン一覧。

例) こんな感じ↓
hoge1.com:hoge1.com
hoge2.com:hoge1.com
hoge3.com:hoge1.com

・concurrencylocal, concurrencyremote
ローカル、リモート配信の多重度。

・defaultdomain
ドメイン名省略時の追加名。

・plusdomain
"+"で終わる場合の追加名。

【tcpserverのインストール】
# tar zxf ucspi-tcp-0.88.tar.gz
# cd ucspi-tcp-0.88
# make

/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in tcpserver.o
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [tcpserver] Error 1
とかエラーになる。

error.hの中を↓のように変更。
/* extern int errno; */ ← コメントアウト
#include <errno.h> ← 追加

再度↓
# make
# make setup check

【pop3用アクセス制御データベース作成】

# mkdir /var/qmail/etc
# cd /var/qmail/etc

たとえば192.168.1, 127., *.domain1.comからのpopを許可するなら

# vi tcp.pop3

192.168.1.:allow
127.:allow
.domain1.com:allow
:deny

# tcprules tcp.pop3.cdb tcp.pop3.tmp < tcp.pop3

【smtp用アクセス制御データベース作成】

たとえば下の設定だと192.168.1., 127., *.domain1.comからのアクセスの場合RELAYCLIENTが設定されてるからどこ宛てでもリレーする。そのほかからのアクセスの場合allowになってるからアクセスは許可されて、rcpthostsにある宛先のメールだけリレーする。192.168.1.からのアクセスの場合10485760byteの制限がかかる。

# vi tcp.smtp

192.168.1.:allow,RELAYCLIENT="",DATABYTES="10485760"
127.:allow,RELAYCLIENT=""
.domain1.com:allow,RELAYCLIENT=""
:allow

# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

【vpopmail用ユーザ、グループ作成】

uid、gidは任意。

# groupadd -g 601 vchkpw
# useradd -u 601 -g vchkpw -d /home/vpopmail -s /sbin/nologin -M vpopmail

【vpopmailのインストール】

# tar zxf vpopmail-5.4.25.tar.gz
# cd vpopmail-5.4.25
# ./configure
# make
# make install-strip

【起動シェル/】

# vi /var/qmail/bin/rc
#!/bin/bash

exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail

# chmod 755 /var/qmail/bin/rc

# vi /etc/init.d/qmail
#!/bin/bash
#
# qmail
#
# chkconfig: 2345 80 30
# description: qmail

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

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

start() {
echo -n "Starting qmail: "
csh -cf '/var/qmail/bin/rc &'
/usr/local/bin/tcpserver -v -x /var/qmail/etc/tcp.smtp.cdb -R -H -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
/usr/local/bin/tcpserver -v -x /var/qmail/etc/tcp.pop3.cdb -R -H 0 pop3 /var/qmail/bin/qmail-popup mailsv.hoge1.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 &
echo
touch /var/lock/subsys/qmail
RETVAL=$?

return $RETVAL
}

stop() {
echo -n "Stopping qmail: "
killproc qmail-send
killproc tcpserver
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/qmail
echo
return $RETVAL
}

case "$1" in
'start')
start
RETVAL=$?
;;

'stop')
stop
RETVAL=$?
;;

'restart')
stop
start
RETVAL=$?
;;

*)
echo "Usage: $0 { start | stop | restart }"
exit 1
;;
esac

exit $RETVAL

# chmod 755 /etc/init.d/qmail

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/230-3941e717

コメント

早くワイヤレス接続をしたい。

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。