スポンサーサイト

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

qmailでメールサーバ

qmailのセットアップメモ。

【ユーザ・グループの作成】
(シェルは/sbin/nologinとか/bin/trueとか)
alias:nofiles:/var/qmail/alias
qmaild:nofiles:/var/qmail
qmaill:nofiles:/var/qmail
qmailp:nofiles:/var/qmail
qmailq:qmail:/var/qmail
qmailr:qmail:/var/qmail
qmails:qmail:/var/qmail

【コンパイル&インストール】
% tar zxf qmail-1.03.tar.gz
% cp qmail-date-localtime.patch qmail-1.03/.
% cp qmail-smtpd-relay-reject.patch qmail-1.03/.
% cd qmail-1.03

日付パッチ適用(UTC→JSTにする)。
% patch < qmail-date-localtime.patch

不正relay防止パッチ適用。
% patch < qmail-smtpd-relay-reject.patch

Solarisの場合はconf-cc, conf-ldのccをgccに変更。

error.hで
/* extern int errno; */
#include <errno.h>

% make
% su
# make setup check

【aliasの設定】
とりあえず基本的なaliasの設定。
# cd /var/qmail/alias
# touch .qmail-postmaster
# touch .qmail-mailer-daemon
# touch .qmail-root
# chmod 644 .qmail*

.qmail-XXXに&mail_addressを記述するとmail_addressに転送。

【qmailの設定ファイル】
/var/qmail/control配下。

・me
メールサーバのFQDN

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

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

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

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

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

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

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

【checkpasswordのインストール】
% cd checkpassword-0.90
% make
% su
# make setup check

【tcpserverのインストール】
% cd ucspi-tcp-0.88
% make
% su
# make setup check

【pop3用アクセス制御データベース作成】
・/var/qmail/etc/tcp.pop3
たとえば192.168.1, 127., *.domain1.comからのpopを許可するなら

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

# cd /var/qmail/etc
# tcprules tcp.pop3.cdb tcp.pop3.tmp < tcp.pop3

【smtp用アクセス制御データベース作成】
・/var/qmail/etc/tcp.smtp
たとえば下の設定だと192.168.1., 127., *.domain1.comからのアクセスの場合RELAYCLIENTが設定されてるからどこ宛てでもリレーする。そのほかからのアクセスの場合allowになってるからアクセスは許可されて、rcpthostsにある宛先のメールだけリレーする。

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

# cd /var/qmail/etc
# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

【起動シェル】
・/var/qmail/rc

#!/bin/sh

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

・/etc/rc3.d/SXXqmail

#!/bin/sh

case "$1" in
'start')
csh -cf '/var/qmail/rc &'
#1行で
/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 &

#1行で
/usr/local/bin/tcpserver -v -x /var/qmail/etc/tcp.pop3.cdb -R -H
0 pop3 /var/qmail/bin/qmail-popup mailserver.domain1.com
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
| /var/qmail/bin/splogger pop3d 3 &
;;

'stop')
/usr/bin/pkill -f qmail
;;

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

smtpオプション説明

-v 全てのメッセージを出力。
-x アクセスデータベースを指定。
-R identによる接続元ホスト情報を取得しない。
-H 接続元ホストを調べない。
-u qmaildのUID。
-g nofilesのGID。
0 サーバ側監視IPアドレス。0でサーバのIPアドレス。
smtp 監視ポート。/etc/servicesにあるサービス名で指定できる。

pop3オプション説明

pop3 監視ポート。/etc/servicesにあるサービス名で指定できる。
mailserver.domain1.com メールサーバのFQDN。
ほかはsmtpと同じ。

【ユーザのホームディレクトリにMaildirを作成】
# cd /home/hogehoge
# /var/qmail/bin/maildirmake ./Maildir/

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

http://ysmt.blog21.fc2.com/tb.php/66-6d3fb4be

netqmailとvpopmailをインストール
前のエントリと一部重複するけど今回はvpopmail付きで。 今回はRHEL5へインストール。 用意するものは↓ netqmail-1.06.tar.gz qmail-smtpd-relay-reject.pa...

コメント

コメントする

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

Template Designed by DW99

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