RainLoop
概要
RainLoopは、モダンなウェブメイラである。 マルチアカウントに対応し、柔軟にカスタマイズも可能である。
導入
ダウンロードサイトから最新版をダウンロードし、適当なディレクトリに展開する。
ここでは、/var/www/rainloop に展開するものとする。
# unzip -d /var/www/rainloop rainloop-latest.zip ... # cd /var/www/rainloop # chown -R apache.apache . ... # find . -type d -exec chmod 755 {} \; ... # find . -type f -exec chmod 644 {} \; ...
所有者は、ブラウザの実行ユーザとグループにし、パーミッションは 644 (ディレクトリは755)とする。
次に、Apache の設定ファイルを作成する。 /etc/apache/conf.d/rainloop.conf として、以下の内容のファイルを作成する。
Alias /webmail /var/www/rainloop <Location /webmail> SSLRequireSSL </Location>
SSLを必須とする設定は、RainLoop側でも可能だが、実験中の機能で不安定とあるので、Apacheのレベルで設定する。
ここまで、行ったところで、apache をリロードすると、https://www.your.domain/webmail/ でアクセス可能となる。
設定
基本的な設定は、https://www.your.domain/webmail/?Admin にアクセスすることで行う。 デフォルトの管理者パスワードは12345であり、速やかに変更することが求められる。 必要に応じて、管理ユーザ名も変更するべきだろう。
言語設定として、メイラの方は日本語も選べるが、管理画面にはないので、英語又は好みの言語に設定する。
基本的には、見たままなので、必要な項目を修正すればよい。
Sieve
RainLoop は 1.8以降で、実験的ながら、Sieveを利用したフィルタの管理機能を持っている。 IMAPサーバ側で、managesieve の機能が有効になっていれば、それを利用して、フィルタリングスクリプトを管理することができる。
設定
ドメインの設定画面を開くと、Sieve configuration (beta)というリンクがあるのでこれをクリックする。
クリックすると下のような画面が開くので、managesieveに関する情報を入力する。 ポートは古いサーバなら2000、最近のものなら4190を使うことになると思われる。
入力したら、必ず、左の Test をクリックし、成功したのを確認した後、右端の Update を押す。 1)
このとき、ユーザ個人のフィルタリングを許すかどうかは、サーバ側の設定と合わせて決める。
ルールの作成と管理
個人での管理を有効にしているという前提で進める。
この場合、フィルタの管理画面は、ドメインにログインしている個人の設定画面に現れる、Filtersというリンクを押すことで到達できる。
この画面で、フィルターのルールを作成したり修正したりして、それを保存すれば、サーバ側に反映される。
- 不具合
ルールの件数が増えてきたところで突然、ルールを追加できなくなった。 追加して、「Save」しようとすると、Invalid Tokenというエラーになる。 とりあえず、#861で、レポートはしてあるが、どうなるか不明。
$this->oHttp->GetPost('Action', null);
というコールが、nullを返しているので、いずれにしても、何らかの構造が壊れているっぽい。 PHPの memory_limit, post_max_size, upload_max_filesizeをそれぞれ、256M, 64M, 32Mに拡大してみたが、変化はなかった。
Rawルール定義にして、このルールよりも大きなルールファイルを作ってみたが、それは問題なく保存できたので、RainLoop 内部のルール構造→ルールファイルの変換に問題があるのだと思う。2)
二段階認証
Security タブの中に、設定項目がある。 デフォルトではオフになっているので、必要ならば、 Allow 2-Step Verificationにチェックを入れる。チェックを入れると、Enforce 2-Step Verificationも選べるようになるので、これも必要に応じてチェックする。
ユーザは、ログイン後に、設定→Security のタブで、二段階認証を有効にすることが出来る。3)
有効にすると、設定用のQRコードと、英数字からなるコードが表示されるので、Google認証ツールなどに読み込ませて利用を開始する。 開始するには、必ず、ツールに表示されているPINを使って、テストを行い、正しく受け入れられることを確認する必要がある。
あとは、通常のログインプロセスで、IDとパスワードを入力したあとで、PINの入力を求められるので、それを入力すればよい。
その他
Authentication
認証については、基本的に PLAIN しかサポートしていない。 CRAM-MD5については、コードは存在している 4) ものの、
// TODO if (false && $this->IsSupported('AUTH=CRAM-MD5'))
のように、無効化されている。 RainLoopのサーバと同一ネットワーク内のIMAPサーバにアクセスする分にはあまり神経質にならないでもよいだろうが、外のIMAPサーバとやりとりをする場合には、経路がSSL/TLSで保護されていないと、やや危険だと思われる。
マルチアカウントで、外のアカウントを設定している場合には、注意が必要。