CentOS7 : Apache 2.4 + PHP 5.4 + MariaDB(mysql) 5.5 + Postfix 2.10 Patched VDA + Dovecot 2.2.10 + amavisd-new 2.10.1 + spamassassin 3.4.0 + clamav 0.99.1 環境構築

 しばらく VPS@DTI のエントリープランで運用していたのですが、OpenVZ ゆえの制約やしがらみがあったので、KVM ベースの VPS サービスを提供している OVH.com に引っ越すことにしました。
 選択したプランは、VPS SSD 1 です。月額料金は 3.49 ドルと私の知る限り、一番安い VPS サービスです。また、6か月以上の契約では、プロモコード(vps30go)を使うと30%引きになったりすることがあり、この場合、月額 2.5 ドルほどと激安です。
 リージョンはカナダを選択しました。他のブログでも紹介されていましたが、私の環境では、レイテンシーが 180 ミリ秒前後と国内の VPS の10倍ほどとなっています。SSH で若干反応のラグがあるものの、気になるほどではありません。

最近は、プロモコード(vps30go)は使えないようです。他のプロモコードを探してみましたが、見つけることができませんでした。ご存知の方がいらっしゃいましたら、コメントください。
OVH.com の VPS サービスは、2017年12月に価格改定されたようです。 3.49 ドル から 4.47 ドルに値上げされています。期間限定で 3.35 ドルに値下げされていることもありますが、最長の契約期間は1年で、その後は月額 4.47 ドルで更新することになりますので、ご注意ください。(2018年3月19日追記)
最近のおすすめサーバーは、カゴヤ・ジャパンです。月額換算 648円(税込)から利用できる KVM ベースのおすすめサービスです。(2018年3月19日追記)

 今回のサーバー構成は、以下の通りです。
【ハード】
 ・OpenStack KVM
 ・1 vCore 2.4 GHz
 ・2 GB RAM
 ・10 GB SSD Local RAID 10
【ソフト】
 ・OS:CentOS Linux 7.2.1511
 ・httpd 2.4.6 (Apache2.4.6)
 ・PHP 5.4.16
 ・MariaDB 5.5.47
 ・Postfix 2.10.1 (Patched VDA)
 ・Postfix Admin 2.93
 ・Dovecot 2.2.10
 ・amavisd-new 2.10.1
 ・spamassassin 3.4.0
 ・clamav 0.99.1

スポンサーリンク(広告)
スポンサーリンク(広告)

Step1 : 基本環境の整備

システムの文字コードの設定

システムのタイムゾーンの変更

ホスト名の変更

ファイヤーウォールの設定

 CentOS7から実装されたFirewalldではなく、iptablesを採用

 設定の確認

 すべてルート権限で実行

 設定の保存及び適用等

 保存された設定の確認

スワップファイルの作成

 ディスク容量が少ないので、今回は1GBのスワップを割り当て

 再起動するとスワップの割り当てがリセットされるので、恒久的に適用されるように以下のファイルを編集

webminのインストール

 Webminに接続を許可するホストの制限

管理ユーザーの作成

 wheel グループのユーザーのみ sudo コマンドを実行できるように設定する

 wheel グループのメンバーのみ root になれるように設定する

 wheel グループのメンバーのみ su コマンドで root になれるように設定する

SSH の設定

 接続を許可するホストの設定

 許可されたホスト以外からの接続を拒否する

 sshのルートログイン禁止等

 sshホストキーの再生成

SELinuxの無効化

yum リポジトリの追加

 EPELリポジトリのインストール

 Scientific Linux のリポジトリの追加

Step2 : ウェブ環境の構築

Apache 2.4.6 + PHP 5.4.16 + MariaDB 5.5.47 のインストール

PHPのタイムゾーンの設定

自動起動の設定

Step3 : Postfix 2.10.1のVDAパッチ適用済みrpmの作成と適用

ビルド環境の構築

ソースの入手

 Postfix のSRPMの入手

 VDA Patchの入手

 ソースファイルの展開

パッチの適用

念のためyumで上書きアップデートされないように

Step4 : メール環境の構築

Dovecot 2.2.10 + amavisd-new 2.10.1 + spamassassin 3.4.0 + clamav 0.99.1 のインストール

VirtualMailBoxを扱うユーザーの作成

VirtualMailBoxのユーザー管理用DBの作成

Postfix の設定

mySQL関連のファイルの作成

 設定ファイルの編集

 アクセステーブルDBを作成。これをしないと”warning: hash:/etc/postfix/access is unavailable. open database /etc/postfix/access.db: No such file or directory””warning: hash:/etc/postfix/access: table lookup problem”というログを吐いて、外部からのメールをリジェクトしてしまいます。

Dovecot の設定

 sqlへ接続するためのファイルを作成

 quotaで使用するディクショナリーの作成

 Dovecotの主設定ファイルの編集

 個別設定ファイルの記載が影響しないように修正

念のためコメントアウト

 いろいろなところに分散している設定事項の集約

 デフォルトのsieveルールの作成

amavisdの設定

spamassassinの自動アップデート

ClamAV のアップデート

 これをやっておかないと、サービスが起動しない

Sophos Anti Virus (savscan) をスキャナとして使う

 Sophos Anti Virus (savscan) を使う方法について、新しい記事を公開しています。
 CentOS7 : amavisd-new 2.10.1 + Sophos Anti Virus (savscan)

各サービスの起動と自動起動設定

スポンサーリンク(広告)
スポンサーリンク(広告)

コメント

  1. eduardz より:

    Hello,
    Do I need to insert something into mysql database?

    • abten より:

      Thank you for your comment.
      I forgot to create a database.
      I added “VirtualMailBoxのユーザー管理用DBの作成”.
      Of course, you need to install PostfixAdmin etc. and create a mail account.

      • eduardz より:

        Good tutorial, thank you 🙂

        Can you post the ssl certificate creation as example? i get this error
        “..dovecot.conf: ssl_verify_client_cert set, but ssl_ca not”

        • eduardz より:

          no entropy for TLS key generation
          i think you should add in /etc/postfix/master.cf
          tlsmgr unix – – n 1000? 1 tlsmgr

          • abten より:

            Thank you for your comment.
            I’m sorry.
            I am extracting where to make changes.
            “Tlsmgr unix – – n 1000? 1 tlsmgr” is the default value and is omitted.

        • abten より:

          I’m sorry. I am busy and have no time to make accurate.
          For information on how to create a certificate please refer to other sites.