必要なファイル

qmail-1.03.tar.gz
fileqmail-date-localtime.patch
ucspi-tcp-0.88.tzr.gz
vpopmail-5.4.33.tar.gz
autorespond-2.0.4.tar.gz
ezmlm-0.53.tar.gz
ezmlm-idx-0.40.tar.gz
fileezmlm-idx-0.53.400.unified_41.patch
qmailadmin-1.2.16.tar.gz

他エラー対策パッチ
fileqmail-1.03.errno.patch
fileucspi-tcp-0.88.errno.patch
fileqmail-103.patch

グループ・ユーザーの作成

mkdir /var/qmail
/usr/sbin/groupadd nofiles
/usr/sbin/useradd -g nofiles -d /var/qmail/alias alias
/usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false qmaild
/usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false qmaill
/usr/sbin/useradd -g nofiles -d /var/qmail -s /bin/false qmailp
/usr/sbin/groupadd qmail
/usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false qmailq
/usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false qmailr
/usr/sbin/useradd -g qmail -d /var/qmail -s /bin/false qmails

qmailインストール

# tar xvfz qmail-1.03.tar.gz
# cd qmail-1.03 
# patch < ../qmail-date-localtime.patch
# patch < ../qmail-1.03.errno.patch
# patch < ../qmail-103.patch
# make
# make setup check
# ./config
# ./config-fast ドメイン名
# cp /var/qmail/boot/home /var/qmail/rc
# vi /var/qmail/rc

./Mailbox の部分を ./Maildir/ (←最後のスラッシュが重要)

sendmail削除

入っていれば依存関連パッケージも含めて削除

# rpm -qa | grep sendmail
# rpm -e sendmail
# rpm -qa | grep postfix
# rpm -e postfix
# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

CentOS6.2ではpostfixが標準のようなので、シンボリックリンクは強制上書き

# ln -sf /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -sf /var/qmail/bin/sendmail /usr/sbin/sendmail

tcpserverインストール

# cd ..
# tar xvfz ucspi-tcp-0.88.tar.gz
# cd ucspi-tcp-0.88
# patch < ../ucspi-tcp-0.88.errno.patch
# make
# make setup check

ezmlm-idxインストール

# cd ..
# tar xvzf ezmlm-0.53.tar.gz
# tar xvzf ezmlm-idx-0.40.tar.gz
# mv ezmlm-0.53/issub.c ezmlm-0.53/issub.bak
# mv ezmlm-0.53/subscribe.c ezmlm-0.53/subscribe.bak
# mv -f ezmlm-idx-0.40/* ezmlm-0.53
# cd ezmlm-0.53
# patch < idx.patch
# patch < ../ezmlm-idx-0.53.400.unified_41.patch
# make clean
# make
# make man
# cp ezmlmrc.jp ezmlmrc
# make setup

このままだとメーリングリストは運営できないらしい

autorespondインストール

# cd ..
# tar xvzf autorespond-2.0.4.tar.gz
# cd autorespond-2.0.4

autorespondをコンパイルする前にautorespond.cの265行目に次の1行を挿入してからコンパイル。

:265
265# fprintf(fdm,"Content-Type: text/plain; charset=\"ISO-2022-JP\"\n" );
266# mfp = fopen( msg, "rb" );
# gcc -Wall -o autorespond autorespond.c
# cp autorespond /var/qmail/bin/

vpopmailインストール

# /usr/sbin/groupadd vchkpw
# /usr/sbin/useradd -g vchkpw -s /bin/false vpopmail
# cd ..
# tar xvzf vpopmail-5.4.33.tar.gz
# cd vpopmail-5.4.33

--enable-roaming-users : POP before SMTP機能を使用
1文字のアカウントを作る場合はソースを書き換える必要がある(弊害あるかも)

# ./configure --enable-roaming-users=y
# make
# make install-strip

cronの設定

vpopmailがsmtp用に許可したIPを毎時30分に定期的に掃除するように設定

# crontab -e
30 * * * * /home/vpopmail/bin/clearopensmtp

qmailadminインストール

# cd ..
# tar xvzf qmailadmin-1.2.16.tar.gz
# cd qmailadmin-1.2.16
# ./configure --enable-htmldir=/usr/local/apache2/htdocs \
--enable-cgibindir=/usr/local/apache2/cgi-bin \
--enable-imagedir=/usr/local/apache2/htdocs/images/qmailadmin \
--enable-imageurl=/images/qmailadmin
# make clean
# make
# make install-strip

ファイルの先頭の行をiso-2022-jpに変更し、JISコードに変換

# vi /usr/local/share/qmailadmin/lang/ja
# cd /usr/local/share/qmailadmin/lang
# lv -Oj ja > ja.jis
# mv ja.jis ja

lvが無い場合は

# nkf -j ja > ja.jis

ドメイン追加

example.com部分は設定するドメインを指定

# cd /home/vpopmail/bin
# ./vadddomain example.com
Please enter password for postmaster: ****
enter password again: ****

別のドメインをエリアスとして使用する場合は

# ./vaddaliasdomain example-alias.com example.com

容量制限

特定のメールドレスを5MBに制限する場合

# /home/vpopmail/bin/vsetuserquota メールアドレス 5m

ドメイン全体で5MBに制限する場合

# /home/vpopmail/bin/vsetuserquota ドメイン 5m

制限をはずす場合

# /home/vpopmail/bin/vsetuserquota メールアドレス noquota

デフォルト制限をする場合
10MB = 10 * 1024 * 1024

# su vpopmail
$ cd /home/vpopmail/domains/example.com
$ vi .qmailadmin-limits
default_quota 10485760

起動スクリプト作成

# vi /etc/rc.d/init.d/qmaild
#!/bin/sh
#
# Startup script for the Qmail&VPopmail
#
# chkconfig: 345 85 15
# description: QMAIL
# processname: qmaild
# pidfile: /var/run/qmaild.pid

# 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 /home/vpopmail/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 -l0 0 110 \
         /var/qmail/bin/qmail-popup example.com \
          /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
           | /var/qmail/bin/splogger pop3d &
        /var/qmail/rc &
        echo "ok"
        touch /var/lock/subsys/qmaild
        ;;
  stop)
        echo -n "Shutting down qmail: "
        kill $(/sbin/pidof tcpserver)
        kill $(/sbin/pidof qmail-send)
        echo "ok"
        rm -f /var/lock/subsys/qmaild
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac
exit 0
# chmod 755 /etc/rc.d/init.d/qmaild
# /sbin/chkconfig --add qmaild

qmailだけの場合と違って tcp.smtp.cdb の場所は /etc/tcp.smtp.cdb ではなくて /home/vpopmail/etc/tcp.smtp.cdb になるので注意
起動時に /usr/local/bin/tcpserver -H -R -x /etc/tcp.smtp.cdb とやってしまうと

553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
などと怒られてしまうので注意(私はこれに気が付かずにはまりました

画像が見えるようにhttpd.confにAlias設定

Alias /images/qmailadmin/ "/usr/local/apache2/htdocs/images/qmailadmin/"

http://example.com/cgi-bin/qmailadmin にアクセスして管理する

クライアントソフト設定

ユーザーID : 作成アカウント%example.com (% をつけるところに注意)

送信は受信後にしかできないので注意

smtpが立ち上がらない(550 relay not permitted エラー)

外部からメールを送信しても 550 relay not permitted のエラーメールが返ってきて送信ができない状態。

サーバを見るとsmtpが立ち上がっていない状態。

メールのログを見ると、tcpserver: fatal: unable to bind: address already used のエラー。

25番ポートがすでに使用されている状態。

# netstat -anp | grep LIST

で確認すると、eximというものがポートを使用していました。

# /etc/rc.d/init.d/exim stop

でサービスを停止。
また、サーバ再起動などでeximが起動しないようにサービスの自動起動を解除。

スパム対策

特定のアドレスやドメインから送られてくる場合は以下のファイルを作成して記述しておけば受信拒否できるようです。

# vi /var/qmail/control/badmailfrom
@example.com
test@example.com

添付ファイル: fileqmail-103.patch 438件 [詳細] fileezmlm-idx-0.53.400.unified_41.patch 428件 [詳細] fileucspi-tcp-0.88.errno.patch 320件 [詳細] fileqmail-1.03.errno.patch 391件 [詳細] fileqmail-date-localtime.patch 328件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-09-05 (火) 23:37:00 (467d)