差分

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

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

linux:podoma [2011/08/31 00:58]
miyako
linux:podoma [2011/08/31 04:46] (現在)
miyako [mailmanインストール]
ライン 26: ライン 26:
  
    
-===== Postfixインストール =====+===== Postfixインストール =====
  
  
ライン 33: ライン 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から外すように設定をしておく必要あり。
  
 バーチャルドメインで運用するので、バーチャル用のグループとユーザを作成する バーチャルドメインで運用するので、バーチャル用のグループとユーザを作成する
ライン 128: ライン 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
      
-  この時、右辺に +  この時、 
-    &転送元メールアドレス+    メールアドレス  転送先1,&メールアドレス(左辺の転送元と同じアドレス)
   と書く事で転送元にもメールを残すように設定が可能(実メールアカウントがある場合)   と書く事で転送元にもメールを残すように設定が可能(実メールアカウントがある場合)
      
   4.容量制限の設定ファイル   4.容量制限の設定ファイル
-  /etc/postfix/vquota+    /etc/postfix/vquota
      
   フォーマットは以下の通り   フォーマットは以下の通り
-  メールアドレス  制限値(単位はバイト10GB=10240000000とするとだいたいあってる)+    メールアドレス  制限値(単位はバイト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インストール =====
  
 +インストールはyumでOK
 +  yum install dovecot
 +  chkconfig dovecot on
  
  
-dovecot2系の修正+  エンタープライズLINUXではdovecotのバージョンが2にあがっている。 
 +  1系では/etc/dovecot.confだけで設定されていたのが、細かく分割されている。 
 +  おそらく今後のバージョンアップで設定ファイルの修正をわかりやすくする為と思われる。
  
-/etc/dovecot/dovecot.conf+もともと1系で検証してたので2系になって面倒と思ったが、基本的な書き方は同じで1ファイルか複数ファイルで管理しているかの違いと思う。
  
-IPv4み対応+今回はSL6.1ベースなで2系の設定方法を記載しているが、1系の場合は/etc/dovecot.confで該当する部分を見つけて修正してやれば問題ないかと思う・・・。たぶんね。
  
- #listen = *, :: 
-  ↓ 
- listen = * 
  
-/etc/dovecot/conf.d/10-auth.conf+  1.IPv6を利用しない 
 +  編集するファイル 
 +    /etc/dovecot/dovecot.conf
  
- auth_mechanisms = plain +  サーバーをIPv6を利用しない設定にしてあるので、postfixやdovecotもIPv6を利用しないように 
-  ↓ +  設定してやらないとerrorやwarningとなる
- 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+
  
 +  #listen = *, ::
 +    ↓
 +  listen = *
  
-/etc/dovecot/conf.d/10-mail.conf 
  
- #mail_location = +  2.認証方法とセキュリティの設定 
-   +  編集するファイル 
- mail_location = maildir:/home/vuser/vhosts/%d/%n/Maildir+    /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
  
-/etc/dovecot/conf.d/10-master.conf 
-81行目あたりからを以下の修正(元の状態を忘れた^^;) 
  
 +  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
ライン 222: ライン 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 { +  passdb { 
-  driver = passwd-file +    driver = passwd-file 
-  # args = scheme=CRYPT username_format=%u /etc/dovecot/users +    # args = scheme=CRYPT username_format=%u /etc/dovecot/users 
-  args = /home/vuser/dovecot-passwd +    args = /home/vuser/dovecot-passwd 
-}+  }
  
-userdb { +  userdb { 
-  driver = passwd-file +    driver = passwd-file 
-  #args = username_format=%u /etc/dovecot/users +    #args = username_format=%u /etc/dovecot/users 
-  args = /home/vuser/dovecot-passwd +    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コマンドが存在しません 
- dovecotpwコンドは廃止されて、かわりに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 
 + 
 + 
 +メーリングリストの追加コマンド 
 +  newlist -q リスト名 管理者メールアドレス 管理パスワード 
 + 
 +メーリングリストの削除コマンド 
 +  rmlist -a リスト名 
 + 
 + 
 +まぁ、aliasesファイルの編集やhashデータベース化も必要なのだが、そはわかでしょ? 
 +    
linux/podoma.1314752331.txt.gz · 最終更新: 2011/08/31 00:58 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