d-goo supercelldinger

コンピュータ、サーバー関係のいろんな覚え書き それと雑談

qmailでメールサーバー構築メモ

[root@test]# cd /usr/local/src/     //任意の場所に移動

[root@test src]# wget http://www.qmail.org/netqmail-1.05.tar.gz  //qmailをダウンロード

[root@test src]# wget ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz //エラーがでた

ネットでソースファイルを探してダウンロード 自分のサーバーにも置いてある。

ucspi-tcp-0.88.tar.gzダウンロード

[root@test src]# cp ucspi-tcp-0.88.tar.gz  /usr/src/ucspi-tcp-0.88.tar.gz //FTPでアップロードしてコピー 

[root@test src]# wget http://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch //これもエラーがでるので

qmail-date-localtime.patchダウンロード

[root@test src]# cp qmail-date-localtime.patch  /usr/src/qmail-date-localtime.patch //FTPでアップロードしてコピー

[root@test src]# cd /usr/local/src/ 元のディレクトリへ戻る。

[root@test src]# tar xvzf netqmail-1.05.tar.gz
[root@test src]# tar xvzf ucspi-tcp-0.88.tar.gz
[root@test src]# cd netqmail-1.05
[root@test netqmail-1.05]# ./collate.sh
[root@test netqmail-1.05]# cd netqmail-1.05
[root@test netqmail-1.05]# patch -p1 < ../../qmail-date-localtime.patch
patching file date822fmt.c
[root@test netqmail-1.05]# mkdir /var/qmail

必要なユーザとグループを作成

[root@test netqmail-1.05]# groupadd nofiles
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
[root@test netqmail-1.05]# groupadd qmail
[root@test netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailq
[root@test netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailr
[root@test netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmails

[root@test netqmail-1.05]# make setup check
[root@test netqmail-1.05]# ./config-fast xxx.xxxxx.com  ←//設定するメールサーバーのホスト名

[root@test netqmail-1.05]# cd ../../ucspi-tcp-0.88
[root@test ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
patching file error.h
[root@test ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch
patching file rblsmtpd.c
[root@test ucspi-tcp-0.88]# make
[root@test ucspi-tcp-0.88]# make setup check
./install
./instcheck

[root@test ucspi-tcp-0.88]# cd /usr/local/src/
[root@test src]# groupadd vchkpw
[root@test src]# useradd -g vchkpw -s /bin/false -M vpopmail
[root@test src]# mkdir /home/vpopmail
[root@test src]# chown vpopmail:vchkpw /home/vpopmail

[root@test src]# mkdir /home/vpopmail/etc
[root@test src]# chown vpopmail:vchkpw /home/vpopmail/etc

[root@test src]# wget http://keihanna.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.10.tar.gz //エラーが出た。

vpopmail-5.4.10.tar.gzダウンロード

[root@test]# cp vpopmail-5.4.10.tar.gz /usr/src/vpopmail-5.4.10.tar.gz  //FTPでアップロードしてコピー
[root@test]# cd /usr/local/src/

[root@test src]# tar xvzf vpopmail-5.4.10.tar.gz
[root@test src]# cd vpopmail-5.4.10

[root@test vpopmail-5.4.10]# ./configure --enable-roaming-users=y --enable-relay-clear-minutes=10
[root@test vpopmail-5.4.10]# make
[root@test vpopmail-5.4.10]# make install-strip

[root@test]# cd /var/qmail/
[root@test qmail]# vi ./rc

//編集内容
#!/bin/sh

# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.


exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir splogger qmail


[root@test qmail]# chmod 755 ./rc

[root@test]# vi /etc/rc.d/init.d/qmail   //起動用スクリプト

[root@test ~]# cat /etc/rc.d/init.d/qmail //内容を表示すると
#!/bin/sh
#
# chkconfig: 345 99 99
# description: qmail & vpopmail startup script
#


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

HOSTNAME=`hostname`
QMAILDUID=`id -u qmaild`
QMAILDGID=`id -g qmaild`

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

case "$1" in
        start)
                echo "Starting qmail."
                csh -cf '/var/qmail/rc &'

                #FOR SMTP
                tcpserver -H -R -l $HOSTNAME -v \
                -x /home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $QMAILDGID 0 smtp \
                /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &

                #For POP3
                #envdir /etc/relay-ctrl relay-ctrl-chdir \
                tcpserver -H -R -l $HOSTNAME -v 0 pop3 \
                /var/qmail/bin/qmail-popup $HOSTNAME \
                /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 &

                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
                rm -f /var/lock/qmail
                ;;

        *)
                echo "Usage: S88qmail {start|stop}"
                exit 1

esac

exit 0

[root@test]# chmod 755 /etc/rc.d/init.d/qmail
[root@test]# chkconfig --add qmail  //サービスに追加する

 

[root@test]# netstat -ln  //ポート番号を確認する

 Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::443                      :::*                        LISTEN      
udp        0      0 xx.xxx.xx.xxx:123           0.0.0.0:*                               
udp        0      0 127.0.0.1:123               0.0.0.0:*                               
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               
udp        0      0 ::1:123                     :::*                                    
udp        0      0 :::123                      :::*                                    
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     4007   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     4233   /var/lib/mysql/mysql.sock