Linuxエンジニアリング   行動予定表の問い合わせ
 
 


  Linuxサーバー構築


  qmailによるMAILサーバー構築
  ■設定条件■
・メールサーバのホスト名mail
・サーバFQDNmail.hoge.jp
・メールサーバIPアドレス100.200.300.37
・ドメイン名hoge.jp
・qmailバージョンqmail-1.03
・LinuxOSCentOS6.x
  ■導入ソフトウエア■
・qmailqmail-1.03.tar.gz
・ucspi-tcpucspi-tcp-0.88.tar.gz
・open-smtpopen-smtp3.tar.gz
・checkpasswordcheckpassword-0.81.tar.gz
・qmailのpatchqmail-date-localtime.patch
・qmailのpatchqmail-smtpd-relay-reject
  ■qmailのインストール準備■ % su Passwd: # cd /usr/local/src # mkdir qmail # cd qmail # wget http://www.amigo.jp/src/qmail-smtpd-relay-reject # wget http://www.amigo.jp/src/qmail-date-localtime.patch # wget http://www.amigo.jp/src/checkpassword-0.81.tar # wget http://www.amigo.jp/src/open-smtp3.tar # wget http://www.amigo.jp/src/qmail-1.03.tar # wget http://www.amigo.jp/src/ucspi-tcp-0.88.tar # # tar xvf checkpassword-0.81.tar # tar xvf open-smtp3.tar # tar xvf qmail-1.03.tar # tar xvf ucspi-tcp-0.88.tar ■qmailのインストール(+patch)■ # cd /usr/local/src/qmail # cd qmail-1.03 # vi conf-cc cc -02 --> gcc -02 ※ 書き換え # vi conf-ld cc -s --> gcc -s ※ 書き換え # vi error.h extern int errno; --> #include ※ 書き換え # cd .. # patch -d qmail-1.03 < qmail-date-localtime.patch # patch -d qmail-1.03 < qmail-smtpd-relay-reject # mkdir /var/qmail # groupadd nofiles # useradd -g nofiles -d /var/qmail/alias alias # useradd -g nofiles -d /var/qmail qmaild # useradd -g nofiles -d /var/qmail qmaill # useradd -g nofiles -d /var/qmail qmailp # groupadd qmail # useradd -g qmail -d /var/qmail qmailq # useradd -g qmail -d /var/qmail qmailr # useradd -g qmail -d /var/qmail qmails # cd qmail-1.03 # make # make setup # make check # ./config # touch /var/qmail/control/badmailfrom ※ 特定の送信元メールアドレスからのメール受信を拒否 # vi /var/qmail/control/defaultdomain # cat /var/qmail/control/defaultdomain hoge.jp # vi /var/qmail/control/locals # cat /var/qmail/control/locals localhost hoge.jp mail.hoge.jp # vi /var/qmail/control/me #cat /var/qmail/control/me mail.hoge.jp # vi /var/qmail/control/plusdomain # cat /var/qmail/control/plusdomain hoge.jp # vi /var/qmail/control/rcpthosts # cat /var/qmail/control/rcpthosts hoge.jp mail.hoge.jp cd /var/qmail/alias touch .qmail-postmaster .qmail-mailer-daemon .qmail-root chmod 644 .qmail* echo '&username' > .qmail-root echo '&root' > .qmail-postmaster echo '&root' > .qmail-mailer-daemon vi /var/qmail/alias/.qmail-default cat /var/qmail/alias/.qmail-default # ※ "#"のみを記述してSPAMのbounceを削除 chmod 644 /var/qmail/alias/.qmail-default chown alias:nofiles /var/qmail/alias/.qmail-default ■tcpserverのインストール■ # cd /usr/local/src/qmail # cd open-smtp # cp checkpassword.patch .. # cd .. # patch -d checkpassword-0.81 < checkpassword.patch # cd checkpassword-0.81 # vi conf-cc cc -02 --> gcc -02 ※ 書き換え # vi conf-ld cc -s --> gcc -s ※ 書き換え # echo "gcc -O2 --include /usr/include/errno.h" > conf-cc # make # make setup # make check # cd .. # cd ucspi-tcp-0.88 # echo "gcc -O2 --include /usr/include/errno.h" > conf-cc # make # make setup # make check # vi /etc/tcp.smtp # cat /etc/tcp.smtp 100.200.300.37:allow,RELAYCLIENT="" ※ 100.200.300.37はメールサーバのIPアドレス 127.:allow,RELAYCLIENT="" :allow # touch /etc/tcp.smtp.filter.newer # touch /etc/tcp.smtp.filter.older # vi /usr/local/bin/pop3-record # cat /usr/local/bin/pop3-record #!/bin/sh echo "$TCPREMOTEIP:allow,RELAYCLIENT=\"\"" >>/etc/tcp.smtp.filter.newer /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp.filter.newer # End of script # vi /usr/local/bin/age-smtp # cat /usr/local/bin/age-smtp #!/bin/sh mv /etc/tcp.smtp.filter.newer /etc/tcp.smtp.filter.older cp /etc/tcp.smtp /etc/tcp.smtp.filter.newer /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp.filter.newer # End of script # chmod 755 /usr/local/bin/pop3-record # chmod 755 /usr/local/bin/age-smtp ■qmailの起動設定■ # vi /var/qmail/rc # cat /var/qmail/rc #!/bin/sh #chkconfig: 2345 99 99 #description: Mail /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp /usr/local/bin/tcpserver -H -R -u 1002 -g 1001 -x /etc/tcp.smtp.cdb 0 smtp /var/qmail/bin/qmail-smtpd & /usr/local/bin/tcpserver -H -R -c 100 0 pop3 /var/qmail/bin/qmail-popup mail.hoge.jp /bin/checkpassword ※ /var/qmail/bin/qmail-pop3d Maildir & (※前行から続いて一行で記述) exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start ./Maildir/ splogger qmail # # -u 1002:"qmaild"のUID 503 # -g 1001:"nofiles"のGID 502 # mail.hoge.jp:メールサーバのFQDN # # End of script # chmod 755 /var/qmail/rc # cp /var/qmail/rc /etc/init.d/qmail # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # chkconfig qmail on # chkconfig --list | grep mail qmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off # crontab -e # crontab -l | grep qmail 0,15,30,45 * * * * /usr/local/bin/age-smtp ※ 15分間隔でtcp.smtp.filter.newerを更新(踏み台対策) # vi /etc/sysconfig/iptables # cat /etc/sysconfig/iptables(一部抜粋) -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT # /sbin/service iptables restart # /etc/init.d/qmail start ■ユーザ毎でのqmail設定■ $ cd /var/qmail/bin $ ./maildirmake $HOME/Maildir ※ 以下は各ユーザ単位で実行する必要がある $ cd $HOME $ echo ./Maildir/ > .qmail $ chmod 600 .qmail //// 以上で qmailによるMailサーバの構築は完了です ////


  * CentOSの名称およびロゴは、CentOS ltdの商標または登録商標です。
* Linuxは、Linus Torvalds氏の登録商標または商標です。
* Linux Tux author and copyright holder: Larry Ewing, Simon Budig, Anja Gerwinski.
  * Ubuntuは、Canonical Ltd.の登録商標です。
* Windowsは、米国Microsoft Corporationの登録商標または商標です。
* その他記載の商品名、会社名は、それぞれの会社の登録商標または商標です。


     

    行動予定表の問い合わせ   Linuxエンジニアリング