月別アーカイブ: 2014年12月

postfix + milter + PostfixAdmin + Roundcube で作るメールサーバ

この記事はPostfix Advent Calendar 2014の8日目の記事です。

ConoHaの薄い本 Vol2「メールサーバーを立てよう」がホント最低限しか書かれてないので迷惑メールを減らす仕組みとWebメールを追加してそこそこ使えるようにしてみようというコンセプトです。
初期インストールからやる感じなのでConoHaの薄い本から変更する場合はいろいろお察しください。

環境

  • ConoHaで検証(このはちゃん清楚あざとかわいい)
  • CentOS6.6
  • selinuxはdisabled(石川さんごめんなさい)
  • iptablesは必要最低限(ssh:22, SMTP:25, HTTPS:443)
  • 作業はrootで
  • ドメイン名は mail.test.zumwalt.info を使う
  • DNSのAレコード、MXレコード、逆引きは設定済み

リポジトリ インストール

epel, remi, milter, MySQL のリポジトリ

postfix インストール

※ デフォルトでインストール済みのはず

設定は後で。

milter

milterで迷惑メール対策をするためにインストール。

milter-greylist インストール

milter manager インストール

milter-greylist 設定

  • IPアドレスのマッチには前半24ビットのみを使う(送信元が複 数のMTAを利用している場合のGreylistの悪影響を抑えるため)
  • 再送チェック時間を30分後(デフォルト)から10分後に短くす る(Greylistの悪影響を抑えるため)
  • オートホワイトリストの期間を1日(デフォルト)から1週間に 伸ばす(Greylistの悪影響を抑えるため)
  • デフォルトでGreylistを使う

/etc/mail/greylist.conf を修正

権限付与

milter-greylist 起動

milter-manager 設定

milter-managerから認識されているか確認

milter-manager 起動

起動試験

Postfixadmin

ユーザー管理にPostfixAdminを使えるようにする

MySQLインストール・設定

MySQLインストール

/etc/my.cnf を修正

MySQL起動

MySQL初期設定

ガイドにしたがって初期設定を実施する。

httpd インストール・設定

証明書作成

/etc/httpd/conf.d/ssl.conf を修正

PostfixAdmin DB作成

iptables 設定

PostfixAdmin インストール・設定

/var/www/html/postfixadmin/config.inc.php の修正

権限付与と起動

PostfixAdmin 初期設定

https://IPアドレスorホスト名/postfixadmin/setup.php
ex) https://mail.test.zumwalt.info/postfixadmin/setup.php
に接続して設定

setup password を設定
1
DB等が設定された後の画面に表示されたsetup_passwordを、/var/www/html/postfixadmin/config.inc.php のsetup_password に登録する。

$CONF[‘setup_password’] = ‘changeme’;

$CONF[‘setup_password’] = ‘hogehogehogeohoegogoegogoeogeogeogeoegoegogeo’;

管理者登録
2

PostfixAdmin 管理

https://IPアドレスorホスト名/postfixadmin/login.php
ex) https://mail.test.zumwalt.info/postfixadmin/login.php

上記で登録した管理者アカウントにてログイン
4

管理ドメイン追加
5

ユーザー(メールアドレス)追加
6

Postfix 設定

PostfixAdmin のアカウント連携設定
/etc/postfix/main.cf の修正

以下のファイルを新規に作成

iptables 設定

Dovecot

Roundcube の振り分け設定が使えるようにdovecotをインストール・設定

Dovecot インストール

Dovecot 設定

以下のファイルを作成する

ユーザー&ディレクトリ作成

/etc/postfix/master.cf の修正

起動

Roundcube

Webメールシステムとして使う

roundcube インストール

DB作成

/etc/php.ini の修正

設定反映のためhttpd 再起動

Roundcube 初期設定

https://IPアドレスorホスト名/roundcube/installer/
ex) https://mail.test.zumwlat.info/roundcube/installer/

インストール確認
1

設定
2

必須項目

      Database setup
    • Database user name:roundcubemail DBのユーザー名
    • Database password:roundcubemail DBのパスワード
      IMAP Settings
    • username_domain:ドメイン名 ex)test.zumwalt.info
      SMTP Settings
    • smtp_server:localhost
      Display settings & user prefs
    • language :ja_JP

設定反映
Webで表示されたconfigを以下に書き込む
/var/www/html/roundcube/config/config.inc.php

SMTP・IMAP動作確認
postfixadminで作成したユーザーにてSMTP・IMAPの動作をチェック
3

インストーラー削除

ログイン
https://アドレスorホスト名/roundcube/
ex) https://mail.test.zumwlat.info/roundcube

roundcube フィルター設定

/var/www/html/roundcube/config/config.inc.php を修正

これで諸々使えるはず。
なんとか今日中に間に合った…
数日分を1日にまとめたのここらへんが限界です…orz
milter の詳細な使い方とかはきっと誰かが書いてくれるはず…

明日は@satoh_fumiyasuさんのparent_domain_matches_subdomainsです。

Pocket