TEMPEST Shibuya Tokyo

-----

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

> Top
>> FreeBSD
>>> Mail


FreeBSD
-Seminar
-PDF Text
-Install




ご相談ははこちらへ
mail to tempest




はじめてのqmail

 はじめてのqmail
 中村文則 著

FreeBSD

9.1 Mail Serverの設定

  • 9.1.1 qmailのインストール
    下記より最新版をダウンロードする。
    http://cr.yp.to/qmail.html

    qmailのディレクトリを作る

     # mkdir /var/qmail



    下記のコマンドを実行して必要なユーザとグループを作る。

     # pw groupadd nofiles
     # pw useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin
     # pw useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin
     # pw useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin
     # pw useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin
     # pw groupadd qmail
     # pw useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin
     # pw useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin
     # pw useradd qmails -g qmail -d /var/qmail -s /sbin/nologin


    解凍する。

     # cd /usr/local/src/
     # tar xvfz /tmp/qmail-1.03.tar.gz


    インストールする。

     # cd /usr/local/src/qmail-1.03/
     # make setup check
     # ./config-fast yebisu.beer.jp


    >> "yebisu.beer.jp"は登録するホスト、ドメイン名により適宜変更すること。

  • 9.1.2 設定
    qmailが必要とする最低限のaliasを登録する。

     # touch ~alias/.qmail-postmaster
     # touch ~alias/.qmail-mailer-daemon
     # touch ~alias/.qmail-root
     # chmod 644 ~alias/.qmail-*


    起動スクリプトのコピー

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


    起動スクリプトの設定

     # vi /var/qmail/rc


     exec env - PATH="/var/qmail/bin:$PATH" \
     qmail-start ./Mailbox splogger qmail ←この行を
     qmail-start ./Maildir/ splogger qmail ←とする


    root宛てのメールは全て管理するユーザに届く様に転送を設定する。必要に応じてpostmaster, mailer-daemonの転送設定も行う。

     # vi ~alias/.qmail-root


    転送先を記述

     例:
     fujiwara


  • 9.1.3 各ユーザの設定
    それぞれのユーザに設定する。rootから一般ユーザになり設定する。

     % /var/qmail/bin/maildirmake ~/Maildir


    /usr/bin/su -でrootに戻り以下の作業を続ける。

  • 9.1.4 sendmailの変更
    sendmail用のメールボックスをqmail用のディレクトリに移動する。

     # cd /var/mail/
     # mv user /home/user/Maildir/


    sendmailが自動起動しない様にする。

     # vi /etc/rc.conf


     sendmail_enable="YES" ←この行を
     sendmail_enable="NO" ←に変更する


    sendmailを止める。

     # ps ax | grep sendmail
     # kill
    PID


    sendmailを起動出来ない様にする。

     # chmod 0 /usr/sbin/mailwrapper
     # chmod 0 /usr/sbin/sendmail
     # mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
     # chmod 0 /usr/libexec/mail.local


  • 9.1.5 自動起動
    /usr/local/etc/rc.d/にqmail.shというファイルを作り、下記の様に記述。

     #!/bin/csh
     echo -n 'qmail starting.'
     csh -cf '/var/qmail/rc &'


     # chmod +x /usr/local/etc/rc.d/qmail.sh


    で実行権を与える。

     # /usr/local/etc/rc.d/qmail.sh


     # ps ax | grep qmail


    とし

    2233 p0 S 0:00.02 qmail-send
    2234 p0 S 0:00.00 splogger qmail
    2235 p0 S 0:00.00 qmail-lspawn ./Mailbox
    2236 p0 S 0:00.00 qmail-rspawn
    2237 p0 S 0:00.00 qmail-clean


    という様な表示がされるか確認する。

  • 9.1.6 sendmailとの互換
    qmailをsendmailとの互換性を持たせるための"sendmail wrapper"を使えるようにする。これによりmailコマンドなどがqmailで実行される様になる。

     # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail


    mailコマンドの確認。

     # mail user
     Subject: test
     ←件名を書く
     test mail ←内容を書く


    "."を打ちリターンキーを押すとメールが送信される。

    /home/user/Maildir/newの中のファイルを確認する。確認したらroot宛にもメールを出し、自分宛に転送されるか確認する。

  • 9.1.7 manを使えるようにする。
    .cshrcに追加する、これによりqmailのmanを呼び出せるようになる。

     # vi ~/.cshrc


     if ($?MANPATH) then
      setenv MANPATH "$MANPATH":/var/qmail/man
     else
      setenv MANPATH /var/qmail/man
     endif


     # source ~/.cshrc ←これで設定が反映される



    9.2 SMTP

  • 9.2.1 smtpの設定
    接続のルールを定義するファイルsmtpd_rulesを作成する。ここではローカルホスト、192.168.0.Xからのみ接続できる樣にする。

     # cd /etc/tcpserver
     # vi smtpd_rules


     127.0.0.1:allow,RELAYCLIENT=""
     192.168.0.:allow,RELAYCLIENT=""
     
    ↑ここに接続を許可するアドレスを記入する
     :deny


    また、IPアドレスだけでなくドメイン名での指定も可能。

    次のコマンドでこのファイルをtcpserver用に作り変える。

     # /usr/local/bin/tcprules smtpd_rules.cdb smtpd_rules.tmp < smtpd_rules



    起動するためにまず、qmaildのUIDとnofilesのGIDを調べる。

     # id qmaild



  • 9.2.2 自動起動
    /usr/local/etc/rc.d/にtcpserver_smtpd.shというファイルを作り、下記のように記述すると起動時に自動的起動する。UIDGIDにはそれぞれ調べた番号を記述、またこのコマンドは一行で記述すること。

     # vi /usr/local/etc/rc.d/tcpserver_smtpd.sh


     #!/bin/sh
     echo -n 'qmail-smtpd starting.'
     /usr/local/bin/tcpserver -x ←ここから
     /etc/tcpserver/smtpd_rules.cdb -v -u
    UID -g GID
     0 smtp /var/qmail/bin/qmail-smtpd 2>&1 |
     /var/qmail/bin/splogger smtpd 3 & ←ここまで一行


    これに実行権をつける。

     # chmod +x /usr/local/etc/rc.d/tcpserver_smtpd.sh


    手動で起動

     # /usr/local/etc/rc.d/tcpserver_smtpd.sh




    9.3 POP

  • 9.3.1 設定
    checkpasswordを使用する。入手先
    http://cr.yp.to/checkpwd.html

    解凍する。

     # cd /usr/local/src
     # tar xvfz /tmp/checkpassword-0.90.tar.gz


    インストール。

     # cd checkpassword-0.90/
     # make
     # make setup check



  • 9.3.2 checkpasswordの設定
    tcpserverを使いqmail-popupを起動する。

     # cd /etc/tcpserver/
     # vi pop3d_rules


     127.0.0.1:allow
     192.168.0.:allow
     
    ↑ここに接続を許可するアドレスを記入する
     :deny


    次のコマンドでこのファイルをtcpserver用に作り変える。

     # /usr/local/bin/tcprules pop3d_rules.cdb pop3d_rules.tmp < pop3d_rules



  • 9.3.3 自動起動
    /usr/local/etc/rc.d/にtcpserver_pop3d.shというファイルを作り、下記のように記述すると起動時に自動的起動する。"yebisu.beer.jp"は自分のドメインに合わせること。

     #!/bin/sh
     echo -n 'qmail-pop3d starting.'
     /usr/local/bin/tcpserver -x ←ここから
     /etc/tcpserver/pop3d_rules.cdb 0 pop-3
     /var/qmail/bin/qmail-popup yebisu.beer.jp
     /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir
     2>&1 | /var/qmail/bin/splogger pop3d 3 & ←ここまで一行


    これに実行権をつける。

     # chmod +x /usr/local/etc/rc.d/tcpserver_pop3d.sh


    手動で起動。

     # /usr/local/etc/rc.d/tcpserver_pop3d.sh


    ウィンドウズなどのメールソフトでsmtpとpopサーバの設定をし送受信できるか確認してみる。qmailの動作確認は /var/log/maillogで。


    9.4 APOP

  • 9.4.1 APOPの設定
    checkpwを使用する、入手先
    http://checkpw.sourceforge.net/checkpw/

  • 9.4.2 インストール

     # cd /usr/local/src/
     # tar xvfz /tmp/checkpw-1.00.tar.gz
     # cd checkpw-1.00/
     # make
     # make setup check


    とする、/binにcheckpwとcheckapoppwがインストールされる。

  • 9.4.3 設定
    各ユーザごとにパスワードは~/Maildir/.passwordに記述する。他人に見られないように記入後、下記の様にし、属性を変更する。

     % vi ~/Maildir/.password
     % chmod 600 ~/Maildir/.password


    /bin/su -でrootに戻り以下の作業を続ける。

  • 9.4.4 自動起動
    起動する、pop3dが起動している場合はそちらを先に終了しておく事。

    /usr/local/etc/rc.d/にtcpserver_apop.shというファイルを作り、下記の樣に記述すると起動時に自動的起動する。長いが、一行で行う事。"yebisu.beer.jp"は自分のドメインに合わせること。

     #!/bin/csh
     echo -n 'qmail-apop starting.'
     /usr/local/bin/tcpserver -x ←ここから
     /etc/tcpserver/pop3d_rules.cdb 0 pop-3
     /var/qmail/bin/qmail-popup yebisu.beer.jp
     /bin/checkapoppw /var/qmail/bin/qmail-pop3d Maildir
     2>&1 | /var/qmail/bin/splogger apop 3 & ←ここまで一行


    これに実行権をつける。

     # chmod +x /usr/local/etc/rc.d/tcpserver_apop.sh


    手動で起動

     # /usr/local/etc/rc.d/tcpserver_apop.sh



  • 9.4.5 POPとAPOPの選択
    このままでは起動時にpopとapopの両方が立ち上がってしまうため、使わない方をchmod -xを使い実行権を変更する。


info@tempest.jp