Postfixで仮想ユーザーを使用してRoundCubeWebメールクライアントをインストールおよび構成する方法-パート4


このPostfixシリーズのパート1から3では、仮想ユーザーを使用して電子メールサーバーをセットアップおよび構成する方法を段階的に説明しました。また、Thunderbirdを電子メールクライアントとして使用して、これらのアカウントの1つにアクセスする方法も示しました。

  1. Setting Up Postfix Mail Server and Dovecot with MariaDB – Part 1
  2. Configure Postfix and Dovecot Virtual Domain Users – Part 2
  3. Install and Integrate ClamAV and SpamAssassin to Postfix Mail Server – Part 3

自宅のコンピューターだけでなく、どこからでも受信トレイにアクセスする必要がある接続のこの時代では、Webメールクライアントと呼ばれるサーバー側のソフトウェアを使用すると、Webインターフェイスを介して電子メールを読んだり送信したりできます。

Roundcubeはそのようなプログラムの1つであり、その多くの機能(プロジェクトのWebサイトで詳細を読むことができます)を考慮して、このチュートリアルで使用することを選択したものです。

Postfix用のRoundcubeWebメールをインストールする

CentOS 7およびRHELやFedoraなどのベースのディストリビューションでは、Roundcubeのインストールは次のように簡単に行えます。

# yum update && yum install roundcubemail

注:RoundcubeはEPELリポジトリに含まれていることに注意してください。これは、パート1で概説したようにすでに有効になっている必要があります。

Debian 8およびUbuntuやMintなどのその派生物では、最初にJessieバックポート(Web)を有効にする必要があります。

# echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list

次に、次のようにRoundcubeをインストールします。

# aptitude update && aptitude install roundcube

使用しているディストリビューションに関係なく、Roundcubeの内部構造を格納するデータベースを作成する必要があります。

Debian 8では、インストールプロセスがこれを処理します。

dbconfig-commonを使用してRoundcubeデータベースを構成するかどうかを確認するメッセージが表示されたら、「はい」を選択します。

データベースタイプとしてmysqlを選択します。

MariaDBrootユーザーのパスワードを入力します。

そして、データベースサーバーに登録するroundcubeのパスワードを選択し、[OK]をクリックします。

前の手順で入力したパスワードを確認します。

そして間もなく、roundcubeという名前のデータベースとそれに対応するテーブルが自動的に作成されます。

MariaDB [(none)]> USE roundcube;
MariaDB [(none)]> SHOW TABLES;

CentOS 7では、phpMyAdminにログオンするか、コマンドラインからデータベースを手動で作成する必要があります。簡潔にするために、ここでは2番目に提案された方法を使用します。

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE RoundCube_db;

次に、MariaDBプロンプトを終了し、次のSQLスクリプトを実行します。

# mysql -u root -p RoundCube_db < /usr/share/roundcubemail/SQL/mysql.initial.sql

Debianでは、これらの手順を手動で実行することもできることに注意してください。したがって、以前のようにデータベースに自動的に「roundcube」という名前を付ける代わりに、必要に応じてデータベースの名前を変更できます。

Postfix用にRoundcubeを構成する

まず、RoundCube v1.0以降では、構成設定が2つのファイルに分割されていた以前のバージョンとは対照的に、1つのファイルにのみ含まれていることに注意してください。

まず、次のファイルを見つけて、同じディレクトリに config.inc.php という名前のコピーを作成します。 -pオプションを使用して、モード、所有権、および元のタイムスタンプを保持します。

# cp -p /etc/roundcubemail/defaults.inc.php /etc/roundcubemail/config.inc.php

次に、Roundcubeが以前に作成したデータベースにアクセスできることを確認します。 db_dsnw で、ユーザーとパスワードを、RoundCube_dbにアクセスするためのアクセス許可を持つユーザー名とパスワードに置き換えます。

たとえば、パート1でphpMyAdminへのログオンに使用したのと同じ管理アカウントを使用することも、必要に応じてrootを使用することもできます。

$config['db_dsnw'] = 'mysql://user:[email protected]/RoundCube_db';

次の設定は、ホスト名、ポート、認証タイプなどを参照します(これらは一目瞭然ですが、構成ファイルのコメントを読むことで詳細を確認できます)。

$config['default_host'] = 'ssl://mail.linuxnewz.com';
$config['default_port'] = 143;
$config['smtp_server'] = 'tls://mail.linuxnewz.com';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = 'LOGIN';

これらの最後の2つの設定(product_nameとuseragent)は、Webインターフェイスのヘッダーとメッセージとともに送信される電子メールヘッダーを参照します。

$config['product_name'] = 'Linuxnewz Webmail - Powered by Roundcube';
$config['useragent'] = 'Linuxnewz Webmail';

Roundcubeが送信メールに仮想ユーザーの認証を使用するには、 virtuser_query プラグイン(/ usr/share/roundcubemail/pluginsにあります)をアクティブ化する必要があります。

$config['plugins'] = array('virtuser_query');
$config['virtuser_query'] = "SELECT Email FROM EmailServer_db.Users_tbl WHERE Email = '%u'";

上記のSQLクエリが、パート1で最初に設定した EmailServer_db データベースを指していることに注意してください。ここには、仮想ユーザーに関する情報が格納されています。

最後に、パート1でWebブラウザを使用してphpMyAdminのWebインターフェイスにアクセスできるようにしたのと同様に、次の場所にあるRoundcube/Apache構成ファイルについて詳しく見ていきましょう。

# vi /etc/httpd/conf.d/roundcubemail.conf # CentOS 7
# nano /etc/roundcube/apache.conf # Debian 8

そして、示されたタグ内に次の行を配置します。

<IfVersion >= 2.3> 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfVersion>
<IfModule mod_authz_core.c> 
    # Apache 2.4 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfModule>

厳密には必須ではありませんが、システムに侵入するためのよく知られたドアとして/roundcube を標的とするボットから身を守るために、Roundcubeディレクトリのエイリアスを変更することをお勧めします。ニーズに合ったエイリアスを自由に選択してください(ここではWebメールを使用します)。

Alias /webmail /usr/share/roundcubemail # CentOS 7
Alias /webmail /var/lib/roundcube # Debian 8

変更を保存し、構成ファイルを終了して、Apacheを再起動します。

# systemctl restart httpd # CentOS 7
# systemctl restart apache2 # Debian 8

これで、Webブラウザーを開いて、 https://mail.yourdomain.com/webmail をポイントすると、次のようなものが表示されます。

これで、前の記事で構成したアカウントの1つでログオンし、どこからでもRoundcubeを使用して電子メールの送受信を開始できます。

RoundcubeWebメールのカスタマイズ

幸い、Roundcubeのインターフェースはかなり直感的で、簡単に構成できます。この時点で、環境を構成してそれに慣れるために15〜30分を費やすことができます。詳細については、[設定]に移動してください。

上の画像は、このアカウントで受信したメールを示しています([メール保護])。

[作成]をクリックして、外部の電子メールアドレスに電子メールを書き始めることができます。

次に、[送信]をクリックし、宛先をチェックして、正しく到着したかどうかを確認します。

おめでとう!これで、Eメールを送受信するためのRoundcubeのセットアップに成功しました。

概要

この記事では、RoundcubeをWebクライアントとしてセットアップおよび構成する方法について説明しました。 Roundcubeのインターフェースを調べると、Webメールのヘルプで説明されているように、使いやすさがわかります。

ただし、ご質問やご不明な点がございましたら、お気軽にお問い合わせください。下のコメントフォームを使用してご連絡ください。返信お待ちしています!