********************************************************************** 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インストール »