以前のリビジョンの文書です


PODOMA

Postfix + Dovecot + Mailmanで構築したメールサーバー環境を勝手にPODOMAと呼んでいるだけなのだが(笑)

このページ(いや、このページだけではないけど)は編集中です
中途半端な情報の場合がありますので注意願います < だったらUPするなって言わないでね

さて、いつものように環境はCentOSと言いたい所ではあるが…実際のところCentOS内部がゴタゴタしててCentOS6.1など出てこない(2011年8月30日)

そこで、今回はScientific Linux 6.1(さいえんてぃふぃっく りなっくす でいいのかな?)に構築してみる事にする。

環境は以下のような感じ

OS      : Scientific Linux 6.1
Postfix : 2.6.6-2.2.el6.i686(自前でReBUILDしたの。理由は本文で)
Dovecot : 2.0.9-2.el6.i686
Mailman : 2.1.12-14.el6_0.2.i686

構築条件

データベースは使いたくない!(テキストファイルでの管理)
バーチャルドメインで運用がしたい
各バーチャルドメインでメーリングリストを運用したい
容量制限がしたい

Postfixをインストール

Scientific Linux(SL)やCentOSなどのリポジトリにあがっているPostfixではquotaを制御できない。もうね、いい加減Postfixが取り込んでくれないかと思うが、なぜか取り込まれない。む~ん、そういう需要がないのかなぁ??

なので、SRPMを落としてきてPATCHをあててRPMを自作する。※自作方法は後で別ページに書く予定(2011年8月30日)

インストールはrpmコマンドで

rpm -ivh postfix*

てな感じかな

バーチャルドメインで運用するので、バーチャル用のグループとユーザを作成する

groupadd -g 5000 vuser
useradd -g vuser -u 5000 vuser

UIDとGIDは5000以外でも構わないが他で使われていない事を確認が必要

作成したvuserのホームディレクトリのオーナー権限とパーミッションを設定

chown -R vuser:vuser /home/vuser
chmod -R 771 /home/vuser/

useraddコマンドでディレクトリを作ってるのでオーナー権限は大丈夫かもしれないが、パーミッションは700なので必須

main.cfを編集(オリジナルはもしもの場合の為、コピーして保存しておく)

cd /etc/postfix
cp -p main.cf main.cf.org

vi main.cf

編集は以下の所

myhostname = サーバーホスト名
#inet_interfaces = localhost
inet_interfaces = all

#inet_protocols = all
inet_protocols = ipv4
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname

#alias_maps = hash:/etc/aliases
alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases

home_mailbox = Maildir/

smtpd_banner = $myhostname ESMTP unknown

最低限これくらい修正をしておけば問題ないと思う

さらにSMTP-AUTHやバーチャルドメインの設定をmain.cfに追加(最後に追加すればOK)

# SMTP-AUTHの設定
#
smtpd_sasl_security_options = noanonymous
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = hash:/etc/postfix/virtual_domains
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_unauth_destination
# バーチャルドメインの設定
virtual_mailbox_domains = hash:/etc/postfix/virtual_domains
virtual_mailbox_base = /home/vuser/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual, hash:/etc/mailman/virtual-mailman

# QUOTA

virtual_create_maildirsize = yes
virtual_maildir_extended = yes
virtual_mailbox_limit_maps = hash:/etc/postfix/vquota
virtual_mailbox_limit_override = yes
virtual_overquota_bounce = no

# SMTPSの設定 デフォルトはNO

#
smtpd_use_tls = no
smtpd_tls_cert_file = /etc/pki/tls/certs/mail.pem
smtpd_tls_key_file = /etc/pki/tls/certs/mail.pem
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache

SMTPSの設定はとりあえず入れてるけど、有効化してない

master.cfを修正してSUBMISSIONを有効にする

vi master.cf

submission inet n       -       n       -       -       smtpd

submissionの#を外して有効化します

起動する前に、ドメインやメールアドレスを設定したテキストファイルを作成する

1.バーチャルドメインの設定ファイル
/etc/postfix/virtual_domains

フォーマットは以下の通り
ドメイン名  required to prevent relay access denied errors

2.メールアドレスの設定ファイル
/etc/postfix/vmailbox

フォーマットは以下の通り
メールアドレス  ドメイン名/アカウント名/Maildir/

3.転送アドレスの設定ファイル
/etc/postfix/virtual

フォーマットは以下の通り
メールアドレス  転送先1,転送先2

この時、右辺に
  &転送元メールアドレス
と書く事で転送元にもメールを残すように設定が可能(実メールアカウントがある場合)

4.容量制限の設定ファイル
/etc/postfix/vquota

フォーマットは以下の通り
メールアドレス  制限値(単位はバイト10GB=10240000000とするとだいたいあってる)

この時、左辺に
  @ドメイン名
と書く事でドメイン単位での容量制限値となる 
  

* 以下は参考。後でかく

dovecot2系の修正点

/etc/dovecot/dovecot.conf

IPv4のみ対応

#listen = *, ::

listen = *

/etc/dovecot/conf.d/10-auth.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

/etc/dovecot/conf.d/10-mail.conf

#mail_location =

mail_location = maildir:/home/vuser/vhosts/%d/%n/Maildir

/etc/dovecot/conf.d/10-master.conf 81行目あたりからを以下の修正(元の状態を忘れた^^;)

#unix_listener auth-userdb {
  #mode = 0600
  #user =
  #group =
#}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0660
  user = postfix
  group = postfix
}
# Auth process is run as this user.
#user = $default_internal_user

}

/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

}

パスワード発行方法  dovecotpwコマンドは廃止されて、かわりにdoveadmが追加されている

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