1 views

実現する機能

Gmail、Hotmail、Yahoo!メール、そしてレンタルサーバーに来るメールすべてを、まずはGmailに転送させ、それからGmailに来たメールすべてを自宅のメールサーバーに転送させることで、自分宛に来るメールはすべて自宅サーバーで一覧、確認できるようにしています。使っているのはWebブラウザ上でメールができるWebmailシステムRainLoop Webmailです。Roundcube Webmailからの乗り換えです。乗り換えた理由は使い勝手の良さです。以下は、その導入手順です。

事前準備

Webサーバーリポジトリの追加(RPMforge、EPEL)Webサーバー間通信内容暗号化メールサーバー(要IMAP)が構築済であること。データベースサーバーの構築(MariaDB))は任意です。

RainLoop WebmailのDownload&Install

以下の黒背景部分はGNOME端末を表示しています。紫色はキーボードから入力するコマンド(コピペした方が楽ですが、コマンドは覚えられません)、緑はコマンドや処理内容の説明、白は自動表示する部分、赤は注意書きです。

#rainloopをダウンロード
[root@ufuso]# curl -O http://repository.rainloop.net/v2/webmail/rainloop-latest.zip

#rainloopをインストールするフォルダrainの作成(rainは例示)
[root@ufuso]#  mkdir /var/www/html/rain

#rainフォルダにダウンロードしたファイルを展開 
[root@ufuso ~]# unzip rainloop-latest.zip -d /var/www/html/rain
Archive:  rainloop-latest.zip
   creating: /var/www/html/rain/data/
  inflating: /var/www/html/rain/index.php
...
...
...
  inflating: /var/www/html/rain/rainloop/v/1.11.3/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/file.png  
  inflating: /var/www/html/rain/rainloop/v/1.11.3/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/parent.png  
  inflating: /var/www/html/rain/rainloop/v/1.11.3/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/principal.png

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

#logsフォルダにアクセス権限を設定 
[root@ufuso ~]# find /var/www/html/rain -type f -exec chmod 644 {} \;

#rainフォルダの所有者を自分に(tuは例示)、グループをapacheに設定
[root@ufuso ~]# chown -R tu:apache /var/www/html/rain 

#dataフォルダに書き込み権限を設定
[root@ufuso ~]# chmod -R 777 /var/www/html/rain/data

#メールや添付ファイルの容量アップ
[root@ufuso ~]# vi /etc/php.ini
[PHP]
;;;;;;;;;;;;;;;;;;;
; About 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

■データベースの設定

#php-mysql、php-xmlインストール  
[root@ufuso ~]# yum -y install php-mysql php-xml
更新:
  php-mysql.x86_64 0:5.4.16-43.el7_4   php-xml.x86_64 0:5.4.16-43.el7_4  

依存性を更新しました:
  php.x86_64 0:5.4.16-43.el7_4           php-cli.x86_64 0:5.4.16-43.el7_4 
  php-common.x86_64 0:5.4.16-43.el7_4    php-fpm.x86_64 0:5.4.16-43.el7_4 
  php-mbstring.x86_64 0:5.4.16-43.el7_4  php-pdo.x86_64 0:5.4.16-43.el7_4 
  php-process.x86_64 0:5.4.16-43.el7_4  

完了しました!

#MariaDBへログイン 
[root@ufuso plugins]# mysql -u root -p
#rootのパスワード入力
Enter password:  
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.19-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

#データベース作成(rainloopは例示) 
MariaDB [(none)]> create database rainloop;
Query OK, 1 row affected (0.14 sec)

#データベースの管理ユーザー作成(tu、passwordは例示) 
MariaDB [(none)]> grant all privileges on rainloop.* to ufuso@localhost identified by 'password';
Query OK, 0 rows affected (0.25 sec)

#MariaDBからログアウト 
MariaDB [(none)]> exit
Bye

■rainloopの設定

(1)「https://your-server/rain/?admin」にアクセスし、表示される赤枠「エラー内容」をクリック(ブラウザはfirefox、画像はクリックすると拡大表示。以下同じ)

(2)赤枠の「例外を追加…」をクリック

(3)赤枠の「セキュリティ例外を承認」をクリック

(4)赤枠2に「admin」、「12345」を入力して赤枠3の「>」をクリック

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

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

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

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

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

(10)自宅メールサーバーの設定どおり入力し、「i Test」をクリック

(11)赤枠1の「i Test」がグリーンになったらOK。画像は我が家のメールサーバーの設定例

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

(13)データベースを使う場合には、赤枠1の「連絡先」をクリックし、赤枠2を「MySQL」にし、赤枠3にデータベースで登録したユーザー名とそのパスワードを入力して赤枠4の「i テスト」をクリック

■最終処理&SELinuxを有効にしている場合

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

#rainフォルダのSELinux設定状況を確認
[root@ufuso ~]# ls -dZ /var/www/html/rain
drwxr-xr-x. tu apache unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/rain
#httpd_sys_rw_content_tでなければ、以下の処理を行うこと

#ウェブコンテンツとしてrainフォルダの読み書きを許可
[root@ufuso ~]# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/rain(/.*)?"

#変更設定を更新
[root@ufuso ~]# restorecon -R -v /var/www/html/rain

#httpdリロード(設定反映)
[root@ufuso ~]# systemctl reload httpd

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

#旧root宛メール転送設定削除
[root@ufuso ~]#sed -i '/^root:/d' /etc/aliases

#root宛メールを他のメルアド(ufuso@gmail.comは例示)宛に転送する。
そして、gmailで自宅サーバーに転送設定する 
[root@ufuso ~]#  echo "root: ufuso@gmail.com" >> /etc/aliases

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

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

■動作確認

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

(2)上記で、root宛メールが外部メール(例示ではGmail)に転送されているかを確認し、それが再度自宅サーバーに転送されてきているかを確認できれば動作確認はOK(Gmail側で自宅サーバー宛てに転送設定をしておくこと)。
Gmailに転送されている。

自宅サーバーにも転送されている。

以上

コメントを残す

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

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください