CentOS関連リンク

目次

プロフィール

Analyzer

CentOS qmail qmailadminのインストール CentOSサーバ構築術 文具堂のエントリーをはてなブックマークする


**********************************************************************
  qmail
**********************************************************************
■gccのインストール(qmailのコンパイルに必要)
yum -y install gcc

■ucspi-tcpのインストール
cd /usr/local/src/
wget http://www.emaillab.org/djb/tools/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://www.stackasterisk.jp/tech/systemConstruction/qmail01/ucspi-tcp-glibc.patch

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


make
make setup check

■qmailのインストール
mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -s /sbin/nologin alias -m -d /var/qmail/alias -k /dev/null
useradd -g nofiles -d /var/qmail -s /sbin/nologin -M qmaild
useradd -g nofiles -d /var/qmail -s /sbin/nologin -M qmaill
useradd -g nofiles -d /var/qmail -s /sbin/nologin -M qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -s /sbin/nologin -M qmailq
useradd -g qmail -d /var/qmail -s /sbin/nologin -M qmailr
useradd -g qmail -d /var/qmail -s /sbin/nologin -M qmails

cd /usr/local/src/
wget ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
wget http://mirror.averse.net/pub/FreeBSD/ports/local-distfiles/sada/qmail-date-localtime.patch.gz
wget http://members.elysium.pl/brush/qmail-smtpd-auth/dist/qmail-smtpd-auth-0.31.tar.gz
wget http://www.qmail.org/qmail-smtpd-relay-reject

tar zxvf qmail-1.03.tar.gz
gunzip qmail-date-localtime.patch.gz
mv qmail-date-localtime.patch qmail-1.03
tar zxvf qmail-smtpd-auth-0.31.tar.gz
mv qmail-smtpd-auth-0.31/* qmail-1.03
mv qmail-smtpd-relay-reject qmail-1.03

cd qmail-1.03

patch < qmail-date-localtime.patch
----------------------------------------------------------------------
patching file date822fmt.c
----------------------------------------------------------------------

patch < auth.patch
----------------------------------------------------------------------
patching file Makefile
patching file TARGETS
patching file qmail-smtpd.8
patching file qmail-smtpd.c
----------------------------------------------------------------------

patch < qmail-smtpd-relay-reject
----------------------------------------------------------------------
patching file qmail-smtpd.c
Hunk #1 succeeded at 56 (offset 3 lines).
Hunk #2 succeeded at 226 (offset 9 lines).
Hunk #3 succeeded at 277 (offset 11 lines).
----------------------------------------------------------------------

vi error.h
----------------------------------------------------------------------
extern int errno;  削除
#include 追加
----------------------------------------------------------------------
※エラー回避のための修正です。

make setup check
----------------------------------------------------------------------
・
・
・
./install
./instcheck
----------------------------------------------------------------------

./config-fast yourdomain.jp
----------------------------------------------------------------------
Your fully qualified host name is linux.centossrv.com.
Putting linux.centossrv.com into control/me...
Putting centossrv.com into control/defaultdomain...
Putting centossrv.com into control/plusdomain...
Putting linux.centossrv.com into control/locals...
Putting linux.centossrv.com into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to linux.centossrv.com.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
----------------------------------------------------------------------

echo `hostname -d` >> /var/qmail/control/rcpthosts
echo `hostname -d` >> /var/qmail/control/locals

cd

echo "MANPATH /var/qmail/man" >> /etc/man.config

cd /usr/local/src/
wget http://jaist.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.13.tar.gz

mkdir -p /var/vpopmail
groupadd vchkpw -g 89
useradd vpopmail -g vchkpw -u 89 -d /var/vpopmail -s /sbin/nologin 
chown -R vpopmail:vchkpw /var/vpopmail/
tar zxvf vpopmail-5.4.13.tar.gz

cd /usr/local/src/vpopmail-5.4.13

vi vchkpw.c 711行目周辺
----------------------------------------------------------------------
   /* hmac_md5( challenge, strlen(challenge), password, strlen(password), digest); */
   hmac_md5( response, strlen(response), password, strlen(password), digest);

   /* return(strcmp(digascii,response));*/
   return(strcmp(digascii,challenge));
----------------------------------------------------------------------

./configure
メールユーザパスワードを平文で保存しないようにする場合は
(./configure --enable-clear-passwd)

make
make install-strip

・ディフォルトドメインの設定
echo 'yourdomain.jp' > /var/vpopmail/etc/defaultdomain

/var/vpopmail/bin/vadddomain yourdomain.jp QA5uuNB5

■ tcpserver経由でのqmail,vpopmailの起動設定 

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 Port 25
        /usr/local/bin/tcpserver \
        -vHR -u `id -u vpopmail` -g `id -g vpopmail` -c 80 -x \
        /etc/tcp/smtp.cdb 0 smtp \
        /var/qmail/bin/qmail-smtpd `hostname` \
        /var/vpopmail/bin/vchkpw /usr/bin/true 2>&1 | \
        /var/qmail/bin/splogger smtpd 4 &

        # SMTP Submission Port 587
        /usr/local/bin/tcpserver \
        -vHR -u `id -u vpopmail` -g `id -g vpopmail` -c 80 -x \
        /etc/tcp/smtp.cdb 0 submission \
        /var/qmail/bin/qmail-smtpd `hostname` \
        /var/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 -x \
        /etc/tcp/pop3.cdb 0 pop3 \
        /var/qmail/bin/qmail-popup `hostname` \
        /var/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
--------------------------------------------------------------------------------
chmod 755 /etc/rc.d/init.d/qmail

chkconfig --add qmail
chkconfig qmail on
chkconfig --list qmail
--------------------------------------------------------------------------------
qmail           0:off   1:off   2:on    3:on    4:on    5:on    6:off
--------------------------------------------------------------------------------

mkdir  /etc/tcp
echo '127.:allow,RELAYCLIENT=""' >  /etc/tcp/smtp.rule

#echo ':allow,REQUIREAUTH=""' > /etc/tcp/smtp.rule

tcprules /etc/tcp/smtp.cdb /etc/tcp/smtp.tmp < /etc/tcp/smtp.rule

echo ':allow' > /etc/tcp/pop3.rule

/usr/local/bin/tcprules  /etc/tcp/pop3.cdb  /etc/tcp/pop3.tmp <  /etc/tcp/pop3.rule

echo "10485760" > /var/qmail/control/databytes
touch /var/qmail/control/doublebounceto
rm -rf /etc/skel/Maildir
/var/qmail/bin/maildirmake /etc/skel/Maildir

/etc/rc.d/init.d/sendmail stop ← sendmail停止
----------------------------------------------------------------------
sendmailを停止中:                                          [  OK  ]
sm-clientを停止中:                                         [  OK  ]
----------------------------------------------------------------------

chkconfig sendmail off

chkconfig --list sendmail
----------------------------------------------------------------------
sendmail        0:off   1:off   2:off   3:off   4:off   5:off   6:off
----------------------------------------------------------------------

chmod 0 /usr/lib/sendmail
chmod 0 /usr/sbin/sendmail
mv /usr/lib/sendmail /usr/lib/sendmail.bak
mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

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

vi /var/qmail/rc
----------------------------------------------------------------------
qmail-start ./Mailbox splogger qmail
↓変更
qmail-start ./Maildir/ splogger qmail
----------------------------------------------------------------------

/etc/rc.d/init.d/qmail start
----------------------------------------------------------------------
Starting qmail
----------------------------------------------------------------------

■ autorespondのインストール

cd /usr/local/src
wget http://www.inter7.com/devel/autorespond-2.0.5.tar.gz
tar zxvf autorespond-2.0.5.tar.gz
cd /usr/local/src/autorespond-2.0.5

vi autorespond.c
264行目付近
--------------------------------------------------------------------------------
        fprintf(fdm,"Content-Type: text/plain; charset=\"ISO-2022-JP\"\n" );
--------------------------------------------------------------------------------

perl -pi -e 's|INSTALL_GID = root|INSTALL_GID = wheel|g' Makefile
perl -pi -e 's|strcasestr|str_casestr|g' autorespond.c
make all install clean


■ ezmlm-idxのインストール

cd /usr/local/src
wget http://www.inter7.com/devel/ezmlm-0.53-idx-0.41.tar.gz
tar zxvf ezmlm-0.53-idx-0.41.tar.gz
cd /usr/local/src/ezmlm-0.53-idx-0.41
make
make man
cp ezmlmrc.jp ezmlmrc
make setup


■ qmailadmin インストール

cd /usr/local/src
wget http://optusnet.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.9.tar.gz

tar zxvf qmailadmin-1.2.9.tar.gz
cd qmailadmin-1.2.9

#./configure --enable-cgibindir=/var/www/cgi-bin/ --enable-cgipath=/cgi-bin/qmail/qmailadmin --enable-imageurl=/qmail/images --enable-modify-quota

./configure --enable-cgibindir=/var/www/cgi-bin/ --enable-cgipath=/cgi-bin/qmail/qmailadmin --enable-imageurl=/qmail/images

make clean
make
make install-strip

vi /etc/httpd/conf.d/qmailadmin.conf
--------------------------------------------------------------------------------
ScriptAlias /cgi-bin/qmail/ "/var/www/cgi-bin/"
Alias /qmail/images/  "/var/www/html/"
--------------------------------------------------------------------------------


apachectl configtest
apachectl restart

« CentOS Linux デフォルトゲートウェイの確認 routeコマンド | メイン | CentOS5 samba設定 SWATインストール »