トップ   サーバー構築   旅行日記   手記   リンク   About  

Postfix

ここでは、postfixのブラウザユーザー管理ツールPostfixadminを利用する構成であるPostfix,MySQLの連動の構築方法を記載いたします。

ユーザーの作成

postfixをインストールする際には必ずpostfixユーザーとpostdropグループが必要になります。
postfixはpostdropと同じグループにしてはいけません。
その為、postfixとpostdropというグループを作成し、postfixユーザーをpostfixグループに所属させるとよいでしょう。
groupadd -g 500 postfix
groupadd -g 501 postdrop
useradd -u 500 -g 500 postfix

インストール

tar xvfz postfix-2.4.5.tar.gz
cd postfix-2.4.5
make -f Makefile.init makefiles \
    'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql/' \
    'AUXLIBS=-L/usr/local/mysql/lib/mysql/ -lmysqlclient -lz -lm'
make
make install
途中で問い合わせがいくつか出てきますが、すべてEnterで進んでください。

PostfixのMySQL対応確認

Postfixが正しくMySQL対応になっているかを確認します。
postconf -m
上記コマンドで mysql があれば対応しています。

各種設定

/etc/postfix/main.cf の編集
myhostname = mail.qurataro.com
mydomain = qurataro.com
myorigin = $myhostname
inet_interfaces = all
mydestination =

local_transport = virtual
virtual_transport = virtual
virtual_mailbox_base = /home/vmail
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_alias_domains = $virtual_alias_maps
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 10000
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000
mailbox_size_limit = 51200000
message_size_limit = 10240000
virtual_mailbox_limit = 51200000
virtual_mailbox_limit_maps = hash:/etc/postfix/vquota
virtual_mailbox_limit_override = yes
virtual_overquota_bounce = yes
virtual_mailbox_limit_inbox = yes

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
mydestination を空にしておく意味はバーチャル設定に引き継がせるためです。 /etc/postfix/mysql_virtual_alias_maps.cf の作成
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s'
/etc/postfix/mysql_virtual_domains_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT description FROM domain WHERE domain='%s'
/etc/postfix/mysql_virtual_mailbox_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s'

IMAPのインストール

デフォルトの configure では MySQL の対応になりません。その為、以下のオプションをつけまたインストールした MySQL のライブラリを参照する。
tar xvfz courier-imap-3.0.8
cd courier-imap-3.0.8
./configure --prefix=/usr/local/imap \
            --with-authmysql \
            --with-mysql-libs=/usr/local/mysql/lib/mysql \
            --with-mysql-includes=/usr/local/mysql/include/mysql/ \
            --with-redhat \
            --disable-root-check
make WITH_MYSQL=yes
make install
make install-configure
/usr/local/imap/etc/authmysqlrcの編集
MYSQL_SERVER            localhost
MYSQL_USERNAME          postfix
MYSQL_PASSWORD          postfix

MYSQL_SOCKET            /var/lib/mysql/mysql.sock

MYSQL_DATABASE          postfix
MYSQL_USER_TABLE        mailbox
MYSQL_CRYPT_PWFIELD     password
MYSQL_UID_FIELD         '10000'
MYSQL_GID_FIELD         '10000'
MYSQL_HOME_FIELD        '/home/vmail'
MYSQL_MAILDIR_FIELD     maildir
シングルクオートで囲まないとデータが正しく参照できない不具合があります。
Copyight (C) qurataro.com 2004-2007 quraportal All Rights. Reserved.