ホーム > カテゴリ > サーバー構築・運用・Linux >

NginxにRoundcubeのWebメールシステムを導入する [CentOS]

CentOSで各種サーバー構築(目次)

NginxにWebメールシステムである「Roundcube」を導入します。

今回、使用するバージョンは最新の安定版である「Stable version - 1.4.0のComplete」ですが、それ以降でも構いません。

前提条件

記事PHPがインストール済み
記事MariaDB(MySQL)がインストール済み
記事NginxがSSL対応済み
記事SMTPサーバーがインストール済み
記事POP3/IMAPサーバーがインストール済み
記事phpMyAdminがインストール済み (任意)

WebサイトがSSLに対応していないと、Roundcubeにログインする際に「ユーザー名、パスワード」が平文でネットワークを流れますので必ずSSL化して下さい。

1. 事前準備

// XMLライブラリのインストール
sudo yum install php-xml
// PHPの再起動
sudo systemctl restart php-fpm

2. ダウンロード&アップロード

[ダウンロード]

Complete版をダウンロードする。
https://roundcube.net/download/

ダウンロードした圧縮ファイルを展開してフォルダ名を「mail」にする。

[アップロード]

次にmailフォルダをWinSCPなどで「/home/ユーザー名/mail」にアップロードする。PHPなどのソースコードが気になる方はアップロードする前に中身を確認すると良いです。

※ダウンロード&アップロードはLinux側のコマンドだけでも可能です。

3. Nginxの設定

Nginxの設定ファイル(myapp.conf)を編集する。

myaapの名称は任意。バーチャルドメイン(複数のドメイン)が共存している場合はexample.com.confなどのようにドメイン名をファイル名にする事が多いです。

sudo vi /etc/nginx/conf.d/myapp.conf

[myapp.conf]

RoundCubeを外部に公開するとログイン画面で総当たり攻撃をやられる可能性があるので、アクセスを許可したグローバルIPアドレス以外は接続できないようにします。

※必要がなければIP制限の所は削除して下さい。

# RoundCube(IP制限付き)
location /mail {
    root /home/ユーザー名/
    index index.php index.html index.htm;

    # IP制限
    # ---
    allow アクセスを許可するグローバルIPアドレス;
    deny  all;
    # ---

    location ~ ^/mail/(.+\.php)$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

// Nginxを再起動
sudo systemctl restart nginx

この場合はRoundCubeのURLは

https://www.example.com/mail/

となります。

4. データベースの設定

データベース名roundcubemail
データベースのユーザー名roundcube
データベースのパスワード1234567890

// MySQL(MariaDB)にログインする
mysql -u root -p
 
// ユーザーの作成
CREATE USER 'roundcube' IDENTIFIED BY '1234567890';
 
// データベースの作成
CREATE DATABASE roundcubemail;
 
// ユーザーにデータベース(roundcubemail)の権限を付与する
GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube';

次にphpMyAdminにログインして「roundcubemail」データベースを選択して「インポート」で「SQL/mysql.initial.sql」を読み込んで実行する。

phpMyAdminを用意していない場合は次のコマンドを実行する。

mysql -u roundcube -p roundcubemail < /home/ユーザー名/mail/SQL/mysql.initial.sql

5. installerでのセットアップ

自分のサイトのRoundCubeのinstallerにアクセスする

https://www.example.com/mail/installer/

(1)
NEXT
(2)
[Database setup]の「Database password」を設定する。
[IMAP Settings]の「default_host」をmail.example.comとする。
[SMTP Settings]の「smtp_server」をmail.example.comとする。
[Display settings & user prefs]の[language]をja_JPとする。

CREATE CONFIGを押下。
CONTINUEを押下。

6. 最終調整

ログインして最終的な調整を行います。

https://www.example.com/mail/

6-1. メールアドレス設定

[設定][識別情報]の「電子メール」がuser@mail.example.comとなっているので「mail.」を削除する。その後に「新規作成」で発信者に表示されている内容を確認する。

6-2. セキュリティ対策

[設定][設定]の「メッセージの表示」で「HTMLを表示」をオフにして保存ボタンを押す。この設定は全体ではなくメールアドレス毎なので注意。





関連記事



公開日:2019年11月22日 最終更新日:2019年11月30日
記事NO:02804