Postfix + Dovecot + PostfixAdmin(MySQL) インストール
Contents
概要
Postfix(postfix-2.3.3) + Dovecot(dovecot-1.0.7) + PostfixAdmin(postfixadmin-2.3.6)をインストールした時のメモ書き
作業内容(Postfix)
- 必要なパッケージインストール
- MySQLの設定
- バーチャルユーザー作成
- 設定ファイル編集
- MTA切替
作業内容(Dovecot)
- 設定ファイル編集
- 自動起動及びサービス起動
作業内容(PostfixAdmin)
- パッケージダウンロード及び解凍
- 設定ファイル編集
- Apacheの設定等
Postfix
必要なパッケージインストール
# yum install httpd php php-mysql php-mbstring libdbi-dbd-mysql mysql mysql-devel mysql-server # yum install postfix # yum install cyrus-sasl-plain cyrus-sasl-md5 # yum install dovecot # yum install php-mysql php-imap
MySQLの設定
自動起動及びMySQLを起動
# chkconfig mysqld on # /etc/init.d/mysqld start
DBのrootのパスワード等を設定(user:root, pass:mysql1234)
# mysqladmin -u root password 'mysql1234' # mysql -u root -pmysql1234 mysql> select host,user,password from mysql.user; mysql> delete from mysql.user where user=""; mysql> select host,user,password from mysql.user; mysql> set password for root@'localhost'=password('mysql1234'); mysql> set password for root@'127.0.0.1'=password('mysql1234'); mysql> set password for root@'mailsv'=password('mysql1234'); mysql> FLUSH PRIVILEGES; mysql> exit
PostfixのDB作成(user:postfixadmin, pass:postfixadmin1234)
# mysql -u root -pmysql1234 # MySQLに接続 mysql> create database postfixadmin character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on postfixadmin.* to postfixadmin@'localhost' identified by 'postfixadmin1234'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from mysql.user; mysql> show databases; mysql> exit
バーチャルユーザーを作成
# mkdir /home/vmailbox # groupadd -g 600 vuser # useradd -g vuser -u 600 -d /home/vmailbox -s /sbin/nologin vuser # chown vuser:vuser /home/vmailbox # chmod 771 /home/vmailbox
設定ファイル編集
main.cfの編集(ドメイン:example.com)
# cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org # vi /etc/postfix/main.cf myhostname = mail.example.com mydomain = example.com myorigin = $myhostname inet_interfaces = all mydestination = home_mailbox = Maildir/ smtpd_banner = $myhostname ESMTP unknown # SMTP-Auth smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_local_domain = $mydomain smtpd_client_restrictions = reject_rbl_client bl.spamcop.net smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes # virtual domains virtual_transport = virtual virtual_mailbox_base = /home/vmailbox 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 # 事前準備で用意したユーザID,グループID virtual_minimum_uid = 600 virtual_uid_maps = static:600 virtual_gid_maps = static:600 # メールボックスサイズ制限 virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_overquota_bounce = yes #バックアップしない場合は不要 # 個別に送受信をバックアップする場合(bcc_maps) recipient_bcc_maps = hash:/etc/postfix/recipient_bcc sender_bcc_maps = hash:/etc/postfix/sender_bcc #バックアップしない場合は不要 # 全ての送受信をバックアップする場合(always_bcc) always_bcc = mailbackup@hogehoge.jp
main.cfから外部参照しているファイルを設定する
# vi /etc/postfix/mysql_virtual_alias_maps.cf user = postfixadmin password = postfixadmin1234 hosts = localhost dbname = postfixadmin table = alias select_field = goto where_field = address # vi /etc/postfix/mysql_virtual_domains_maps.cf user = postfixadmin password = postfixadmin1234 hosts = localhost dbname = postfixadmin table = domain select_field = domain where_field = domain # vi /etc/postfix/mysql_virtual_mailbox_maps.cf user = postfixadmin password = postfixadmin1234 hosts = localhost dbname = postfixadmin table = mailbox select_field = maildir where_field = username # vi /etc/postfix/mysql_virtual_mailbox_limit_maps.cf user = postfixadmin password = postfixadmin1234 hosts = localhost dbname = postfixadmin table = mailbox select_field = quota where_field = username recipient_bcc_maps = hash:/etc/postfix/recipient_bcc sender_bcc_maps = hash:/etc/postfix/sender_bcc # bcc_maps:個別に送受信をバックアップしない場合は不要 # vi /etc/postfix/bcc1 #ドメインで指定する場合 @ドメイン 転送先メールアドレス @e-example1.jp hoge.backup@gmail.com #個別に設定する場合 転送したいアドレス 転送先メールアドレス info@example1.com hoge.backup@gmail.com info@example.com hoge.backup@gmail.com # cp /etc/postfix/recipient_bcc /etc/postfix/sender_bcc # postmap /etc/postfix/recipient_bcc # postmap /etc/postfix/sender_bcc
MTA切替
sendmailの自動起動の削除及びMTAの切替
# /etc/rc.d/init.d/sendmail stop # chkconfig sendmail off # alternatives --config mta 選択 コマンド ----------------------------------------------- *+ 1 /usr/sbin/sendmail.sendmail 2 /usr/sbin/sendmail.postfix
Dovecot
設定ファイル編集
dovecot.confの編集
# cp /etc/dovecot.conf /etc/dovecot.conf.org # vi /etc/dovecot.conf protocols = imap imaps pop3 pop3s mail_location = maildir:/home/vmailbox/%d/%n first_valid_uid = 600 first_valid_gid = 600 #passdb pam { #} passdb sql { args = /etc/dovecot-mysql.conf } userdb sql { args = /etc/dovecot-mysql.conf } #mechanisms = plain mechanisms = plain login digest-md5 cram-md5 protocol pop3 { #pop3_uidl_format = %08Xu%08Xv pop3_uidl_format = %08Xu%08Xv ←コメント削除 } socket listen { client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } login_process_size = 64
dovecot-mysql.confの編集
# vi /etc/dovecot-mysql.conf driver = mysql default_pass_scheme = MD5-CRYPT connect = host=localhost dbname=postfixadmin user=postfixadmin password=postfixadmin1234 password_query = SELECT username as user, password FROM mailbox WHERE username = '%u' AND active = '1' user_query = SELECT concat('/home/vmailbox/', maildir) as home, 600 as uid, 600 as gid FROM mailbox WHERE username = '%u' AND active = '1'
自動起動及びサービス起動
# /etc/rc.d/init.d/dovecot start # chkconfig dovecot on # /etc/rc.d/init.d/postfix start # chkconfig postfix on
PostfixAdmin
パッケージダウンロード及び解凍
# cd /usr/local/src # wget http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.3.6/postfixadmin-2.3.6.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpostfixadmin%2F&ts=1370413579&use_mirror=jaist # tar xzvf postfixadmin-2.3.6.tar.gz
設定ファイル編集
# vi /usr/local/src/postfixadmin-2.3.6/config.inc.php $CONF['setup_password'] = 'XXXXX'; 後から変更(後ほどのWebセットアップ[5]で生成されるハッシュ値を入力する) $CONF['configured'] = true; $CONF['default_language'] = 'ja'; $CONF['database_user'] = 'postfixadmin'; $CONF['database_password'] = 'postfixadmin1234'; $CONF['database_name'] = 'postfixadmin'; # 存在しないドメインのメールアドレスだと管理者登録で # [管理者は有効なメールアドレスではありません。メールアドレス]のエラーになる # セットアップ時にDNS参照しない場合は以下に変更 $CONF['emailcheck_resolve_domain']='NO'; $CONF['encrypt'] = 'md5crypt'; $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'NO';
Apacheの設定等
公開ディレクトリにコピー # cp -pr /usr/local/src/postfixadmin-2.3.6 /var/www/html/postfixadmin
Apacheの設定 # vi /etc/httpd/conf.d/postfixadmin.conf <Directory "/var/www/html/postfixadmin"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from 192.168.0 #ローカル経由のみ管理画面にアクセス可能 Apache再起動 # /etc/rc.d/init.d/httpd restart
GUIのセットアップは、WEBで情報が多数あるのでその情報を参考にする
ディスカッション
コメント一覧
まだ、コメントがありません