*** Postfix+Dovecot(バーチャルドメイン・メール)+vpopmail形式 [#e7e35083]

- Postfixでバーチャルドメイン化し、COLOR(RED){''バーチャルドメイン向けに送信''}されたメールを受信するには?~
と1週間悩んでました。メールの受信なんだからPOP3で認証を含めなんとかしないといけないと気が付くまで..(大汗~
そんな遠回りをしてしまいました。※この設定をするにも遠回りしたんだけどね。

- Fedora Core3 で標準でインストールされる[[Dovecot>http://dovecot.org/]]は、ユーザ認証に passwd(/etc/passwd), static, ~
vpopmail, ldap, pgsql が使えると書いてあるので(/etc/dovecot.con)色々と便利そうで楽かなと思いハマリました。

: COLOR(RED){はまった内容} | yumでインストールされるDovecotは、''auth_userdb''パラメタにpasswd認証以外はサポートされてません。~
のため vpopmail とか指定すると以下のエラーが・・・、、ってなんやんダメなの?~
COLOR(RED){dovecot-auth: Unknown userdb type 'vpopmail:'}

- そんな訳で、結構はまりました。しかもPostgres入れるのかったるいとサボったお陰で。。。またこれも大変。~
しかもldapなんて大それたシステム構成でもないので(あせ
- 結論としては以下のとおり
-- yumでインストールしたDovecotは、passwd以外の認証をサポートしてない
-- vpopmailを入れるであれば、qmailも必要
-- Dovecotでvpopmail形式の認証を行う場合は、vpopmailのヘッダファイルが必要
-- グループ/ユーザの設定があって面度なので、yumでPostfixとDovecotはインストールしておく。

*** vpopmail形式とは? [#hb773c63]

- vpopmailというPOP3サーバがあり、そのvpopmailは書籍でみたところバーチャルドメインユーザの管理が楽?~
と思い導入することに、というか冒頭でも書いたようにPostgres入れるのも面倒だったのでね。

- しかしvpopmail形式を導入するには、当然のことながらvpopmailをインストールしないといけないのです。~
しかもvpopmailをインストールするためにはqmailが必要と。堂々めぐり。

*** まずはqmail+vpopmailをインストールする [#b1fc917a]

- MTAをqmailにする訳ではなく、とりあえず入れるだけなのでご安心を。
-- inter7 : [[http://www.inter7.com/>http://www.inter7.com/]]
-- qmail : [[http://www.qmail.org/>http://www.qmail.org/]]

- qmailのインストール手順
++ どのmirrorでもいいのでCOLOR(RED){'''netqmail-1.05.tar.gz'''}をダウンロードする(下記は日本のサイト)。
 % wget http://www9.jp.qmail.org/netqmail-1.05.tar.gz
++ ファイルを展開しパッチをあてる。
 % gzip -cd netqmail-1.05.tar.gz | tar xf -
 % cd netqmail-1.05/
 % ./collate.sh
++ qmailのインストール先ディレクトリを作成する。
 # mkdir /var/qmail
++ 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
++ コンパイル&インストール
 # cd ./netqmail-1.05/netqmail-1.05
 # make setup check

- こっちもMUAをvpopmailにする訳ではなく、バーチャルドメイン管理コマンドを使用するだけなのでご安心を。
-- vpopmail : [[http://www.inter7.com/>http://www.inter7.com/]]

- vpopmailのインストール手順
++ どのmirrorでもいいのでCOLOR(RED){'''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
++ COLOR(RED){/etc/tcp.smtp} を作成する。
 127.:allow,RELAYCLIENT=""
++ vpopmailで使用するグループ/ユーザを作成する。
 # groupadd -g 20001 vchkpw
 # useradd -g vchkpw -u 20001 -d /home/vpopmail -s /bin/false vpopmail
++ 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
++ コンパイル&インストール
 # make
 # make install-strip
 # make install
++ Dovecotのために共通ヘッダを''/usr/include''にコピーする。
 # cp /home/vpopmail/include/vpopmail.h /usr/include
 # cp /home/vpopmail/include/vauth.h /usr/include

*** Dovecotをインストールする [#l4b671ac]

- yum で既に導入済みのDovecotがあるとしたら、それはそれでおいておきましょう。
-- Dovecot : [[http://dovecot.org/>http://dovecot.org/]]
-- Dovecot 0.9xバージョンを[[ダウンロード>http://dovecot.org/download.html]]してくること。1.x系(現時点では、test版)は、プロセス構成も定義ファイルも違うから。

- Dovecotのインストール手順
++ COLOR(RED){'''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''で最終行にCOLOR(RED){''vpopmail''}と表示されていること。この表示がない場合は、vpopmailを使用することができない。~
configureを行うのは必ずCOLOR(RED){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)
++ コンパイル&インストール
 # make
 # make install-strip
 # make install

- ここまでくれば、あとは設定だけ! もうひとがんばり!!

*** 各種設定ファイルの変更 [#vbb1aa59]

- 各種設定ファイルの変更の前にCOLOR(RED){sea-bird.org}では、以下のようにバーチャルドメイン設定ポリシーとしています。
|CENTER:プロセス|CENTER:設定ポリシー|h
|Postfix|メインドメイン(sea-bird.org)もバーチャルドメインとして扱う|
|~|ドメインのメール受信ディレクトリは、'/home/vpopmail/domains'以下とする|
|~|GID/UIDは、vpopmail(vchkpw=20001)とする|
|~|mailの格納形式は、Maildir形式とする|
|qmail|とりあえずインストールしただけ|
|vpopmail|とりあえずインストールしただけ|
|~|vadddomain, vadduser を使いたいのと Dovecotのため(笑)|
|Dovecot|バーチャルドメインで振り分け分けられた、Maildirを参照する|
|~|認証方式は、id/pw共にvpopmail形式とする|

+ Postfixの設定
++ COLOR(RED){''/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
++ COLOR(RED){''/etc/postfix/vmailbox''}の設定内容
 hoge@window-shop.biz          window-shop.biz/hoge/Maildir/
 hoge@sea-bird.org             sea-bird.org/hoge/Maildir/
+ vpopmailの設定(バーチャルメールドメイン・アカウントの設定)
++ メールドメインの追加(バーチャルドメインに対するメールアカウント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:
++ メールドアカウントの追加(ここで入力するパスワードは、メール認証時のパスワードになります)
 # /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:
++ 以下のファイルが作成されていることを確認する
 /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
+ Dovecotの設定
++ COLOR(RED){''/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
++ 手でインストールしたDovecotは、sslがつかえない・・・、証明書を自前で発行かなあ
 ssl_cert_file = /usr/share/ssl/certs/dovecot.pem
 ssl_key_file = /usr/share/ssl/private/dovecot.pem

*** 各プロセスの起動 [#zb747f93]

- 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

*** 参考にさせて頂いたサイト様 [#c92b65d0]

- [[vpopmailのインストール>http://qmailsolutions.com/vpopmail/install_vpopmail.html#about]]
- [[それ行けLinux〜vpopmail〜>http://www.ryouto.jp/linux/linux_21.html#POS001]]
- [[qmailによるSMTPサーバの構築>http://www.atmarkit.co.jp/flinux/rensai/qmail01/qmail01b.html]]
- [[qmailのインストール及びその設定(vpopmailのインストール)>http://www.mm-labo.com/computer/linux/qmail/qmail-vpopmail.html]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS