差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

linux:podoma [2011/08/30 09:07]
miyako
linux:podoma [2011/08/31 04:46] (現在)
miyako [mailmanインストール]
ライン 26: ライン 26:
  
    
-  * Postfixインストールする+===== Postfixインストール ===== 
  
 Scientific Linux(SL)やCentOSなどのリポジトリにあがっているPostfixではquotaを制御できない。もうね、いい加減Postfixが取り込んでくれないかと思うが、なぜか取り込まれない。む~ん、そういう需要がないのかなぁ?? Scientific Linux(SL)やCentOSなどのリポジトリにあがっているPostfixではquotaを制御できない。もうね、いい加減Postfixが取り込んでくれないかと思うが、なぜか取り込まれない。む~ん、そういう需要がないのかなぁ??
ライン 32: ライン 33:
 なので、SRPMを落としてきてPATCHをあてて[[postfix:rebuild|RPMを自作]]する。※自作方法は後で別ページに書く予定(2011年8月30日) なので、SRPMを落としてきてPATCHをあてて[[postfix:rebuild|RPMを自作]]する。※自作方法は後で別ページに書く予定(2011年8月30日)
  
- +SL 6.1やCentOS6ではデフォルトMTAがPostfixに変更されているはずなので、まずは既存のPostfixをアンインストールする 
-インストールはrpmコマンド+  一応、確認 
 +  rpm -qa | grep postfix 
 +   
 +  yum remove postfix* 
 +   
 +インストールはrpmコマンドを実行
   rpm -ivh postfix*   rpm -ivh postfix*
-てな感じかな+てな感じかな。yumでupdateされないようにPostfixをupdateから外すように設定をしておく必要あり。
  
 バーチャルドメインで運用するので、バーチャル用のグループとユーザを作成する バーチャルドメインで運用するので、バーチャル用のグループとユーザを作成する
ライン 125: ライン 131:
  
  
-さて、この状態で設定していファイルを適切に変更ていればテキストファイルバーチャルドメインの設定が可能なる+起動す前に、ドメンやメーアドレス設定テキストファイルを作成する 
 +  1.バーチャルドメインの設定ファイル 
 +    /etc/postfix/virtual_domains 
 +   
 +  フォーマットは以下の通り 
 +    ドメイン名  required to prevent relay access denied errors 
 +   
 +  2.メールアドレスの設定ファイル 
 +    /etc/postfix/vmailbox 
 +   
 +  フォーマットは以下の通り 
 +    メールアドレス  ドメイン名/アカウント名/Maildir/ 
 +   
 +  3.転送アドレスの設定ファイル 
 +    /etc/postfix/virtual 
 +   
 +  フォーマットは以下の通り 
 +    メールアドレス  転送先1,転送先2 
 +   
 +  この時、 
 +    メールアドレス  転送先1,&メールアドレス(左辺の転送元と同じアドレス) 
 +  と書く事で転送元にもメールを残すように設定が可能(実メールアカウントがある場合) 
 +   
 +  4.容量制限の設定ファイル 
 +    /etc/postfix/vquota 
 +   
 +  フォーマットは以下の通り 
 +    メールアドレス  制限値(単位はバイト10GB=10240000000とするとだいたいあってる) 
 +   
 +  この時 
 +    @ドメイン名  制限値 
 +  と書く事でドメイン単位での容量制限値となる 
  
-かし、こんなの面倒なのでオリジナルの設定コマンドを作成。以下はその為の設定変更。なんちゃってコマンドでも欲しいのなら連絡ください。+mailmanのaliasファイルも指定てるので必要であるが、れはmailman項目を参照
  
  
 +作成したテキストファイルのままではPostfixは読込めないのでhashデータベースに変換をする
 +  postmap 変換したい設定ファイル
  
 +全ての設定ファイルをhashデータベース化したらPostfixの設定は完了なはず・・・
  
  
 +  ちなみに…
 +  設定するファイルが多くいちいちviで編集するのが面倒なのでオリジナルのコマンドを作成
 +  するのが管理には楽かもしれない。
 +  以下は実際に作成したオリジナルコマンドの為の設定なので、テキストファイルを直接書換えて
 +  管理する場合は不要です
 +  
 +  cd /etc/postfix
 +  mkdir vhosts
 +  mkdir aliases
 +  mkdir quota
 +  
 +  cd /home/vuser
 +  mkdir bin
 +  cd bin
 +  
 +  オリジナルコマンドをダウンロード
 +  
 +  chmod 775*
 +  
  
-***** 以下は参考。後+デフォルトmtaにSendmailがインストールされている場合は以下の手順デフォルトmtaをpostfizに変更する 
 +  service sendmail stop 
 +  chkconfig sendmail off 
 +   
 +  alternatives --config mta 
 +   
 +  2をインプットしてださい
  
 +  chkconfig postfix on
 +  service postfix start
  
 +===== Dovecotインストール =====
  
-dovecot2系の修正点+インストールはyumでOK 
 +  yum install dovecot 
 +  chkconfig dovecot on
  
-/etc/dovecot/dovecot.conf 
  
-IPv4み対応+  エンタープライズ系LINUXではdovecotバージョンが2にあがっている。 
 +  1系では/etc/dovecot.confだけで設定されていたのが、細かく分割されている。 
 +  おそらく今後のバージョンアップで設定ファイルの修正をわかりやすくする為と思われる。
  
- #listen = *, :: +もともと1系で検証してたので2系になって面倒と思ったが、基本的な書き方は同じで1ファイルか複数ファイルで管理しているかの違いと思う。
-  ↓ +
- listen = *+
  
-/etc/dovecot/conf.d/10-auth.conf+今回はSL6.1ベースなので2系の設定方法を記載しているが、1系の場合は/etc/dovecot.confで該当する部分を見つけて修正してやれば問題ないかと思う・・・。たぶんね。
  
- auth_mechanisms = plain 
-  ↓ 
- auth_mechanisms = digest-md5 cram-md5 plain login 
-  
- #!include auth-passwdfile.conf.ext 
-  ↓ 
- !include auth-passwdfile.conf.ext 
-  
- !include auth-system.conf.ext 
-  ↓  
- #!include auth-system.conf.ext 
  
 +  1.IPv6を利用しない
 +  編集するファイル
 +    /etc/dovecot/dovecot.conf
  
-/etc/dovecot/conf.d/10-mail.conf+  サーバーをIPv6を利用しない設定にしてあるので、postfixやdovecotもIPv6を利用しないように 
 +  設定してやらないとerrorやwarningとなる
  
- #mail_location +  #listen *, :: 
-  ↓ +    ↓ 
- mail_location maildir:/home/vuser/vhosts/%d/%n/Maildir+  listen *
  
  
-/etc/dovecot/conf.d/10-master.conf +  2.認証方法とセキュリティの設定 
-81行目あたりからを以下の修正(元の状態を忘れた^^;)+  編集するファイル 
 +    /etc/dovecot/conf.d/10-auth.conf
  
 +  md5とloginを追加。認証はテキストファイルで行うのでauth-passwdfile.conf.extを有効にする。
 +  デフォルトをはっきり覚えてないのだが、確かauth-system.conf.extが有効になってたので無効かする。
 +  
 +  auth_mechanisms = plain
 +    ↓
 +  auth_mechanisms = digest-md5 cram-md5 plain login
 + 
 +  #!include auth-passwdfile.conf.ext
 +    ↓
 +  !include auth-passwdfile.conf.ext
 + 
 +  !include auth-system.conf.ext
 +    ↓ 
 +  #!include auth-system.conf.ext
 +
 +
 +  3.メールディレクトリの指定
 +  編集するファイル
 +    /etc/dovecot/conf.d/10-mail.conf
 +  
 +  posutofixで指定したディレクトリを指定する。
 +    %dはドメイン名
 +    %nはユーザ名
 +  にそれぞれ置き換わる。
 +  
 +  #mail_location =
 +    ↓
 +  mail_location = maildir:/home/vuser/vhosts/%d/%n/Maildir
 +
 +
 +  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
ライン 188: ライン 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追加さてい+    
linux/podoma.1314695271.txt.gz · 最終更新: 2011/08/30 09:07 by miyako
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0