パッチの場所
http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/
ローカルタイムのパッチを当てる(このURLはIEでは閲覧できません。)
wget http://www.jms1.net/qmail/qmail-date-localtime.patch
cd qmail-1.03/
ローカル時刻
patch -p1 < ../qmail-1.03.qmail_local.patch
patch -p1 < ../qmail-1.03.errno.patch
----------------------------------------------------------------------
インストール先のディレクトリを作る
----------------------------------------------------------------------
mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
useradd -g nofiles -d /var/qmail -s /bin/false qmaild
useradd -g nofiles -d /var/qmail -s /bin/false qmaill
useradd -g nofiles -d /var/qmail -s /bin/false qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -s /bin/false qmailq
useradd -g qmail -d /var/qmail -s /bin/false qmailr
useradd -g qmail -d /var/qmail -s /bin/false qmails
----------------------------------------------------------------------
コンパイルする
----------------------------------------------------------------------
make setup check
ドメインを指定して
./config-fast acoustype.com
----------------------------------------------------------------------
設定ファイルの確認
----------------------------------------------------------------------
cd /var/qmail/control
//ダブルバウンスメール破棄
touch /var/qmail/control/doublebounceto
//受信最大容量1MB
echo "1024000" > /var/qmail/control/databytes
//queue保存期間 1日
echo "86400" > /var/qmail/control/queuelifetime
[defaultdomain]
acoustype.com
[locals]
localhost
acoustype.com
[me]
acoustype.com
[plusdomain]
acoustype.com
[rcpthosts]
localhost
acoustype.com
----------------------------------------------------------------------
エイリアスの設定
----------------------------------------------------------------------
(例1)
cd /var/qmail/alias
touch .qmail-postmaster .qmail-mailer-daemon .qmail-root .qmail-anonymous .qmail-nobody
chmod 644 .qmail*
(例2 ****@****.com宛にシステムメールが届く)
cd /var/qmail/alias
echo "****@****.com" > .qmail-root
echo "****@****.com" > .qmail-nobody
echo "****@****.com" > .qmail-anonymous
echo "****@****.com" > .qmail-mailer-daemon
chmod 644 .qmail*
----------------------------------------------------------------------
起動スクリプトの用意
----------------------------------------------------------------------
cp /var/qmail/boot/home /var/qmail/rc
----------------------------------------------------------------------
Maildirに対応させる
----------------------------------------------------------------------
/var/qmail/rcを編集
vi /var/qmail/rc
qmail-start ./Mailbox splogger qmail
↓
qmail-start ./Maildir/ splogger qmail
----------------------------------------------------------------------
Maildirを作る
----------------------------------------------------------------------
/var/qmail/bin/maildirmake ~alias/Maildir
chown -R alias /var/qmail/alias/Maildir
/var/qmail/bin/maildirmake ~/Maildir
/var/qmail/bin/maildirmake /etc/skel/Maildir
----------------------------------------------------------------------
qmailの起動コマンド
----------------------------------------------------------------------
/bin/csh -cf /var/qmail/rc &
----------------------------------------------------------------------
sendmailとqmailを差し替える
----------------------------------------------------------------------
デフォルトでインストールされているsendmailは一応そのままにしておく
cd /usr/sbin
rm -f sendmail.org
mv sendmail sendmail.org
chmod 0 sendmail.org
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
chmod 755 /var/qmail/bin/sendmail
----------------------------------------------------------------------
テスト送信
----------------------------------------------------------------------
echo to: ****@****.com | /var/qmail/bin/qmail-inject
--------------------------------------------------------------------------------
[tcpserverのインストール]
--------------------------------------------------------------------------------
cd ucspi-tcp-0.88/
patch < ../ucspi-tcp-0.88.errno.patch
make
make setup check
以下のコマンドで[qmaildのUID]と[nofilesのGID]を調べておく
id qmaild
uid=520(qmaild) gid=519(nofiles) 所属グループ=519(nofiles)
--------------------------------------------------------------------------------
[vpopmailのインストール] - MySQL
--------------------------------------------------------------------------------
http://sourceforge.net/projects/vpopmail/
パーミッションの変更
chown -R root.root vpopmail-5.4.25
cd vpopmail-5.4.25
ユーザーとグループの追加
userdel -r postfix
groupdel postfix
groupadd -g 89 vchkpw
useradd -g vchkpw -u 89 vpopmail
./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-domain-quotas \
--enable-auth-module=mysql \
--disable-many-domains \
--enable-auth-logging \
--enable-sql-logging \
--enable-valias \
--disable-mysql-limits
./configure \
--enable-roaming-users \
--enable-relay-clear-minutes=15 \
--enable-logging=y
make
make install-strip
----------------------------------------------------------------------
MySQLの場合
----------------------------------------------------------------------
echo "localhost|0|vpopmailuser|vpoppasswd|vpopmail" > ~vpopmail/etc/vpopmail.mysql
chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql
DB作成
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY 'vpoppasswd';
FLUSH PRIVILEGES;
----------------------------------------------------------------------
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
----------------------------------------------------------------------
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
--------------------------------------------------------------------------------
[maildropのインストール]
--------------------------------------------------------------------------------
http://www.courier-mta.org/maildrop/
./configure \
--enable-syslog=1 \
--enable-maildrop-uid=vpopmail \
--enable-maildrop-gid=vchkpw \
--enable-trusted-users=vpopmail \
--enable-trusted-groups=vchkpw
make
make install-strip
make install-man
--------------------------------------------------------------------------------
[qmailadminのインストール]
--------------------------------------------------------------------------------
cd /usr/local/src/qmail/qmailadmin-1.2.9
./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 \
--enable-modify-spam \
--enable-spam-command="|/var/qmail/bin/preline /usr/local/bin/maildrop /etc/mailfilter" \
--enable-help
./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
----------------------------------------------------------------------
拡張子[.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
vi /home/vpopmail/public_html/.htaccess
DirectoryIndex qmailadmin.cgi
----------------------------------------------------------------------
qmailadmin-help
----------------------------------------------------------------------
mkdir /home/vpopmail/public_html/images/qmailadmin/help
cp -rp * /home/vpopmail/public_html/images/qmailadmin/help
vi /home/vpopmail/public_html/images/qmailadmin/help/.htaccess
DirectoryIndex index.html
----------------------------------------------------------------------
ドメインを登録
----------------------------------------------------------------------
cd ~vpopmail/bin
./vadddomain acoustype.jp
--------------------------------------------------------------------------------
qmail 起動スクリプト
--------------------------------------------------------------------------------
----------------------------------------------------------------------
viでファイル作成し、以下の点線内のスクリプトを記述
----------------------------------------------------------------------
vi /etc/rc.d/init.d/qmail
----------------------------------------------------------------------
事前に調べておいた[qmaildのUID]と[nofilesのGID]を書き換える
----------------------------------------------------------------------
id qmaild
uid=520(qmaild) gid=519(nofiles) 所属グループ=519(nofiles)
#Vsmtp
/usr/local/bin/tcpserver -H -R -l acoustype.jp -v -x \
/home/vpopmail/etc/tcp.smtp.cdb -u 520 -g 519 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | \
/var/qmail/bin/splogger smtpd 3 &
#Vpop
/usr/local/bin/tcpserver -H -R -l acoustype.jp -v 0 pop3 \
/var/qmail/bin/qmail-popup acoustype.jp \
/home/vpopmail/bin/vchkpw \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger pop3d 3 &
----------------------------------------------------------------------
パーミッションの変更
----------------------------------------------------------------------
chmod 755 /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" \
qmail-start ./Maildir/ splogger qmail &
# Start smtpd
/usr/local/bin/tcpserver -H -R -l acoustype.com -v -x \
/home/vpopmail/etc/tcp.smtp.cdb -u 504 -g 503 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | \
/var/qmail/bin/splogger smtpd 3 &
# Start pop3d
/usr/local/bin/tcpserver -H -R -l acoustype.com -v 0 pop3 \
/var/qmail/bin/qmail-popup acoustype.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
;;
stop)
echo -n "Shutting down qmail: "
killproc qmail-send
killproc tcpserver
echo
rm -f /var/lock/subsys/qmail
echo ""
;;
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
------------------------------------------------------------
qmail-scanner-queue.pl版
------------------------------------------------------------
#!/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
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
# 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" \
qmail-start ./Maildir/ splogger qmail &
# Start smtpd
/usr/local/bin/tcpserver -H -R -l acoustype.com -v -x \
/home/vpopmail/etc/tcp.smtp.cdb -u 504 -g 503 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | \
/var/qmail/bin/splogger smtpd 3 &
# Start pop3d
/usr/local/bin/tcpserver -H -R -l acoustype.com -v 0 pop3 \
/var/qmail/bin/qmail-popup acoustype.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
;;
stop)
echo -n "Shutting down qmail: "
killproc qmail-send
killproc tcpserver
echo
rm -f /var/lock/subsys/qmail
echo ""
;;
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
----------------------------------------------------------------------
自動起動に登録
----------------------------------------------------------------------
chkconfig --add qmail
--------------------------------------------------------------------------------
Qmail-Scannerのインストール
--------------------------------------------------------------------------------
http://www.atmarkit.co.jp/flinux/rensai/qmail08/qmail08c.html
qmail-scanner-1.25.gz
http://qmail-scanner.sourceforge.net/
maildrop-1.8.0.tar.bz2
http://prdownloads.sourceforge.net/courier
perlモジュール
cpanでインストール
perl -MCPAN -e -shell
install Time::HiRes
install DB_File
install Sys::Syslog
ウイルスソフト(個人利用はフリー)
AntiVir Workstation
AntiVir Mailserver
http://www.hbedv.com
http://www.hbedv.com/en/support/unix_private_registration/index.html
----------------------------------------------------------------------
/usr/lib/AntiVir/antivir --update
configure: /usr/lib/AntiVir/configantivir
Automatic Internet Updater
==========================
start: /usr/lib/AntiVir/avupdater start
stop: /usr/lib/AntiVir/avupdater stop
check: /usr/lib/AntiVir/avupdater status
----------------------------------------------------------------------
echo $LANG
export LANG=ja_JP.EUC
suidperlのパーミッションの確認4711になっていればOK
ls -l /usr/bin/suidperl
なってなければ
chmod 4711 /usr/bin/suidperl
----------------------------------------------------------------------
./configure --install --domain acoustype.jp
多分ユーザーとグループを追加しろと怒られるので
groupadd qscand
useradd -c "Qmail-Scanner Account" -g qscand -s /bin/false qscand
再度
./configure --install --domain acoustype.jp
----------------------------------------------------------------------
qmail 起動スクリプトに追加しておく
----------------------------------------------------------------------
#!/bin/sh
#
# qmail: /var/qmail
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
[ -f /var/qmail/rc ] || exit 0
case "$1" in
start)
# Start daemons.
echo "Starting qmail."
#qmail
/bin/csh -cf /var/qmail/rc &
#Vsmtp
/usr/local/bin/tcpserver -H -R -l acoustype.com -v -x \
/home/vpopmail/etc/tcp.smtp.cdb -u 520 -g 519 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | \
/var/qmail/bin/splogger smtpd 3 &
#Vpop
/usr/local/bin/tcpserver -H -R -l acoustype.com -v 0 pop3 \
/var/qmail/bin/qmail-popup acoustype.com \
/home/vpopmail/bin/vchkpw \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger pop3d 3 &
echo
touch /var/lock/qmail
;;
stop)
# Stop daemons.
echo "Shutting down qmail."
PID=`/bin/ps -aefw | grep qmail | awk '{print $2}'`
if [ ! -z "$PID" ] ; then
/bin/kill ${PID} 1> /dev/null 2>&1
fi
echo
rm -f /var/lock/qmail
;;
*)
echo "Usage: S99qmail {start|stop}"
exit 1
esac
exit 0
----------------------------------------------------------------------
動作チェック
----------------------------------------------------------------------
qmail-scannerの展開したソースフォルダに移動
cd /usr/local/src/qmail/qmail-scanner-1.25
./contrib/test_installation.sh -doit
root当てにメールが届けばOK
----------------------------------------------------------------------
拒否する添付ファイルなどの設定
----------------------------------------------------------------------
vi /var/spool/qmailscan/quarantine-attachments.txt
.bat 0 COMMAND.COM batch file
.com 0 Non relocable MSDOS executable binary
.pif 0 Windows Program Information Files
.scr 0 Screen Saver
変更が完了したら以下を実行してデータベースに反映させる。
/var/qmail/bin/qmail-scanner-queue.pl -g
queue-fix
queue-fixはqmailのキューの整合性がくずれた場合に、復旧する為のツール。
queueディレクトリを移動する場合にも使える。
http://www.netmeridian.com/e-huss/queue-fix.tar.gz
make
./queue-fix -i /var/qmail/queue
------------------------------
qmail:queue-fix-1.4 make時にエラー
error.hの3行目の「extern int errno;」を「#include <errno.h>」に修正
------------------------------
qmail でキューにたまったメールを直ちに配送する方法
qmail でキューにたまったメールを直ちに配送する方法
qmail-send に ALRM シグナルを送る.
qmail-send のプロセス番号が 109 のとき
kill -ALRM 109
qmail でキューにたまったメールを削除
qmhandle 1.3 2007-05-31
.qmail-default
| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
| /home/vpopmail/bin/vdelivermail '' delete
echo "| /home/vpopmail/bin/vdelivermail '' delete" > .qmail-default