この文書の現在のバージョンと選択したバージョンの差分を表示します。
|
linux:podoma [2011/08/31 01:16] miyako |
linux:podoma [2011/08/31 04:46] (現在) miyako [mailmanインストール] |
||
|---|---|---|---|
| ライン 133: | ライン 133: | ||
| 起動する前に、ドメインやメールアドレスを設定したテキストファイルを作成する | 起動する前に、ドメインやメールアドレスを設定したテキストファイルを作成する | ||
| 1.バーチャルドメインの設定ファイル | 1.バーチャルドメインの設定ファイル | ||
| - | /etc/postfix/virtual_domains | + | /etc/postfix/virtual_domains |
| フォーマットは以下の通り | フォーマットは以下の通り | ||
| - | ドメイン名 required to prevent relay access denied errors | + | ドメイン名 required to prevent relay access denied errors |
| 2.メールアドレスの設定ファイル | 2.メールアドレスの設定ファイル | ||
| - | /etc/postfix/vmailbox | + | /etc/postfix/vmailbox |
| フォーマットは以下の通り | フォーマットは以下の通り | ||
| - | メールアドレス ドメイン名/アカウント名/Maildir/ | + | メールアドレス ドメイン名/アカウント名/Maildir/ |
| 3.転送アドレスの設定ファイル | 3.転送アドレスの設定ファイル | ||
| - | /etc/postfix/virtual | + | /etc/postfix/virtual |
| フォーマットは以下の通り | フォーマットは以下の通り | ||
| - | メールアドレス 転送先1,転送先2 | + | メールアドレス 転送先1,転送先2 |
| この時、 | この時、 | ||
| ライン 155: | ライン 155: | ||
| 4.容量制限の設定ファイル | 4.容量制限の設定ファイル | ||
| - | /etc/postfix/vquota | + | /etc/postfix/vquota |
| フォーマットは以下の通り | フォーマットは以下の通り | ||
| - | メールアドレス 制限値(単位はバイト10GB=10240000000とするとだいたいあってる) | + | メールアドレス 制限値(単位はバイト10GB=10240000000とするとだいたいあってる) |
| この時 | この時 | ||
| ライン 198: | ライン 198: | ||
| alternatives --config mta | alternatives --config mta | ||
| + | |||
| 2をインプットしてください | 2をインプットしてください | ||
| - | ==== Dovecotインストール ==== | + | chkconfig postfix on |
| + | service postfix start | ||
| + | ===== Dovecotインストール ===== | ||
| + | インストールはyumでOK | ||
| + | yum install dovecot | ||
| + | chkconfig dovecot on | ||
| + | エンタープライズ系LINUXではdovecotのバージョンが2にあがっている。 | ||
| + | 1系では/etc/dovecot.confだけで設定されていたのが、細かく分割されている。 | ||
| + | おそらく今後のバージョンアップで設定ファイルの修正をわかりやすくする為と思われる。 | ||
| + | もともと1系で検証してたので2系になって面倒と思ったが、基本的な書き方は同じで1ファイルか複数ファイルで管理しているかの違いと思う。 | ||
| + | 今回はSL6.1ベースなので2系の設定方法を記載しているが、1系の場合は/etc/dovecot.confで該当する部分を見つけて修正してやれば問題ないかと思う・・・。たぶんね。 | ||
| - | ***** 以下は参考。後でかく | ||
| + | 1.IPv6を利用しない | ||
| + | 編集するファイル | ||
| + | /etc/dovecot/dovecot.conf | ||
| + | サーバーをIPv6を利用しない設定にしてあるので、postfixやdovecotもIPv6を利用しないように | ||
| + | 設定してやらないとerrorやwarningとなる | ||
| - | dovecot2系の修正点 | + | #listen = *, :: |
| + | ↓ | ||
| + | listen = * | ||
| - | /etc/dovecot/dovecot.conf | ||
| - | IPv4のみ対応 | + | 2.認証方法とセキュリティの設定 |
| + | 編集するファイル | ||
| + | /etc/dovecot/conf.d/10-auth.conf | ||
| - | #listen = *, :: | + | md5とloginを追加。認証はテキストファイルで行うのでauth-passwdfile.conf.extを有効にする。 |
| - | ↓ | + | デフォルトをはっきり覚えてないのだが、確かauth-system.conf.extが有効になってたので無効かする。 |
| - | listen = * | + | |
| - | + | auth_mechanisms = plain | |
| - | /etc/dovecot/conf.d/10-auth.conf | + | ↓ |
| - | + | auth_mechanisms = digest-md5 cram-md5 plain login | |
| - | auth_mechanisms = plain | + | |
| - | ↓ | + | |
| - | auth_mechanisms = digest-md5 cram-md5 plain login | + | |
| - | #!include auth-passwdfile.conf.ext | + | #!include auth-passwdfile.conf.ext |
| - | ↓ | + | ↓ |
| - | !include auth-passwdfile.conf.ext | + | !include auth-passwdfile.conf.ext |
| - | !include auth-system.conf.ext | + | !include auth-system.conf.ext |
| - | ↓ | + | ↓ |
| - | #!include auth-system.conf.ext | + | #!include auth-system.conf.ext |
| - | /etc/dovecot/conf.d/10-mail.conf | + | 3.メールディレクトリの指定 |
| - | + | 編集するファイル | |
| - | #mail_location = | + | /etc/dovecot/conf.d/10-mail.conf |
| - | ↓ | + | |
| - | mail_location = maildir:/home/vuser/vhosts/%d/%n/Maildir | + | posutofixで指定したディレクトリを指定する。 |
| + | %dはドメイン名 | ||
| + | %nはユーザ名 | ||
| + | にそれぞれ置き換わる。 | ||
| + | |||
| + | #mail_location = | ||
| + | ↓ | ||
| + | mail_location = maildir:/home/vuser/vhosts/%d/%n/Maildir | ||
| - | /etc/dovecot/conf.d/10-master.conf | ||
| - | 81行目あたりからを以下の修正(元の状態を忘れた^^;) | ||
| + | 4.Postfixとの連携を設定する(SMTP-AUTHの認証をdovecotのユーザーで行う為) | ||
| + | 編集するファイル | ||
| + | /etc/dovecot/conf.d/10-master.conf | ||
| + | |||
| + | 81行目あたりからを以下の修正(元の状態を忘れた^^;) | ||
| + | |||
| #unix_listener auth-userdb { | #unix_listener auth-userdb { | ||
| #mode = 0600 | #mode = 0600 | ||
| ライン 263: | ライン 287: | ||
| # Auth process is run as this user. | # Auth process is run as this user. | ||
| #user = $default_internal_user | #user = $default_internal_user | ||
| - | } | ||
| - | /etc/dovecot/conf.d/auth-passwdfile.conf.ext | + | 5.認証用ファイルを設定する |
| - | 以下のように修正 | + | 編集するファイル |
| + | /etc/dovecot/conf.d/auth-passwdfile.conf.ext | ||
| + | |||
| + | 以下のように修正する。 | ||
| + | |||
| + | passdb { | ||
| + | driver = passwd-file | ||
| + | # args = scheme=CRYPT username_format=%u /etc/dovecot/users | ||
| + | args = /home/vuser/dovecot-passwd | ||
| + | } | ||
| + | |||
| + | userdb { | ||
| + | driver = passwd-file | ||
| + | #args = username_format=%u /etc/dovecot/users | ||
| + | args = /home/vuser/dovecot-passwd | ||
| + | } | ||
| + | |||
| + | |||
| + | ユーザーの作成 | ||
| + | こちらもデータベースなど使わずテキストファイルで管理する。 | ||
| + | 先ほど認証用ファイルで設定した以下のファイルに1ユーザ1行で追加していく | ||
| + | この時、Postfix側のユーザー登録がされていないとユーザーディレクトリが見つからなくてエラーとなる | ||
| + | (んじゃないかな・・・試してないけど) | ||
| + | |||
| + | 編集するファイル | ||
| + | /home/vuser/dovecot-passwd | ||
| + | |||
| + | フォーマットは以下の通り | ||
| + | メールアドレス:{セキュリティ}暗号化されたパスワード:5000:5000::/home/vuser/vhosts/%d/%u/Maildir/ | ||
| + | |||
| + | 5000:5000は最初に作成したvuserのUIDとGIDを指定する | ||
| + | |||
| + | パスワードの作成 | ||
| + | 説明が後になったが、ユーザーを作成する際に指定したセキュリティで暗号化されたパスワードを | ||
| + | 生成する必要がある。 | ||
| + | 2系の場合は以下のようにして生成する事ができる | ||
| + | |||
| + | doveadm pw -s CRAM-MD5 -p パスワード | ||
| + | |||
| + | CRAM-MD5で暗号化されたパスワードが表示されるので、それをそのままユーザー設定ファイルに設定してやればOK | ||
| + | |||
| + | dovecotの1系を利用の場合はdoveadmコマンドが存在しません | ||
| + | 1系の場合はdovecotpwというコマンドを利用して同じようにパスワードを生成する事が可能 | ||
| + | |||
| + | dovecotpw -s CRAM0MD5 -p パスワード | ||
| + | |||
| + | |||
| + | dovecotを起動する | ||
| + | デフォルトの設定のままなのでPOP3とIMAPとLMTPがオープンsれます……ん?LMTPってなんぞや? | ||
| + | dovecot1系じゃなかったと思うぞ | ||
| + | |||
| + | どうやら、ESMTPの代替プロトコルでLocal Mail Transfer Protocolの頭文字を取ってLMTPのようだ | ||
| + | ローカルにメールを配送する為のプロトコルって事だろうね(読んだままやん) | ||
| + | |||
| + | ESMTPはSMTP拡張して転送を効率化するプロトコル群の総称。 | ||
| + | |||
| + | よし、とりあえずあげておこう(ぇ | ||
| + | |||
| + | 設定ファイル | ||
| + | /etc/dovecot/dovecot.conf | ||
| + | |||
| + | 変更箇所 | ||
| + | protocols = imap pop3 lmtp | ||
| + | |||
| + | |||
| + | ===== mailmanインストール ===== | ||
| + | |||
| + | Postfix+dovecotの環境でmailmanも独自ドメインで運用するには少し面倒だったりする | ||
| + | |||
| + | mailmanにPostfixからメールを渡す際にaliasesを利用する必要があるのだがPostfixとしてのaliasesではプログラムにパイプ(|)でメールを渡す事ができない。 | ||
| + | |||
| + | その為、ローカルのaliasesを利用するのだが、/etc/aliasesに書くとごちゃごちゃになるので/etc/mailman/aliasesを利用する。 | ||
| + | |||
| + | Postfixのmain.cfをその様に設定変更する必要があるのだが、上記のPostfixの設定通りに構築がされていればすでにその設定になっているw | ||
| + | |||
| + | さて、そうすると困った事がおこる。 | ||
| + | |||
| + | バーチャルドメインで運用しているのに、ml-info@ドメイン1とml-info@ドメイン2が1台のサーバー上では共存が出来ないのである。 | ||
| + | |||
| + | このサーバーで運用するドメイン全てを同じ人が管理するのであれば上記注意点を理解してメーリングリストを作成すれば良いのだけど、ドメイン毎に管理者が違う場合、メーリングリスト名が早い者勝ちとなってしまう。 | ||
| + | |||
| + | それを回避する一つの方法として、メーリングリストの実態はユニークなリスト名にして、各ドメインでそのリストに転送をする。 | ||
| + | |||
| + | インストールはyumでOK | ||
| + | yum install mailman | ||
| + | |||
| + | コンフィグファイルを修正 | ||
| + | 編集ファイル | ||
| + | /usr/lib/mailman/Mailman/mm_cfg.py | ||
| + | |||
| + | 変更箇所 | ||
| + | #DEFAULT_URL_HOST = fqdn | ||
| + | #DEFAULT_EMAIL_HOST = fqdn | ||
| + | ↓ | ||
| + | DEFAULT_URL_HOST = fqdn | ||
| + | DEFAULT_EMAIL_HOST = fqdn | ||
| + | |||
| + | #add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) | ||
| + | ↓ | ||
| + | add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) | ||
| + | |||
| + | |||
| + | 以下を追加(一部、個人的なデフォルト設定の変更ありw) | ||
| + | MTA = 'Postfix' | ||
| + | DEFAULT_SERVER_LANGUAGE = 'ja' | ||
| + | DEFAULT_REQUIRE_EXPLICIT_DESTINATION = 0 | ||
| + | DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d]" | ||
| + | DEFAULT_LIST_ADVERTISED = No | ||
| + | OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes | ||
| + | DEFAULT_REPLY_GOES_TO_LIST = 1 | ||
| + | ## DEFAULT_GENERIC_NONMEMBER_ACTION = 2 | ||
| + | |||
| + | |||
| + | ドメインを追加 | ||
| + | POSTFIX_STYLE_VIRTUAL_DOMAINS = [ | ||
| + | 'ドメイン1' | ||
| + | 'ドメイン2' | ||
| + | ] | ||
| + | |||
| + | |||
| + | add_virtualhost('ドメイン1','ドメイン1') | ||
| + | add_virtualhost('ドメイン2','ドメイン2') | ||
| + | |||
| + | ドメインを追加する度に設定を追加してmailmanをリロードする必要があります | ||
| + | |||
| + | |||
| + | service mailman start | ||
| + | |||
| + | chkconfig mainman on | ||
| - | passdb { | + | メーリングリストの追加コマンド |
| - | driver = passwd-file | + | newlist -q リスト名 管理者メールアドレス 管理パスワード |
| - | # args = scheme=CRYPT username_format=%u /etc/dovecot/users | + | |
| - | args = /home/vuser/dovecot-passwd | + | |
| - | } | + | |
| - | userdb { | + | メーリングリストの削除コマンド |
| - | driver = passwd-file | + | rmlist -a リスト名 |
| - | #args = username_format=%u /etc/dovecot/users | + | |
| - | args = /home/vuser/dovecot-passwd | + | |
| - | } | + | |
| - | パスワード発行方法 | + | まぁ、aliasesファイルの編集やhashデータベース化も必要なのだが、それはわかるでしょ? |
| - | dovecotpwコマンドは廃止されて、かわりにdoveadmが追加されている | + | |