上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top ▲
5/29 起動スクリプトに誤りがありましたので修正致しました。

自前のDDNSサーバでのqmailによるプロバイダサーバ認証の設定方法がわかったので
postfixをあっさり捨ててqmail+vpopmailに。

alternatives --config mta

postfixからsendmailに戻します。

● qmai obp25対策 smtp-authインストール

# 取り合えず以下のファイルをダウンロードする。

qmail-1.03.tar.gz
qmail-date-localtime.patch
qmail-glibc.patch
qmail-remote-auth.patch
qmail-smtpd-relay-reject
ucspi-tcp-0.88.tar.gz
ucspi-tcp-0.88.errno.patch
vpopmail-5.4.25.tar.gz
autorespond-2.0.5.tar.gz
ezmlm-0.53.tar.gz
ezmlm-idx-0.40.tar.gz
ezmlm-idx-0.53.400.unified_41.patch


# qmail-remote-auth.patchはプロバイダが用意したsmtpサーバを認証させる為に必要。
# 必要なければ手順から省きます。

▼ ユーザの作成

mkdir /var/qmail
mkdir /var/qmail/alias
groupadd -g 130 nofiles
useradd -M -u 130 -g nofiles -s /bin/false -d /var/qmail/alias alias
useradd -M -u 131 -g nofiles -s /bin/false -d /var/qmail qmaild
useradd -M -u 132 -g nofiles -s /bin/false -d /var/qmail qmaill
useradd -M -u 133 -g nofiles -s /bin/false -d /var/qmail qmailp
groupadd -g 131 qmail
useradd -M -u 134 -g qmail -s /bin/false -d /var/qmail qmailq
useradd -M -u 135 -g qmail -s /bin/false -d /var/qmail qmailr
useradd -M -u 136 -g qmail -s /bin/false -d /var/qmail qmails
chown root.qmail /var/qmail
chown alias.qmail /var/qmail/alias

▼ インストール作業

tar zxvf qmail-1.03.tar.gz
tar zxvf vpopmail-5.4.25.tar.gz
cd qmail-1.03
cd /usr/local/src/qmail-1.03
cp -a /usr/local/src/qmail/vpopmail-5.4.25/contrib/qmail-smtpd-auth-0.5.6.tar.gz ./
tar -zxvf qmail-smtpd-auth-0.5.6.tar.gz
./install_auth.sh
patch < ../qmail-remote-auth.patch
patch < ../qmail-date-localtime.patch
patch < ../qmail-smtpd-relay-reject
patch < ../qmail-103.patch
patch < ../qmail-glibc.patch

vi qmail-remote.c
# 以下★印を追記(当然★は書かない)
------------------------------------------------------
str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN\n",17) &&
str_diffn(smtptext.s+i+4,"AUTH PLAIN LOGIN ",17) &&
★str_diffn(smtptext.s+i+4,"AUTH CRAM-MD5 LOGIN PLAIN\n",26) &&
★str_diffn(smtptext.s+i+4,"AUTH CRAM-MD5 LOGIN PLAIN ",26) &&
str_diffn(smtptext.s+i+4,"AUTH=LOGIN\n",11) &&
------------------------------------------------------

make setup check
./config-fast mail.hogehoge-net.jp

# config-fastには少なくともAレコードで記載されているホスト名を記入

cd /var/qmail/alias

touch .qmail-mailer-daemon

echo "#" > /var/qmail/alias/.qmail-postmaster
echo "#" > /var/qmail/alias/.qmail-root

chmod 644 /var/qmail/alias/.qmail-*

echo 86400 > /var/qmail/control/queuelifetime
echo 20971520 > /var/qmail/control/databytes
echo 30 > /var/qmail/control/timeoutconnect
echo 420 > /var/qmail/control/timeoutremote
echo 50 > /var/qmail/control/concurrencyremote

# 上記、意味は自分で調べて適当な数値を設定

vi /var/qmail/control/smtproutes
------------------------------------------------------
使用ドメイン:プロバイダsmtpサーバ:ポート UID PASS
------------------------------------------------------
# 例 (すべてのドメインで、
# smtpサーバsmtp.aho-naのポート587にUID:hage、Pass:eroeroで接続する場合
------------------------------------------------------
:smtp.aho-na:587 hage eroero
------------------------------------------------------

cp -a /var/qmail/boot/home /var/qmail/rc

mv /usr/sbin/sendmail /usr/sbin/sendmail_bk
mv /usr/lib/sendmail /usr/lib/sendmail_bk
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

# ダウンロードディレクトリに移動

tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -s < ../ucspi-tcp-glibc.patch
make
make setup check

groupadd -g 140 vchkpw
useradd -u 140 -g 140 -d /home/vpopmail -m -s/bin/bash vpopmail
chmod 755 /home/vpopmail/
mkdir /home/vpopmail/etc
cd /home/vpopmail/etc
echo '127.:allow,RELAYCLIENT=""' > tcp.smtp
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
chown -R 140:140 /home/vpopmail/etc

cd vpopmail-5.4.25

./configure --enable-roaming-users=y
make
make install-strip
chmod 700 /home/vpopmail/bin/vuserinfo

chown root:root /home/vpopmail/bin/vchkpw
chmod 4755 /home/vpopmail/bin/vchkpw

vi /etc/rc.d/init.d/qmail

------------------------------------------------------
#!/bin/bash
#
# qmail
#
# chkconfig: 2345 80 30
# description: qmail start/stop script

# Source function library.
. /etc/rc.d/init.d/functions

PATH=/var/qmail/bin:/var/vpopmail/bin:/usr/local/bin:/bin:/usr/bin

[ -f /var/qmail/rc ] || exit 0

start() {
# Start daemons.
if [ -z $(/sbin/pidof qmail-send) ]; then
echo -n "Starting qmail"

# qmail
csh -cf '/var/qmail/rc &' 2>&1 > /dev/null

# SMTP

/usr/local/bin/tcpserver \
-vHRp -l 0 -u `id -u vpopmail` -g `id -g vpopmail` -c 80 -x \
/home/vpopmail/etc/tcp.smtp.cdb 0 smtp \
/var/qmail/bin/qmail-smtpd \
/home/vpopmail/bin/vchkpw /usr/bin/true 2>&1 | \
/var/qmail/bin/splogger smtpd 4 &

# 587ポートへの接続が必要な場合有効にする

# /usr/local/bin/tcpserver \
# -vHRp -l 0 -u `id -u vpopmail` -g `id -g vpopmail`-c 80 -x \
# /home/vpopmail/etc/tcp.smtp.cdb 0 587 \
# /var/qmail/bin/qmail-smtpd \
# /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1 | \
# /var/qmail/bin/splogger smtpd 4 &

# POP3 vpopmail Port 110
/usr/local/bin/tcpserver -u `id -u vpopmail` -g `id -g vpopmail` -c 120 -vHR -l 0 -x \
/home/vpopmail/etc/pop3.cdb 0 pop3 \
/var/qmail/bin/qmail-popup st-core.ddo.jp \
/home/vpopmail/bin/vchkpw \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 | \
/var/qmail/bin/splogger &

RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/qmail
return $RETVAL
else
echo "qmail is already started"
fi
}

stop() {
# Stop daemons.
if [ ! -z $(/sbin/pidof qmail-send) ]; then
echo -n "Shutting down qmail"
/bin/kill $(/sbin/pidof tcpserver)
/bin/kill $(/sbin/pidof qmail-send)
until [ -z $(/sbin/pidof qmail-send) ] && [ -z $(/sbin/pidof tcpserver) ]; do :; done
echo
rm -f /var/lock/subsys/qmail
else
echo "qmail is not running"
fi
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
if [ ! -z $(/sbin/pidof qmail-send) ] ; then
echo -n "qamil (pid"
echo -n " `/sbin/pidof qmail-send`"
echo -n " `/sbin/pidof tcpserver`"
echo ") is running..."
else
echo "qmail is stoped"
fi
;;
*)
echo "Usage: qmail {start|stop|restart|status}"
exit 1
esac

exit 0
------------------------------------------------------
# qmailをポート毎に立てるのも気持ち悪いので
iptablesで587から25へ転送するようにするのが一般的かも。


chmod 755 /etc/rc.d/init.d/qmail
chkconfig --add qmail
chkconfig qmail on
service qmail start


vi /etc/crontab
# 以下追記
------------------------------------------------------
*/10 * * * * root /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
------------------------------------------------------

------------------------------------------------------
# ダウンロードディレクトリに移動

tar zxvf ezmlm-0.53.tar.gz
tar zxvf ezmlm-idx-0.40.tar.gz
mv ezmlm-0.53/issub.c ezmlm-0.53/issub.c_
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
make man
mv ezmlmrc ezmlmrc.org
cp ezmlmrc.jp ezmlmrc
make setup

# ダウンロードディレクトリに移動
tar zxvf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make
cp autorespond /usr/local/bin
mkdir /home/vpopmail/tmp
chmod 777 /home/vpopmail/tmp


------------------------------------------------------
# qmailadminインストール
mkdir -p /home/qmailadmin/{logs,cgi-bin}
mkdir -p /home/qmailadmin/public_html/images/qmailadmin

# ダウンロードディレクトリに移動

tar zxvf qmailadmin-1.2.11.tar.gz
cd qmailadmin-1.2.11
./configure --enable-htmldir=/home/qmailadmin/public_html \
--enable-cgibindir=/home/qmailadmin/cgi-bin \
--with-htmllibdir=/home/qmailadmin/public_html \
--enable-cgipath=/cgi-bin/qmailadmin \
--enable-imagedir=/home/qmailadmin/public_html/images/qmailadmin/ \
--enable-autoresponder-bin=/var/qmail/bin \
--enable-ezmlmdir=/usr/local/bin/ezmlm \
--enable-ezmlm-mysql=no

make
make install-strip

# qmailadmin用バーチャルドメイン作成

sslか、通常とは違うポートで建てられるのが健明かと
------------------------------------------------------


ServerAdmin admin@hogehoge
ServerName hogehoge
DocumentRoot /home/qmailadmin/public_html
ScriptAlias /cgi-bin/ "/home/qmailadmin/cgi-bin/"

AllowOverride AuthConfig Limit
Options None
Order allow,deny
Allow from all


DirectoryIndex index.html index.htm index.cgi
AllowOverride ALL
Options None
Order allow,deny
Allow from all

ErrorLog /home/qmailadmin/log/error_log
CustomLog /home/qmailadmin/log/access_log common


------------------------------------------------------

# 当然apacheの再起動。

2009.02.10 Tue l 健忘録 l COM(0) TB(0) l top ▲

コメント

コメントの投稿












       

トラックバック

トラックバックURL
→http://iron5.blog113.fc2.com/tb.php/20-b1fcd871
この記事にトラックバックする(FC2ブログユーザー)