qmailのインストール
 要件定義
  • Maildir形式によるメールサーバ構築

  • qmail-vidaによる仮想ユーザー、仮想ドメイン(バーチャルドメイン)をサポート
      一台のサーバで複数のドメインを送受信する
      ユーザーを作らずにメールアカウントを作る

  • qmail-vidaによるsmtp認証(SMTP-AUTH)
      外部ネットワークからのメール送信


  •  qmail用のディレクトリを作成する。
    # mkdir /var/qmail


     ソースファイル入手
    # cd /var/qmail
    # wget http://rakunet.jp/linux_files/qmail/qmail-1.03.tar.gz
    # wget http://rakunet.jp/linux_files/qmail/ucspi-tcp-0.88.tar.gz
    # wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
    # wget http://osdn.dl.sourceforge.jp/qmail-vida/2100/qmail-vida-0.53.tar.gz

    # wget http://rakunet.jp/linux_files/qmail/qmail-date-localtime.patch
    # wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/checkpassword-0.90.errno.patch
    # wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
    # wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
    qmail-1.03.tar.gz qmail 本体

    qmail-date-localtime.patch Recieved フィールドの日時は、標準では GMT が入る。これをローカルタイム(JST) にするためのパッチ

    ucspi-tcp-0.88.tar.gz

    inetdと同等な機能を提供する。

    checkpassword-0.90.tar.gz

    password認証を行うプログラム

    qmail-vida-0.53.tar.gz qmailパッケージとcheckpasswordパッケージにSMTP認証とAPOP対応のPOP認証を追加し、仮想(バーチャル)ドメインと仮想ユーザを管理するためのプログラムを提供するパッケージです。
    SMTP認証には CRAM-MD5 による暗号化が使え、POP3認証では APOP が可能となる。
    パスワードファイルはシステムの passwd とは別個で、しかも cdb 化して扱うので高速。

    2006.5.22 現在 のバージョン

     ユーザーとグループの追加
    # groupadd nofiles
    # useradd -g nofiles -d /var/qmail/alias -s /sbin/nologin alias
    # useradd -g nofiles -d /var/qmail -s /sbin/nologin qmaild
    # useradd -g nofiles -d /var/qmail -s /sbin/nologin qmaill
    # useradd -g nofiles -d /var/qmail -s /sbin/nologin qmailp
    # groupadd qmail
    # useradd -g qmail -d /var/qmail -s /sbin/nologin qmailq
    # useradd -g qmail -d /var/qmail -s /sbin/nologin qmailr
    # useradd -g qmail -d /var/qmail -s /sbin/nologin qmails


     qmail-vida用のユーザーとグループの追加
    # groupadd vida
    # useradd -g vida -d /var/qmail/users -s /sbin/nologin qmailu
    # useradd -g vida -d /var/qmail/authdb -s /sbin/nologin authdb
    qmail は複数のプログラムが動作してメールサーバーを構成しています。
    これらのプログラムを実行するユーザーとグループを作成する必要があります。


     パッケージの展開
    # tar zxvf qmail-1.03.tar.gz
    # tar zxvf checkpassword-0.90.tar.gz
    # tar zxvf ucspi-tcp-0.88.tar.gz
    # tar zxvf qmail-vida-0.53.tar.gz


     qmail-vida Makefile編集
    # cd qmail-vida-0.53
    # cat Makefile | more

     Makefile
    QMAILSRC = ../qmail-1.03
    CHECKPASSWORDSRC = ../checkpassword-0.90
    UCSPITCPSRC = ../ucspi-tcp-0.88
    PREFIX = /var/qmail


     パッチをあてる
    # cd ../qmail-1.03
    # patch -p1 < ../qmail-date-localtime.patch

    # cd ../qmail-vida-0.53
    # make patch
    # make copy


     qmail インストール
    # cd ../qmail-1.03
    # vi error.h

     修正
    3行目
    extern int errno; を 『 #include <errno.h> 』
    とする
    glibcのバージョンが2.3.1以降の場合にmake時にエラーを起こすので、書き換える。
    最近の、Linuxディストリビューション(RedHat、FedoraCore、CentOS等)はほぼ必要。
    パッチも当てる方法もあるが、ただ一行書き換えるのみなので、直接書き換えることにした。

    # make
    # make setup check
    # ./config-fast hostname
    "./config-fast hostname" を行うことで "/var/qmail/control" に以下のファイルが作られる。

    me 自サーバのホスト名(FQDN)

    defaultdomain ヘッダにドメイン名が省略されていた場合に、自動補完されるドメイン名

    plusdomain ドメイン部分が+で終わっている場合に、補完されるドメイン

    locals ローカル配送として処理するドメイン名

    rcpthosts qmail受信して処理を行うことを許可したドメインの一覧
    ここに記載されていないものは受信しません



     checkpassword インストール
    # cd ../checkpassword-0.90
    # vi error.h

    3行目
    extern int errno; を 『 #include <errno.h> 』
    とする

    # make
    # make setup check


     tcpserver インストール
    # cd ../ucspi-tcp-0.88
    # vi error.h

    3行目
    extern int errno; を 『 #include <errno.h> 』
    とする

    # make
    # make setup check


     qmail-vida インストール
    # cd ../qmail-vida-0.53
    # make install-doc
    ドキュメントなどもインストールする。

    # cd src/vida
    # vi error.h

    3行目
    extern int errno; を 『 #include <errno.h> 』
    とする

    # make
    # make setup check

    次へ


    更新 2011.06.24