NginxにRoundcubeのWebメールシステムを導入する [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は
となります。
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にアクセスする
(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. 最終調整
ログインして最終的な調整を行います。
6-1. メールアドレス設定
[設定][識別情報]の「電子メール」がuser@mail.example.comとなっているので「mail.」を削除する。その後に「新規作成」で発信者に表示されている内容を確認する。
6-2. セキュリティ対策
[設定][設定]の「メッセージの表示」で「HTMLを表示」をオフにして保存ボタンを押す。この設定は全体ではなくメールアドレス毎なので注意。