postfixadmin + postfix + dovecot 「CentOS 7」インストール

CentOS 7でバーチャルドメイン対応のメールサーバー構築

Posfix + Dovecot + postfixadmin を利用してバーチャルドメイン対応のメールサーバーを構築しました。当初は「CentOS 8」での構築を考えましたが、CentOS 8 + Postfixadminの構成での情報が少なかったのでCentOS 7で構築しました。

OS及びミドルウェアのバージョンは以下のようになります

  • Cent OS 7.7
  • postfix 2.10.1
  • dovecot 2.2.36
  • postfixadmin 3.2
  • php 7.3
  • Apache 2.4.6

Apacheに関しては、既に構築済みとして進めています

Postfix インストール及び設定

Postfixのインストールに必要なパッケージをインストールします

Postfixをインストールします

Postfixで使用するユーザー(postfixadmin )と使用するDB(postfixadmin )を設定します

postfixのバージョンドメインで使用するユーザーを作成します。
ユーザー名は「vuser」としてメールが配送されるディレクトリ「/home/vmailbox」をホームディレクトリとします

Postfixの設定ファイルの「main.cf」を編集します
SMTP認証とバーチャルドメイン関係の設定は最終行に追加します

reject_clientのファイル生成します。このファイルは拒否したいクライアントのIPアドレスを追加していきます。スパム業者等で何回もアクセスしてくるIPアドレスを追加していけばいいかと思います。まだ使わないので空のファイル生成のみおこなっています

バーチャルドメインに必要な各種ファイル再生します。

mysql_virtual_alias_maps.cf では、DBの接続ユーザー・パスワード・DB名を設定します

mysql_virtual_domains_maps.cf も同様に作成します

mysql_virtual_mailbox_maps.cf も同様に作成します

25番ポートを使用せずSubmissionポートの587番でSMTP送信ができるように設定します。

変更箇所は以下になります

Postfixで使用するSSL証明書を発行します。証明書の発行に関しての住所・連絡先は使用する環境で変更して下さい

Dovecot インストール及び設定

dovecotをyumでインストールします

dovecotで使用するプロトコルを設定します。pop3 と imapのみを使用するので、そのプロトコルを設定します

dovecotの設定をおこないます。

10-auth.confを下記のように変更します

auth-sql.conf.extを以下のように設定します

dovecot-sql.conf.ext を設定します。DB名・DBユーザー・パスワード・クエリなどを設定します

20-pop3.conf を下記のように設定します

dovecotの自動起動及びサービスを起動します

saslauthdの自動起動及びサービスを起動します

postfixの自動起動及びサービスを起動します

PHP 7.3 インストール

PHPはyumでインストールされる5系ではなく、PHP 7.3をします

既存のPHPがインストールされている場合は削除する

remi, epel レポジトリ設定します

remi, epel レポジトリを有効にして、php 7.3 インストールをします

php.iniの設定のタイムゾーンを日本に設定します

postfixadminをインストール

wgetでpostfixadmin 3.2をダウンロードして、圧縮ファイルを解凍してWEBディレクトリに移動します

config.inc.phpを変更します。主にDB関係の設定をおこないます

ostfixadmin.confを作成して、postfixadminに関するApacheの設定おこないます。必要に応じてIP制限・BASIC認証など行います。今回は何も設定をいれていません

apacheを再起動して設定を読み直します

IP制限は「.htaccess」でおこなうの設定します

ブラウザでpostfixadminのサイトにアクセスして管理者ユーザーの設定などの初期設おこないます。

「http://xxxxxxx.com/postfixadmin/setup.php」でブラウザでアクセスすると初期設定画面になります。

管理者のパスワードを行った後に、config.inc.phpにもその時に設定したパスワードのハッシュ値を追加します

また、WEBにアクセスると「ERROR: the templates_c directory doesn’t exist or isn’t writeable for the webserver」になる場合は、templates_c のディレクトリを作成し書込み権限をつけます。
ダウンロードしたpostfixadminのバージョンによっては、templates_c のディレクトリがない場合はあるようです

 

スポンサーリンク