・inetdではなくtcpserverを利用する
・qmail.shを利用した起動(qmail基本セットの立ち上げ)
・smtpd.shとpop3d.shを別途に起動設定(qmail.shも必要)
・vpopmailと通常利用で認証用のプログラムが違う(vchkpw、checkpassword)
・MaildirとMailbox。前者はユーザディレクトリへ配送。後者は/var/mailへ配送。基本的に前者を採用する。
・ここで説明しているものは、portsだけでインストール。インストール設定はすべてデフォルト。
■インストール時に設定・サービスの稼働
# 基本ディレクトリ
cd /var/qmail
cd /usr/local/vpopmail
# サービスの起動
ps ax
/usr/local/etc/rc.d/qmail.sh stop
/usr/local/etc/rc.d/qmail.sh start
/usr/local/etc/rc.d/pop3d.sh
/usr/local/etc/rc.d/smtpd.sh
# 各チェックに必要
--->動作に問題があれば、cannot startと出る
tail /var/log/maillog
--->テストで送信できる
echo To: da@fksj.org| /var/qmail/bin/qmail-inject
--->設定一覧
/var/qmail/bin/qmail-showctl
---
■運用前に一度設定すればほとんど変更しない項目
# 起動スクリプトから呼び出される qmail.sh 自動起動も
cp /var/qmail/boot/maildir /var/qmail/rc
# Mailboxであれば、Maildirに修正
ee /var/qmail/rc
# tcpserverから起動するのでsmtpとpop3はコメントアウト。
ee /etc/inetd.conf
ee /etc/hosts.allow
killall -HUP inetd
# sendmailにシンボリックリンクは張ったか
/usr/sbin/sendmail
# portsからのインストールではシンボリックリンク
ls -al /usr/local/etc/rc.d/qmail.sh
#chmod 705 /usr/local/etc/rc.d/qmail.sh
# binmailの削除はしたか
chmod 0 /usr/libexec/mail.local
# inetd.confのcomsatが有効であればコメントアウト
ee /etc/inetd.conf
# sendmailがnoneに設定されているか
ee /etc/rc.conf
# daily run outputの設定
ee /etc/defaults/periodic.conf
daily_status_include_submit_mailq="NO" # Also submit queue
# 再度sendmailがインストールされないように設定
ee /etc/make.conf
# alias (sendmailのaliasesに相当・以下の3つは最低設定する)
cd /var/qmail/alias
ee .qmail-root
ee .qmail-postmaster
ee .qmail-mailer-daemon
#qmail.shで基本部分を立ち上げ、popおよびsmtpは別途にtcpserverを使って立ち上げる。以下にshの例。作成後は実行権限も。
cd /usr/local/etc/rc.d/
ee pop3d.sh
---
#!/bin/sh
exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:
/usr/local/sbin:/usr/local/bin"
/usr/local/bin/tcpserver -x /etc/tcp.pop3.cdb -HR 0 pop3
/var/qmail/bin/qmail-popup ns1.adaptjapan.com
/usr/local/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 &
---
ee smtpd.sh
1.テスト用の/etc/を利用するタイプ
---
#!/bin/sh
exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:
/usr/local/sbin:/usr/local/bin"
/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb
-R -H -lo -u 82 -g 81 0 smtp
/var/qmail/bin/qmail-smtpd 2>&1 &
---
2.実際の運用でpop before smtpを行う/usr/local/vpopmail/を利用するタイプ
---
#!/bin/sh
exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:
/usr/local/sbin:/usr/local/bin"
/usr/local/bin/tcpserver -x /usr/local/vpopmail/etc/tcp.smtp.cdb
-R -H -lo -u 82 -g 81 0 smtp
/var/qmail/bin/qmail-smtpd 2>&1 &
---
chmod 755 pop3d.sh
chmod 755 smtpd.sh
# pop before smtpの設定に必要。crontab -eで追記。
40 * * * * root /usr/local/vpopmail/bin/clearopensmtp 2>&1 1>/dev/null
---
■運用時に必要な設定・各アカウントの管理やホスト登録
# まずは設定
cd /var/qmail/configure
./config
./config-fast
# 設定ファイルの在処
cd /var/qmail/control/
#自分自身の名前。最低稼働に必要。
ee /var/qmail/control/me
# defauldomain ホスト名を省略された場合に受け取るドメイン名。
ee /var/qmail/control/defaultdomain
# locals その他のローカルサーバを記述。vpopmailのドメインをここに記述しない。
ee /var/qmail/control/locals
# rcpthosts リレー許可のホスト。vpopmailでaddすれば自動追加。
ee /var/qmail/control/rcpthosts
# plusdomain 追加ドメイン
ee /var/qmail/control/plusdomain
# メールの受け取り拒否(メールアドレスを列挙、@domainのような形でも良い)
ee /var/qmail/control/badmailfrom
# 受信メールサイズの上限
ee /var/qmail/control/databytes
# バーチャルドメインのリスト。vpopmailでaddした際は自動追加。
ee /var/qmail/control/virtualdomains
# SMTP応答用ホスト名 SMTPの最初の挨拶文。なければ起動しないとなっている。
ee /var/qmail/control/smtpgreeting
# smtpgreetingの最初の語は現ホスト名でなければならない。
#POPの許可(tcpserver)
ee /etc/tcp.pop3
---
202.224.215.64:allow
:allow
---
#SMTPの許可(tcpserver)
ee /etc/tcp.smtp
---
127.0.0.1:allow,RELAYCLIENT="@fixme"
111.222.333.444:allow,RELAYCLIENT="@fixme"
:allow
---
# CDBファイルの作成
/usr/local/bin/tcprules /etc/tcp.pop3.cdb /etc/tcp.pop3.tmp < /etc/tcp.pop3
/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
※smtp.cdbは、テストのみで利用し、運用時はpop before smtpで。
# 最近のアクセスがここへ記載される
# アクセスされるたびに設定されるようで、POP3 before SMTPとしても動作する
ee /usr/local/vpopmail/etc/open-smtp
# 一定の時間で再度smtpを不許可にするため、以下を呼び出す。
# crontabで設定。
/usr/local/vpopmail/bin/clearopensmtp
# ローカルからのアクセスなど必ずリレーするホストを記述
ee /usr/local/vpopmail/etc/tcp.smtp
# cdbファイルの生成
/usr/local/bin/tcprules /usr/local/vpopmail/etc/tcp.smtp.cdb /usr/local/vpopmail/etc/tcp.smtp.tmp < /usr/local/vpopmail/etc/tcp.smtp
■ 未整理
--->自動でユーザを追加・・・vpopmail利用時は不要
su user
cd ~
/var/qmail/bin/maildirmake $HOME/Maildir
echo ./Maildir/ > ~/.qmail
chmod 644 ~/.qmail
exit
--->手動でユーザを追加・・・vpopmail利用時は不要。流れを見て留意。
cd ~
mkdir Maildir
cd Maildir
mkdir cur
mkdir new
mkdir tmp
chmod 700 cur
chmod 700 new
chmod 700 tmp
cd ..
chmod 700 Maildir
smtp(inetd)
---
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
---
以下を追加、他のpop3を停止。
---
pop3 stream tcp nowait root /usr/libexec/tcpd /var/qmail/bin/qmail-popup ns1.adaptjapan.com /usr/local/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir
---
vpopmail利用時は以下
---
pop3 stream tcp nowait root /usr/libexec/tcpd /var/qmail/bin/qmail-popup ns1.adaptjapan.com /usr/local/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir
---
ee /etc/hosts.allow
---
pop3 : ALL : allow |