######################################################################
# qmail
######################################################################

##################################################
# ディレクトリ作成 ユーザー作成
##################################################

mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias -m -k /dev/null -s /sbin/nologin alias
useradd -g nofiles -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaild
useradd -g nofiles -d /var/qmail -m -k /dev/null -s /sbin/nologin qmaill
useradd -g nofiles -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailq
useradd -g qmail -d /var/qmail -m -k /dev/null -s /sbin/nologin qmailr
useradd -g qmail -d /var/qmail -m -k /dev/null -s /sbin/nologin qmails
##################################################
# qmailコンパイル
##################################################

cd netqmail-1.06

patch < ../netqmail-1.05-tls-smtpauth-20070417.patch

patch < ../qmail-103.patch
patch < ../qmail-date-localtime.patch
patch < ../qmail-smtpd-relay-reject.patch

make setup check
##################################################
# TLS
##################################################

make cert

openssl ciphers > /var/qmail/control/tlsserverciphers
openssl ciphers > /var/qmail/control/tlsclientciphers
##################################################
# 初期設定
##################################################

./config-fast acoustype.com
./config-fast /bin/hostname
##################################################
# MTAの設定
##################################################

rm -fr /etc/alternatives/mta

ln -s /var/qmail/bin/sendmail /etc/alternatives/mta
##################################################
# エイリアスの設定
##################################################

cd /var/qmail/alias

touch .qmail-mailer-daemon .qmail-root .qmail-anonymous .qmail-nobody

chmod 644 .qmail*
##################################################
# 設定ファイルの確認
##################################################

cd /var/qmail/control

//ダブルバウンスメール破棄
touch /var/qmail/control/doublebounceto

//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
##################################################
# 起動スクリプトの用意
##################################################

cp /var/qmail/boot/home /var/qmail/rc

vi /var/qmail/rc

qmail-start ./Mailbox splogger qmail

qmail-start ./Maildir/ splogger qmail
##################################################
# 起動
##################################################

/bin/csh -cf /var/qmail/rc &
##################################################
# テスト送信
##################################################

echo to: ****@****.com | /var/qmail/bin/qmail-inject

######################################################################
# ucspi-tcp
######################################################################

cd /usr/local/src/qmail

cd ucspi-tcp-0.88

patch < ../ucspi-tcp-ssl-20050405.patch

make

make setup check

######################################################################
# vpopmail
######################################################################

groupadd -g 89 vchkpw
useradd -g vchkpw -u 89 vpopmail

cd vpopmail-5.4.33

./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-domainquotas \
--enable-auth-module=mysql \
--disable-many-domains \
--enable-auth-logging \
--enable-sql-logging \
--enable-valias \
--disable-mysql-limits

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とMySQLアカウント作成
##################################################

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
##################################################
# SMTP-AUTHのvchkpwの権限とセットID
##################################################

chown root:root vchkpw

chmod 4755 vchkpw
##################################################
# 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

######################################################################
# qmailadmin
######################################################################

./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
echo "Server:Disable = True;" > /home/vpopmail/etc/vusagec.conf
##################################################
# .htaccessの設定
##################################################

vi /home/vpopmail/public_html/.htaccess

DirectoryIndex qmailadmin.cgi

######################################################################
# qmail起動スクリプト
######################################################################

vi /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" \
/var/qmail/bin/qmail-start ./Maildir/ /var/qmail/bin/splogger qmail &

#SMTP
/usr/local/bin/tcpserver -qvphR -t 180 \
-l /bin/hostname \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u /usr/bin/id -u qmaild -g /usr/bin/id -g qmaild \
0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | \
/var/qmail/bin/splogger smtpd &

#SMTP-AUTH
# /usr/local/bin/tcpserver -qvphR -t 180 \
# -l /bin/hostname \
# -x /home/vpopmail/etc/tcp.smtp.cdb \
# -u /usr/bin/id -u qmaild -g /usr/bin/id -g qmaild
# 0 smtp \
# /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 | \
# /var/qmail/bin/splogger smtpd &

#SMTP over SSL/TLS
/usr/local/bin/tcpserver -qvphR -t 180 \
-l /bin/hostname \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u /usr/bin/id -u qmaild -g /usr/bin/id -g qmaild \
-s -n /var/qmail/control/servercert.pem \
0 465 \
/var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 | \
/var/qmail/bin/splogger smtpd &

#SMTP Submission
/usr/local/bin/tcpserver -qvphR -t 180 \
-l /bin/hostname \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u /usr/bin/id -u qmaild -g /usr/bin/id -g qmaild \
0 587 \
/var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 | \
/var/qmail/bin/splogger smtpd &

#POP3
/usr/local/bin/tcpserver -qvphR -t 180 \
-l /bin/hostname \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u /usr/bin/id -u vpopmail -g /usr/bin/id -g vpopmail \
0 pop3 \
/var/qmail/bin/qmail-popup /bin/hostname /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger pop3d &

#POP3S
/usr/local/bin/tcpserver -qvphR -t 180 \
-l /bin/hostname \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u /usr/bin/id -u vpopmail -g /usr/bin/id -g vpopmail \
-s -n /var/qmail/control/servercert.pem \
0 995 \
/var/qmail/bin/qmail-popup /bin/hostname /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger pop3d &

echo
touch /var/lock/subsys/qmail
;;
stop)
echo -n "Shutting down qmail: "
killproc qmail-send
killproc tcpserver
echo
rm -f /var/lock/subsys/qmail
;;
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
--------------------------------------------------

##################################################
# 自動起動
##################################################

chmod 755 /etc/rc.d/init.d/qmail

chkconfig qmail on
chkconfig --level 345 qmail on

##################################################
# /var/qmail/users/cdb
##################################################

/var/qmail/users/assignを修正したら
/var/qmail/users/cdbを更新しないといけないので

/var/qmail/bin/qmail-newu
このコマンドたたくだけで更新される。

コメントを残す