Postfix+Dovecot(バーチャルドメイン・メール)+vpopmail形式

  • Postfixでバーチャルドメイン化し、バーチャルドメイン向けに送信されたメールを受信するには?
    と1週間悩んでました。メールの受信なんだからPOP3で認証を含めなんとかしないといけないと気が付くまで..(大汗
    そんな遠回りをしてしまいました。※この設定をするにも遠回りしたんだけどね。
  • Fedora Core3 で標準でインストールされるDovecotは、ユーザ認証に passwd(/etc/passwd), static,
    vpopmail, ldap, pgsql が使えると書いてあるので(/etc/dovecot.con)色々と便利そうで楽かなと思いハマリました。
はまった内容
yumでインストールされるDovecotは、auth_userdbパラメタにpasswd認証以外はサポートされてません。
のため vpopmail とか指定すると以下のエラーが・・・、、ってなんやんダメなの?
dovecot-auth: Unknown userdb type 'vpopmail:'
  • そんな訳で、結構はまりました。しかもPostgres入れるのかったるいとサボったお陰で。。。またこれも大変。
    しかもldapなんて大それたシステム構成でもないので(あせ
  • 結論としては以下のとおり
    • yumでインストールしたDovecotは、passwd以外の認証をサポートしてない
    • vpopmailを入れるであれば、qmailも必要
    • Dovecotでvpopmail形式の認証を行う場合は、vpopmailのヘッダファイルが必要
    • グループ/ユーザの設定があって面度なので、yumでPostfixとDovecotはインストールしておく。

vpopmail形式とは?

  • vpopmailというPOP3サーバがあり、そのvpopmailは書籍でみたところバーチャルドメインユーザの管理が楽?
    と思い導入することに、というか冒頭でも書いたようにPostgres入れるのも面倒だったのでね。
  • しかしvpopmail形式を導入するには、当然のことながらvpopmailをインストールしないといけないのです。
    しかもvpopmailをインストールするためにはqmailが必要と。堂々めぐり。

まずはqmail+vpopmailをインストールする

  • qmailのインストール手順
    1. どのmirrorでもいいのでnetqmail-1.05.tar.gzをダウンロードする(下記は日本のサイト)。
      % wget http://www9.jp.qmail.org/netqmail-1.05.tar.gz
    2. ファイルを展開しパッチをあてる。
      % gzip -cd netqmail-1.05.tar.gz | tar xf -
      % cd netqmail-1.05/
      % ./collate.sh
    3. qmailのインストール先ディレクトリを作成する。
      # mkdir /var/qmail
    4. qmailで使用するグループ/ユーザを作成する。
      # groupadd nofiles
      # useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
      # useradd -g nofiles -d /var/qmail -s /bin/false qmaild
      # useradd -g nofiles -d /var/qmail -s /bin/false qmaill
      # useradd -g nofiles -d /var/qmail -s /bin/false qmailp
      # groupadd qmail
      # useradd -g qmail -d /var/qmail -s /bin/false qmailq
      # useradd -g qmail -d /var/qmail -s /bin/false qmailr
      # useradd -g qmail -d /var/qmail -s /bin/false qmails
    5. コンパイル&インストール
      # cd ./netqmail-1.05/netqmail-1.05
      # make setup check
  • こっちもMUAをvpopmailにする訳ではなく、バーチャルドメイン管理コマンドを使用するだけなのでご安心を。
  • vpopmailのインストール手順
    1. どのmirrorでもいいのでvpopmail-5.4.9.tar.gzをダウンロードする。
      % wget http://cogent.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.9.tar.gz
      % gzip -cd vpopmail-5.4.9.tar.gz | tar xf -
      % cd vpopmail-5.4.9.tar.gz
    2. /etc/tcp.smtp を作成する。
      127.:allow,RELAYCLIENT=""
    3. vpopmailで使用するグループ/ユーザを作成する。
      # groupadd -g 20001 vchkpw
      # useradd -g vchkpw -u 20001 -d /home/vpopmail -s /bin/false vpopmail
    4. configure する。
      # ./configure \
          --enable-tcpserver-file=/etc/tcp.smtp \
          --enable-qmaildir=/var/qmail \
          --enable-roaming-user=y \
          --enable-many-domains=y \
          --enable-qmail-ext=y \
          --enable-ip-alias-domains=y \
          --enable-clear-passwd=n
    5. コンパイル&インストール
      # make
      # make install-strip
      # make install
    6. Dovecotのために共通ヘッダを/usr/includeにコピーする。
      # cp /home/vpopmail/include/vpopmail.h /usr/include
      # cp /home/vpopmail/include/vauth.h /usr/include

Dovecotをインストールする

  • yum で既に導入済みのDovecotがあるとしたら、それはそれでおいておきましょう。
    • Dovecot : http://dovecot.org/
    • Dovecot 0.9xバージョンをダウンロードしてくること。1.x系(現時点では、test版)は、プロセス構成も定義ファイルも違うから。
  • Dovecotのインストール手順
    1. dovecot-0.99.14.tar.gzをダウンロードする。
      % wget http://dovecot.org/releases/dovecot-0.99.14.tar.gz
      % gzip -cd dovecot-0.99.14.tar.gz | tar xf -
      % cd ddovecot-0.99.14/
      # ./configure --with-vpopmail
注意!!
configureで最終行にvpopmailと表示されていること。この表示がない場合は、vpopmailを使用することができない。
configureを行うのは必ずrootユーザで行うこと。
それでもvpopmailが表示されていない場合は、qmail,vpopmailの設定をやりなおす。
Install prefix ...................... : /usr/local
File offsets ........................ : 64bit
Building with SSL support ........... : no
Building with IPv6 support .......... : yes
Building with pop3 server ........... : yes
Building with user database modules . : static passwd passwd-file vpopmail (modules)
Building with password lookup modules : passwd passwd-file shadow vpopmail (modules)
  1. コンパイル&インストール
    # make
    # make install-strip
    # make install
  • ここまでくれば、あとは設定だけ! もうひとがんばり!!

各種設定ファイルの変更

  • 各種設定ファイルの変更の前にsea-bird.orgでは、以下のようにバーチャルドメイン設定ポリシーとしています。
    プロセス設定ポリシー
    Postfixメインドメイン(sea-bird.org)もバーチャルドメインとして扱う
    ドメインのメール受信ディレクトリは、'/home/vpopmail/domains'以下とする
    GID/UIDは、vpopmail(vchkpw=20001)とする
    mailの格納形式は、Maildir形式とする
    qmailとりあえずインストールしただけ
    vpopmailとりあえずインストールしただけ
    vadddomain, vadduser を使いたいのと Dovecotのため(笑)
    Dovecotバーチャルドメインで振り分け分けられた、Maildirを参照する
    認証方式は、id/pw共にvpopmail形式とする
  1. Postfixの設定
    1. /etc/postfix.main.cfの設定内容
      #
      # virtual-domain
      #
      # バーチャルドメインにはvirtualデーモンを用いる
      virtual_transport = virtual
      # メールボックスを保存するベースディレクトリ
      virtual_mailbox_base = /home/vpopmail/domains
      # メールの振り分け先を定義するmailbox_mapsファイルの指定
      virtual_mailbox_maps = hash:/etc/postfix/vmailbox
      # バーチャルドメインの定義(メインドメンは、記述しないこと)
      virtual_mailbox_domains = window-shop.biz
      # 配送されるメールの最小UID(vchkpw=20001)
      virtual_minimum_uid = 20001
      # 配送されるメールのUID(vchkpw=20001)
      virtual_uid_maps = static:20001
      # 配送されるメールのGID(vchkpw=20001)
      virtual_gid_maps = static:20001
      
      # ローカル配送でもvirutalデーモンを用いる
      local_transport = virtual
      # ローカル配送でも、バーチャルメールの振り分け先を定義
      local_recipient_maps = hash:/etc/postfix/vmailbox
    2. /etc/postfix/vmailboxの設定内容
      hoge@window-shop.biz          window-shop.biz/hoge/Maildir/
      hoge@sea-bird.org             sea-bird.org/hoge/Maildir/
  2. vpopmailの設定(バーチャルメールドメイン・アカウントの設定)
    1. メールドメインの追加(バーチャルドメインに対するメールアカウントpostmasterを追加します)
      # /home/vpopmail/bin/vadddomain sea-bird.org
      Please enter password for postmaster:
      enter password again:
      
      # /home/vpopmail/bin/vadddomain window-shop.biz
      Please enter password for postmaster:
      enter password again:
    2. メールドアカウントの追加(ここで入力するパスワードは、メール認証時のパスワードになります)
      # /home/vpopmail/bin/vadduser hoge@sea-bird.org
      Please enter password for hoge@sea-bird.org:
      enter password again:
      
      # /home/vpopmail/bin/vadduser hoge@window-shop.biz
      Please enter password for hoge@window-shop.biz:
      enter password again:
    3. 以下のファイルが作成されていることを確認する
      /var/qmail/users/assign
      /var/qmail/users/assign.lock
      /var/qmail/users/cdb
      
      /home/vpopmail/domains/sea-bird.org
      /home/vpopmail/domains/sea-bird.org/hoge
      /home/vpopmail/domains/sea-bird.org/postmaster
      /home/vpopmail/domains/window-shop.biz
      /home/vpopmail/domains/window-shop.biz/hoge
      /home/vpopmail/domains/window-shop.biz/postmaster
  3. Dovecotの設定
    1. /usr/local/etc/dovecot.confの設定内容(yumでインストールされたconfとの差分)
      # 使用するプロトコルの設定
      protocols = imap imaps pop3 pop3s
      # 
      login_dir = /var/run/dovecot-login
      #
      valid_chroot_dirs = /home
      # mailの格納形式は、Maildir形式とする
      default_mail_env = maildir:~/Maildir
      # 認証は、vpopmail形式を使用する
      auth_userdb = vpopmail
      auth_passdb = vpopmail
    2. 手でインストールしたDovecotは、sslがつかえない・・・、証明書を自前で発行かなあ
      ssl_cert_file = /usr/share/ssl/certs/dovecot.pem
      ssl_key_file = /usr/share/ssl/private/dovecot.pem

各プロセスの起動

  • Postfixの再起動
    # /usr/sbin/postmap /etc/postfix/vmailbox
    # /etc/rc.d/init.d/postfix restart
  • Dovecotの設定(yumでインストールされたDovecotを置き換える)
    # /etc/rc.d/init.d/dovecot stop
    # cp /usr/sbin/dovecot /usr/sbin/dovecot.org
    # cp /usr/local/sbin/dovecot /usr/sbin/dovecot
    # /etc/rc.d/init.d/dovecot start

参考にさせて頂いたサイト様


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:33