さて、前回までで送受信機能を備えたメールサーバが設定できました。
しかし、最近ではWeb上でメールの送受信が出来るWebメールが主流で、わざわざメールクライアントを使いたくないという人も多いかと思います。
また、Webメールなら自分の端末が無くても簡単にログインしてメールを確認できるという利点もあります。(最近はスマホがあるのでそういうシチュエーションはなかなか無いとは思いますが)
今回はRainLoopというソフトウェアでWebメール環境を整備したいと思います。
この記事で行うこと
1. RainLoopのインストール
RainLoopはNextcloudのアプリとしても提供されているため、Nextcloudがインストールされている場合は簡単にインストールが出来ます。
勿論、Nextcloudがインストールされていない場合でも直接インストールすることが可能です。
以下にそれぞれのメリットデメリットを示します。
Nextcloud版のメリットデメリット
- メリット
- Nextcloudが既にインストールされていれば簡単にインストールができる。
- 更新が簡単。(Nextcloudで更新ボタンを押すだけ)
- 先にNextcloudにログインしないと使えないためセキュリティが担保しやすい。
- デメリット
- Nextcloudに問題が生じたとき影響を受ける可能性がある。
- 最新版を使えない可能性がある。(現時点では同じバージョンですが、新バージョンが出たときに追随するまで時間が空く可能性があります)
- 先にNextcloudにログインしないと使えないため面倒。
オリジナル版のメリットデメリット
- メリット
- Nextcloudをインストールしていなくてもインストールが出来る。
- 最新版を使うことができる。
- デメリット
- インストールが面倒。(とはいえ、流石にこれのためにNextcloudをインストールするよりかは楽ですが……)
- 商用利用不可
この記事ではNextcloud版を使う事を前提とします。(オリジナル版も一応記載はしますが解説等は最低限です)
1-1. Nextcloud版のインストール
勿論、Nextcloudがインストールされている前提です。Nextcloudについては以下の記事を参照してください。
Nextcloudの画面上で全て完結します。
まずは、Nextcloudに管理者権限を持つアカウントでログインしてください



1-2. 直接インストール
※クリーンな環境でのインストール検証はしていないため、必要なPHPモジュールに漏れがある可能性があります。
前提としてPHPとNginxが必要となります。
以下の以下のURLを参考にそれぞれのインストールを実施してください。
RainLoop本体は /srv/rainloop/
ディレクトリ内にインストールを行います。
ディレクトリを作成して、そのディレクトリに移動後、RainLoopから提供されているインストール用のスクリプトをダウンロードしてそのまま実行します。
[root@localhost ~]# mkdir /srv/rainloop
[root@localhost ~]# cd /srv/rainloop/
[root@localhost rainloop]# wget -O- https://repository.rainloop.net/installer.php | php
-O-
: ダウンロードしたファイルを標準出力に渡すというものです。この場合、標準出力に出されたものは|
の後に繋がっているコマンドに渡されるので、この場合ダウンロードしたファイルをphpコマンドで実行する事になります。
次に、nginxで動かせるように権限設定とSELinux設定を行います。
[root@localhost ~]# chown nginx:nginx -R /srv/rainloop/
[root@localhost ~]# semanage fcontext -a -t httpd_sys_rw_content_t '/srv/rainloop(/.*)?'
[root@localhost ~]# restorecon -R /srv/rainloop/
nginxの設定を作成します。 /etc/nginx/conf.d/
内に任意の名前のファイルを作ってください。内容は以下となります。
server {
listen 80;
listen [::]:80;
server_name 「RainLoopにアクセスさせるURL」;
# enforce https
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 「RainLoopにアクセスさせるURL」;
root /srv/rainloop/;
index index.php;
location ^~ /data {
deny all;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass php-fpm;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
作成が終わったら、nginxを再起動します。
[root@localhost ~]# systemctl restart nginx
これで、インストールは完了です。
2. RainLoopの設定
設定を行う為には管理画面にログインする必要があります。
管理画面への行き方はそれぞれ以下の通りです。
Nextcloud版の場合

オリジナル版の場合
設定したURLの末尾に /?admin
と付けてアクセスする。
例) https://example.com/?admin
管理画面へのログイン画面が表示されたら以下のように設定を進めていきます。


(ちなみに上は利用時の画面の言語、下は管理画面の言語)

(左サイドメニューの「セキュリティ」でも可)


初期値だとGmailにログインできる状態となっている。
不要であればゴミ箱ボタンをクリックすると「よろしいですか?」と確認が表示されるのでそれをクリックすると削除できる。

名前はメールドメイン名。サーバーはログインするサーバ名。メールサーバとRainLoopをインストールしているサーバが同じであれば localhost でも可。
今までの手順に従ってきた場合、ポート番号・セキュリティは上の画像の通りにする。


(Nextcloudのアプリとして使っている場合でも自動で連絡先の連携はされないので注意)
3. RainLoopへログイン
RainLoopへログインしてみます。
Nextcloudの場合

オリジナル版の場合
設定したURLにアクセス。(先ほど管理画面にアクセスしたURLから /?admin
を消したもの)
ログイン画面が表示されたら、ログインしてみます。

設定によっては@以降のドメイン部分も入力が必要。

また、連絡先を他のサービス(GmailやNextcloudなど)を共有する場合は次の設定が必要です。


アドレス帳URLはNextcloudの場合は次の画像を参照。
それ以外の場合は「サービス名 CardDav連携」などで検索することで確認方法を検索。
Nextcloudの場合、ユーザ名・パスワードはNextcloudにログインするときのものとなるので注意。

上部からコンタクトのアイコンをクリックし、左サイドメニュー下部の「Setting」をクリック。URLを調べたい連絡先の右側にある「・・・」をクリックして「リンクをコピー」をクリックするとURLをコピーできる。
まとめ
これで、Webメールとして使えるようになりました。
見た目の機能的には普通の商用メールサービスとほぼほぼ変わらない感じになってきましたね。
次回はメール振り分け機能を付けたいと思います。メールの件名やメールの差出人によってフォルダーに振り分ける事が出来るようになります。