CentOS8でメールサーバ構築 – Webメールの整備(RainLoop)

さて、前回までで送受信機能を備えたメールサーバが設定できました。

しかし、最近ではWeb上でメールの送受信が出来るWebメールが主流で、わざわざメールクライアントを使いたくないという人も多いかと思います。

また、Webメールなら自分の端末が無くても簡単にログインしてメールを確認できるという利点もあります。(最近はスマホがあるのでそういうシチュエーションはなかなか無いとは思いますが)

今回はRainLoopというソフトウェアでWebメール環境を整備したいと思います。

この記事で行うこと

  1. RainLoopのインストール
    1. Nextcloudを使用
    2. 直接インストール
  2. RainLoopの設定
  3. RainLoopへログイン

1. RainLoopのインストール

RainLoopはNextcloudのアプリとしても提供されているため、Nextcloudがインストールされている場合は簡単にインストールが出来ます。

勿論、Nextcloudがインストールされていない場合でも直接インストールすることが可能です。

以下にそれぞれのメリットデメリットを示します。

Nextcloud版のメリットデメリット

  • メリット
    • Nextcloudが既にインストールされていれば簡単にインストールができる。
    • 更新が簡単。(Nextcloudで更新ボタンを押すだけ)
    • 先にNextcloudにログインしないと使えないためセキュリティが担保しやすい。
  • デメリット
    • Nextcloudに問題が生じたとき影響を受ける可能性がある。
    • 最新版を使えない可能性がある。(現時点では同じバージョンですが、新バージョンが出たときに追随するまで時間が空く可能性があります)
    • 先にNextcloudにログインしないと使えないため面倒。

オリジナル版のメリットデメリット

  • メリット
    • Nextcloudをインストールしていなくてもインストールが出来る。
    • 最新版を使うことができる。
  • デメリット
    • インストールが面倒。(とはいえ、流石にこれのためにNextcloudをインストールするよりかは楽ですが……)
    • 商用利用不可

この記事ではNextcloud版を使う事を前提とします。(オリジナル版も一応記載はしますが解説等は最低限です)

1-1. Nextcloud版のインストール

勿論、Nextcloudがインストールされている前提です。Nextcloudについては以下の記事を参照してください。

Nextcloudの画面上で全て完結します。

まずは、Nextcloudに管理者権限を持つアカウントでログインしてください

右上のアイコンをクリックし、「アプリ」をクリックします。
左サイドメニューの「ソーシャル・コミュニケーション」をクリックして、「RainLoop」を探し、「ダウンロードして有効にする」をクリックします。
しばらく待つと、「RainLoop」の項目が一番上に移り、ボタンが「無効にする」に変わります。これでインストール完了です。

1-2. 直接インストール

※クリーンな環境でのインストール検証はしていないため、必要なPHPモジュールに漏れがある可能性があります。

前提としてPHPとNginxが必要となります。

以下の以下のURLを参考にそれぞれのインストールを実施してください。

上記記事と続く一連の記事にnginxとPHPのインストールの解説があります。

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版の場合

右上のアイコンをクリックして「設定」をクリックし、左サイドメニューの「管理」の下にある「追加設定」をクリック。最後に「RainLoop Webメールの管理画面を開く」をクリックする。

オリジナル版の場合

設定したURLの末尾に /?admin と付けてアクセスする。

例) https://example.com/?admin

管理画面へのログイン画面が表示されたら以下のように設定を進めていきます。

アクセスすると上記の画面が表示されるので、アカウント名 : admin パスワード : 12345 でログインする。
「English」をクリックすると言語選択が出来るので、それぞれ日本語にする。
(ちなみに上は利用時の画面の言語、下は管理画面の言語)
「変更」をクリックし、アカウント・パスワード変更画面へ移動する。
(左サイドメニューの「セキュリティ」でも可)
現在のパスワードには 12345 を入力し、希望する新しいログイン名・パスワードを入力して「パスワードを更新」をクリックする。
次に「ドメイン」をクリックする。ここでログインできる対象のドメインを選べる。
初期値だとGmailにログインできる状態となっている。
不要であればゴミ箱ボタンをクリックすると「よろしいですか?」と確認が表示されるのでそれをクリックすると削除できる。
「ドメイン」を追加でログインできるドメインを追加できる。
名前はメールドメイン名。サーバーはログインするサーバ名。メールサーバとRainLoopをインストールしているサーバが同じであれば localhost でも可。
今までの手順に従ってきた場合、ポート番号・セキュリティは上の画像の通りにする。
ログイン画面でデフォルトでログインするドメインを選ぶ。これで@以降を入力しなくてもログインできる。
連絡先情報を使えるように設定。
(Nextcloudのアプリとして使っている場合でも自動で連絡先の連携はされないので注意)

3. RainLoopへログイン

RainLoopへログインしてみます。

Nextcloudの場合

画面上部にある封筒のアイコンをクリック。

オリジナル版の場合

設定したURLにアクセス。(先ほど管理画面にアクセスしたURLから /?admin を消したもの)

ログイン画面が表示されたら、ログインしてみます。

パスワードはIMAP接続するときのパスワードと同じものを入力。
設定によっては@以降のドメイン部分も入力が必要。
ログインに成功すれば上記のようにメールボックスが表示。

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

左下の歯車をクリック
「連絡先」をクリックし、「リモート同期を有効化」にチェックを付ける。
アドレス帳URLはNextcloudの場合は次の画像を参照。
それ以外の場合は「サービス名 CardDav連携」などで検索することで確認方法を検索。
Nextcloudの場合、ユーザ名・パスワードはNextcloudにログインするときのものとなるので注意。
Nextcloudのアドレス帳URLの調べ方。
上部からコンタクトのアイコンをクリックし、左サイドメニュー下部の「Setting」をクリック。URLを調べたい連絡先の右側にある「・・・」をクリックして「リンクをコピー」をクリックするとURLをコピーできる。

まとめ

これで、Webメールとして使えるようになりました。

見た目の機能的には普通の商用メールサービスとほぼほぼ変わらない感じになってきましたね。

次回はメール振り分け機能を付けたいと思います。メールの件名やメールの差出人によってフォルダーに振り分ける事が出来るようになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です