VPSにWebmailシステムを構築

実現する機能

仕事もフリーメールで充分というお方にはメールソフトは不要ですが、メンバー間の意思疎通だけでなく、メールの運用管理や大量のデータをやり取りする必要がある場合には、社内用メールソフトが不可欠になります。個々の社員としても、Gmail、Hotmail、Yahoo!メール、そしてレンタルサーバーに来るメールすべてを、まずはGmailに転送させ、それからGmailに来たメールすべてを社内のメールサーバーに転送させることで、自分宛に来るメールはすべて社内のサーバーで一覧、確認できたりするので便利です。
今回は、使い勝手のいい無料のWebmailシステムRainLoop Webmailの構築手順を備忘録として残すことにしました。

事前準備(下記サイトで確認のこと)

WebサーバーはNginxなので、Apacheご利用の方は別の設定が必要になります。ご注意ください。

RainLoop WebmailのDownload&Install

TeraTermでコマンドを使う方法を理解しておくこと。以下の記述ではTeraTerm画面を表示しています。紫色はキーボードから入力するコマンド(コピペした方が楽ですが、コマンドは覚えられません)、緑はコマンドや処理内容の説明、白は自動表示する部分、赤は注意書きです。

rainloopのインストール

#rainloopをダウンロード
[root@eycwl8s4 ~]# wget https://www.rainloop.net/repository/webmail/rainloop-latest.zip
`rainloop-latest.zip’ に保存中

rainloop-latest.zip 100%[===================>] 6.62M 20.6MB/s 時間 0.3s

2019-12-19 18:48:59 (20.6 MB/s) – `rainloop-latest.zip’ へ保存完了 [6940879/6940879]

#rainloopをインストールするフォルダrainの作成(rainは例示)
[root@eycwl8s4 ~]# mkdir /usr/share/nginx/html/rain

#rainフォルダにダウンロードしたファイルを展開
[root@eycwl8s4 ~]# unzip rainloop-latest.zip -d /usr/share/nginx/html/rain
Archive: rainloop-latest.zip
creating: /usr/share/nginx/html/rain/data/
inflating: /usr/share/nginx/html/rain/index.php



Browser/assets/icons/file.png
inflating: /usr/share/nginx/html/rain/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/parent.png
inflating: /usr/share/nginx/html/rain/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/principal.png

#フォルダにアクセス権限を設定
[root@eycwl8s4 ~]# find /usr/share/nginx/html/rain -type d -exec chmod 755 {} \;

#ファイルにアクセス権限を設定
[root@eycwl8s4 ~]# find /usr/share/nginx/html/rain -type f -exec chmod 644 {} \;

#dataフォルダに読み書き権限を設定
[root@eycwl8s4 ~]# chmod -R 777 /usr/share/nginx/html/rain/data

#メールや添付ファイルの容量アップ
[root@eycwl8s4 ~]# vi /etc/php.ini
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
; メールの最大サイズ8Mを118Mにした例
post_max_size = 118M

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
; 添付ファイルの最大サイズ2Mを112Mにした例
upload_max_filesize = 112M

SELinuxを有効にしている場合の対策

初期設定では有効になっている。

#dataフォルダのセキュリティ情報をラベル付け
[root@eycwl8s4 ~]# chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/rain/data

#変更したラベルをポリシーに記録
[root@eycwl8s4 ~]# semanage fcontext -a -t httpd_sys_rw_content_t /usr/share/nginx/html/rain/data

#Webからのネットワーク接続を許可
[root@eycwl8s4 ~]# setsebool -P httpd_can_network_connect on

Nginxの設定変更

Apache使用の方は設定不要。

#nginx.confの設定変更でdataフォルダへのアクセスを制限
[root@eycwl8s4 ~]# vi /etc/nginx/nginx.conf
server {


# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
#以下を追記

location ^~ /data {
deny all;
}

#nginxの再起動
[root@eycwl8s4 ~]# systemctl restart nginx

#postfixとdovecotの再起動
[root@eycwl8s4 ~]# systemctl restart postfix dovecot

rainloopの設定

(1)赤枠1に「https://あなたのサーバー名/rain/?admin」を入力し、赤枠2に「admin」、「12345」を入力して赤枠3の「>」をクリック(ブラウザはfirefox、画像はクリックすると拡大表示。以下同じ)

(2)ログイン後最初に下図の画面が出るので、赤枠の「Change」をクリック

(3)赤枠1の「Security」画面が開くので、赤枠2の「Current password」に既存のパスワード「12345」を入力し、赤枠3の「New password」と「Repeat」欄に新パスワードを入力する。入力したら赤枠4の「Update Password」ボタンをクリック。adminも好きなユーザー名に変更できる

(4)言語を日本語にする場合には、赤枠1の「General」をクリックし、表示される赤枠2の「English」をクリック

(5)表示される一覧から、赤枠の「日本語」をクリック

(6)自宅のメールサーバー(例えばtopi.0t0.jp)で設定したメールアドレス(例えばtu@topi.0t0.jp)を使うには、赤枠1の「Domains」をクリックして、赤枠2の「+ Add Domain」をクリック

(7)自宅メールサーバーの設定どおり入力し、「i 接続テスト」をクリック

(8)赤枠2の項目をすべて入力して、赤枠1の「i 接続テスト」をクリック。すべてがグリーンになったらOK。赤枠3の「更新」をクリックして設定を保存。画像はVPSのメールサーバーの設定例。うまくいかない場合は、「tail /var/log/maillog」とコマンドを入力して原因解明のこと

(9)添付ファイルの容量を変更する場合には、赤枠1の「全般」をクリックし、赤枠3に入力する

■root宛メールも確認できるように転送する

#旧root宛メール転送設定削除

[root@eycwl8s4 ~]#sed -i '/^root:/d' /etc/aliases

#root宛メールを他のメルアド(ufuso@gmail.comは例示)宛に転送する。
そして、転送したサーバー(例示ではgmail)のユーザー(例示ではufuso)から再度自宅サーバーに転送設定する

[root@eycwl8s4 ~]#  echo "root: ufuso@gmail.com" >> /etc/aliases

#転送設定反映
[root@eycwl8s4 ~]# newaliases

#テストメールをroot宛に送信する
[root@eycwl8s4 ~]# echo test-rainloop|mail root

■動作確認

(1)https://サーバー名/rain/にアクセスして、ログイン名にはCentOSのユーザー名のメールアドレス(例示:tu@topi.0t0.jp)、パスワードには(例示ではtu)ユーザーパスワードを入力し1て、赤枠2の「>」をクリック

(2)赤枠の「新規作成」をクリック。

(3)赤枠1にあて先のメールアドレスを入力(例示はhotmail宛)し、赤枠2にタイトル、赤枠3に本文を入力して、赤枠4の「送信」をクリック。

(4)Windowsのメールアイコン(封筒)をクリックしてHotmailを開き、メールが届いているのを確認できれば送信は成功。

以上

コメントする

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