Roundcube(ラウンドキューブ)は、オープンソースのWebベース電子メールクライアントです。IMAPプロトコルをサポートし、ブラウザ経由で電子メールの送受信や管理を行うことができます。PHPで開発されており、MySQLまたはPostgreSQLデータベースに対応しています。
RoundCube の主な機能
Roundcubeには以下のような主要な機能があります。
- レスポンシブデザイン: PC、タブレット、スマートフォンなど、さまざまなデバイスで利用できるレスポンシブデザインが採用されています。
- 多言語対応: 70以上の言語に対応しており、世界中で利用可能です。
- 検索機能: 高速かつ柔軟なメール検索機能が提供されており、効率的にメールを探すことができます。
- フィルタリング: 受信メールのフィルタリングや整理を行うためのルールを設定することができます。
- アドレス帳: 個人用アドレス帳に加え、LDAPディレクトリや他のIMAPフォルダと連携した共有アドレス帳も利用できます。
- メールのスレッド表示: スレッド表示を利用して、関連するメール同士が一元化された形で表示され、会話の追跡が容易になります。
- プラグイン対応: 機能を拡張するプラグインが数多く用意されており、カスタマイズが可能です。
RoundCube の導入
RoundcubeによるWebmailを利用可能にする手順は以下の通りです。
前提条件
Apache, PHP, MariaDB, Dovecot の導入が完了している前提です。
Roundcubeのデータベースの作成
Roundcube用のデータベースとユーザーを作成します。
mysql -u root -p
CREATE DATABASE roundcubemail;
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'ここにパスワード';
GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Roundcubeのインストール
ここでは /var/www/roundcube にインストールします。
後で、ApacheのAliasで適当なURLに割り当てます。
Roundcubeの最新安定版をダウンロードし、解凍します。
cd /var/www
wget https://github.com/roundcube/roundcubemail/releases/download/1.5.3/roundcubemail-1.5.3-complete.tar.gz
tar zxvf roundcubemail-1.5.3-complete.tar.gz
rm roundcubemail-1.5.3-complete.tar.gz
mv roundcubemail-1.5.3/ roundcubemail/
推奨モジュールをインストール (Imagick)
Roundcube には、画像操作のための Imagick
PHP 拡張は必須ではありませんが、推奨されています。
アドレス帳管理等はMariaDBを使用するため LDAPは省略します。
sudo yum install ImageMagick ImageMagick-devel -y
sudo yum install gcc php-devel php-pear -y
sudo pecl install imagick
Imagick
をPHPに追加します。以下のコマンドを実行し、生成された imagick.so
ファイルへのパスをコピーします。ここでは、/usr/lib64/php/modules/imagick.so
find / -name "imagick.so" 2>/dev/null
上記でコピーしたパスを使用して、新規設定ファイル /etc/php.d/50-imagick.ini
を作成し、以下を追加します。
sudo vi /etc/php.d/50-imagick.ini
; Enable imagick extension
extension=/usr/lib64/php/modules/imagick.so
PHP-FPM または Apache などのウェブサーバーを再起動します。
# PHP-FPM の場合
sudo systemctl restart php-fpm
# Apache の場合
sudo systemctl restart httpd
Imagick
が正常にインストールされていることを確認します。
php -m | grep imagick
imagick と表示されれば正常にインストールされています。
Roundcubeの設定
config.inc.php
ファイルを作成し、データベースとSMTP設定を行います。
cd /var/www/html/roundcube/config
sudo cp defaults.inc.php config.inc.php
sudo vi config.inc.php
以下の設定を追加・変更してください。
# この設定が無いと初期インストーラーを起動できません。インストーラーの使用が完了したら falseにするか削除してください
$config['enable_installer'] = true;
$config['db_dsnw'] = 'mysqli://roundcube:ここにパスワード@localhost/roundcubemail';
# ランダムな文字列に変更
# ただし、既にRoundcubeを運用中で多くのユーザーがいる場合は注意が必要です。
#$config['des_key'] = 'rcmail-!24ByteDESkey*Str';
$config['des_key'] = 'dj48oDgNzLNQ4qS7pS5RjzAn';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'capath' => '/etc/ssl/certs',
),
);
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'capath' => '/etc/ssl/certs',
),
);
$config[‘db_dsnw’]に設定するパスワードに %が含まれている場合は %25 に置き換えて入力します。
データベーススキーマのインポート
Roundcubeのデータベーススキーマをインポートします。
Roundcube のインストールディレクトリに移動します。
Roundcube のインストールフォルダに SQL
ディレクトリがあります。このディレクトリに移動します。
cd /var/www/html/roundcube/SQL
初期スキーマ SQL ファイルを特定します。 SQL
ディレクトリ内には、いくつかのデータベースシステム用の初期スキーマ SQL ファイルがあります。MySQL を使用している場合は、mysql.initial.sql
ファイルを使用します。
初期スキーマ SQL ファイルを実行してデータベーススキーマを作成します。 MySQL クライアントを使用し、先ほど識別した SQL ファイルを実行して初期スキーマを作成します。roundcube
データベースに対して SQL ファイルを実行するには、以下のコマンドを使用します
mysql -u roundcube -p'ここにパスワード' roundcubemail < mysql.initial.sql
セットアップを完了する
ブラウザから https://your_domain/roundcube/installer
にアクセスし、インストール状況を確認します。ディレクトリーの書き込み権限等の警告が表示されたら都度インストーラーの指示に従い修正を行ってください。
問題がなければ、最後に installer
ディレクトリを削除します。
sudo rm -rf /var/www/html/roundcube/installer
これで、Roundcubeを使用してWebmailを利用できるようになりました。メールサーバーの設定が正しく行われていれば、Roundcube上でメールを送受信することが可能です。