(第1章)GMOクラウド株式会社の芦田です。クラウド上にある仮想サーバーをメールサーバーとして利用したいという話をよく聞きます。運用開始後の利用ユーザーの増加や、ディスク容量の不足といった問題に対処しやすいというのがその主な理由です。そこで、今回は「GMOクラウドPublic」の仮想サーバーを使ってメールサーバーを構築する方法を紹介します。x86」で構築した仮想サーバーとしますが、CentOS環境であれば他のテンプレートでも同様に設定できるはずです。x86」テンプレートで構築した仮想サーバーには、あらかじめsendmailが設定済みの状態でインストールされていますが、今回はこれを使わずに、送信メールサーバー(SMTP)としてPostfixを、受信メールサーバー(POP/IMAP)としてDovecotをインストールしてみます。LAMPP環境のテンプレートの場合は、メールサーバーとして「qmail」がインストールされています。ツールのPLESKで利用するための構成となっており、設定内容やファイルの場所などが通常とは異なるため注意が必要です。Public」の管理ツール)のサポート情報にある「PLESKガイド」を参考にしてください。送信メールサーバーの構築インストール作業は、基本的に仮想サーバーのコンソール上で行います。クラウドコンソールに用意された仮想サーバーコンソールか、または任意のsshクライアントソフトを使って仮想サーバーにログインして作業してください。無効化まずデフォルトではsendmailが自動的に起動するようになっているので、次のコマンドでこれを停止させて自動起動を無効にしておきましょう。offプロンプト1.1.1qmailがインストールされている場合は、それも無効にしておきます。インストール続いてPostfixをインストールします。Postfixはパッケージ管理システムのyumを利用して、次のコマンドでインストールできます。設定インストールに成功したら、設定ファイルを編集します。対象の設定ファイルは「/etc/postfix/main.cf」です。様々な設定項目がありますが、今回修正が必要となる箇所だけを抜き出すと以下のようになります。各設定項目の意味は表1.3.2にまとめました。myhostnameとmydomainには仮想サーバーのホスト名とドメイン名をセットしてください。上記のmain.cfの設定では、Postfixが受け取ったメールは各ユーザーのホームディレクトリにあるメールボックスに格納されるようになります。メールボックスは「Maildir」という名前のディレクトリで、その下に一時的にメールが格納される「tmp」、新規メールが格納される「new」、既読メールが格納される「cur」という3つのディレクトリを持つ構造になります。したがって、既存のユーザー用のメールボックスを作成するには、次のようにユーザーのホームディレクトリにMaildirディレクトリを作成すればいいわけです。rootで作業している場合パーミッションとオーナーの変更を忘れないようにしましょう。/home/ユーザー名/Maildirプロンプト1.4.1新しく追加するユーザーについては、次のように/etc/skelディレクトリの中にMaildirディレクトリを用意しておくことで、useraddなどのコマンドでユーザーを追加した際に自動的にメールボックスも作られることになります。以上で設定は完了です。次のようにPostfixの起動と、自動起動の設定を行いましょう。メールの送信テストここまでできたら、ひとまずメールの送信ができることを確認してみましょう。次のコマンドで、メールサーバー上のユーザー宛てにメールを送ることができます。本文は「test」になります。ユーザー名プロンプト1.6.1メールの送信と受信が正しく行えていれば、対象のユーザーのメールボックス(~/Maildir/newディレクトリ)に受信したメールのファイルが作成されるはずです。ユーザー名の代わりに次のようにメールアドレスを指定すれば、外部のメールサーバーに対してもテストメールを送ることができます。hogehoge@example.comプロンプト1.6.2上記の設定のままだと、メールの転送に対して特別に制限をかけていないので、スパム配信などに悪用される危険があります。そこで、次はメール送信時にSMTP-Authによる認証をできるようにした上で、SMTP-Auth認証を使わないクライアントからのメールの転送を行わないように設定します。技術者向けの導入ガイドGMOクラウドのパートナーさまコラムアフィリエイトクラウド紹介制度サイトマップGMOクラウド株式会社は、ISMS(情報セキュリティマネジメントシステム)の国際規格を2006年11月に取得しました。27017」を2018年10月に認証取得しました。