PHP製WEBMAIL「rainloop」はUIがキレイさん

PHP製のWebmailツール rainloopを試してみました。
このジャンルだと SquirrelMailさん とか Roundcubeさん が有名そうですが、
機能的な部分は置いておいてUIがかなり綺麗なので満足度が高そうということでさっそく実験です。

# この記事に記載した内容

* rainloopのインストール手順の説明
* 使用直前までの設定方法
* 非公式な日本語化の方法

# 環境

以下の環境で設定した項目を記載しています。

* CentOS 7
* PHP 5.4.16
* Apache 2.4.6

apache, postfix, dovecotなどのこの記事外の設定はすでに設定が完了されている状態を想定しています。

また、インストールディレクトリを /work/virtual/webmail.example.com にしているので
絶対パスで書いていない時は基本的にこの配下からのパスか、もしくはお察しください。

# 手順

## 準備

まずファイルの準備をします。

```
ディレクトリを掘る
$ mkdir /work/virtual/webmail.example.com

ファイルのダウンロード
$ wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip

作業用ディレクトリに解凍
$ unzip rainloop-community-latest.zip -d /work/virtual/webmail.example.com

ディレクトリのパーミションを整えます
modeを揃える
$ sudo find webmail.example.com -type d -exec chmod 755 {} \;
$ sudo find webmail.example.com -type f -exec chmod 644 {} \;

所有権をapacheの権限で行けるように揃える
私の環境はapacheユーザ
$ sudo chown -R apache:apache webmail.example.com

```

次にapacheの設定をする
※自分の環境はネームベースバーチャル
rainloop.confという別ファイルを作成しました。

```
#
# Rainloop Webmail Configuration
#

<VirtualHost *:80>
  ServerName webmail.example.com
  DocumentRoot /work/virtual/webmail.example.com
  <Directory /work/virtual/webmail.example.com/>
      <IfModule mod_authz_core.c>
          # Apache 2.4
          Require all granted
      </IfModule>
      <IfModule !mod_authz_core.c>
          # Apache 2.2
          Order Deny,Allow
          Deny from all
          Allow from 127.0.0.1
          Allow from ::1
      </IfModule>
  </Directory>
</VirtualHost>
```

confを作成しているので、apacheをリスタートします。

```
$ sudo /sbin/httpd -t
Syntax OK
$ sudo systemctl restart httpd
```

以上で、アクセスができるようになっているはずです。ものすごく簡単ですね。いいんでしょうか。

## ブラウザで確認

http://webmail.example.com/にアクセスしてログイン画面がでることを確認

![01.png](https://qiita-image-store.s3.amazonaws.com/0/20865/dddc07dd-7ece-79d8-0467-cd3092efa855.png)

次に http://webmail.example.com/?/admin にアクセスし管理用の画面が出ることを確認

![02.png](https://qiita-image-store.s3.amazonaws.com/0/20865/fbffa3af-405c-ff03-45ba-7043505cb0a6.png)

こんな感じです、素敵なUI！

ログイン後の画面はこんな感じ

![03.png](https://qiita-image-store.s3.amazonaws.com/0/20865/0e7a8342-2ff0-52a5-4e49-81819263231e.png)


デザインテンプレートを変えると

![04.png](https://qiita-image-store.s3.amazonaws.com/0/20865/cd87c664-f265-de67-182a-d39b68d2eed4.png)

これが一番良さですね。

# 管理画面のパスワード変更

また、管理画面はアカウント名が 「admin」ユーザ名が「12345」に設定されているのですみやかに変更してください。

![05.png](https://qiita-image-store.s3.amazonaws.com/0/20865/3243a556-9ad7-9841-9cd4-cc056b5b01ff.png)


# 日本語化

デフォルトでも日本語を選択することで日本語の表示ができるようになっていますが、さらに日本語化します。
まず通常ユーザの画面の日本語設定ファイルから
場所は rainloop/v/1.9.3.363/langs/ja-jp.ini にあります。

```
langのディレクトリに移動
$ cd webmail.example.com/rainloop/v/1.9.3.363/langs/

こんな感じで言語があります
$ ls
admin   cs.ini     en.ini  hu.ini  ja-jp.ini  lv.ini  pl.ini     ro.ini  sv.ini  zh-cn.ini
ar.ini  de.ini     es.ini  is.ini  ko-kr.ini  nl.ini  pt-br.ini  ru.ini  tr.ini  zh-tw.ini
bg.ini  en-gb.ini  fr.ini  it.ini  lt.ini     no.ini  pt-pt.ini  sk.ini  ua.ini

非公式だと思うんですが、リネームします。
$ sudo mv ja-jp.ini ja.ini

その後、設定ファイルが以下のディレクトリにあるので編集。
$ vim data/_data_/_default_/configs/application.ini

編集はこの一箇所のみです
$ sudo diff -u application.ini application.ini.origin
--- application.ini     2015-10-07 18:36:19.608267403 +0900
+++ application.ini.origin      2015-10-07 18:27:37.419085215 +0900
@@ -17,7 +17,7 @@
 allow_user_background = Off

 ; Language used by default
-language = "ja"
+language = "en"

```

このja.iniが中途半端な日本語になってるので、自分のほぼ0な英語力を駆使して日本語にします。
するとだいたいこんな感じぐらいにはなります。
![08.png](https://qiita-image-store.s3.amazonaws.com/0/20865/90eb642e-c724-2ca2-06c5-2969c7a9becb.png)

管理画面のlangファイルは
$ rainloop/v/1.9.3.363/langs/admin/
にあるので適当に
$ cp -ap en.ini ja.ini
とかをしてそのファイルを日本語に直すと日本語になるはずです。

するとこんな感じの画面に
![07.png](https://qiita-image-store.s3.amazonaws.com/0/20865/df1bf686-37a3-93ca-2725-96fa7ee3ebd1.png)

# ドメインを有効にする

実際使用するには、使用許可するドメインの設定をする必要があります。
![06.png](https://qiita-image-store.s3.amazonaws.com/0/20865/c7a0556b-8f56-762d-044f-97d6bd8e671f.png)

管理用画面のドメインメニューからドメインと追加することで通常のログインをすることができます。
また試してませんがここで設定したものは

data/_data_/_default_/domains/ 

の中にiniファイルがあるのでもしかしたら直接こっちを作成してしまってもいいかもしれません。

### 最後に

UIがキレイなのは凄くストレスがなくてよろしいです。
最近では、会社以外でメールソフト設定をすることが減りました。スマホを設定するのみなので、一元的にみるのにWEBMAILっていう選択肢はありだと思いました。
これはもちろんgmailでも可能ですが。

また、日本語の訳が適当すぎるので、もう少しちゃんと整えたらrainloopにプルリクエストしてみようと思います。