1 views

実現する機能

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

事前準備

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

RainLoop WebmailのDownload&Install

[root@ufuso]# curl -O http://repository.rainloop.net/v2/webmail/rainloop-latest.zip
 ← rainloopをダウンロード
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4782k  100 4782k    0     0    98k      0  0:00:48  0:00:48 --:--:-- 61344

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

[root@ufuso ~]# unzip rainloop-latest.zip -d /var/www/html/rain ← rainフォルダ
にダウンロードしたファイルを展開 
Archive:  rainloop-latest.zip
  inflating: /var/www/html/rain/index.php  
   creating: /var/www/html/rain/data/
...
...
...
gins/htmlwriter/assets/outputforflash/outputforflash.fla  
  inflating: /var/www/html/rain/rainloop/v/1.7.2.220/static/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf  
  inflating: /var/www/html/rain/rainloop/v/1.7.2.220/static/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js 

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

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

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

[root@ufuso ~]# chmod -R 777 /var/www/html/rain/data ← 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
post_max_size = 118M ← メールの最大サイズ8Mを118Mにした例
...
...
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
...
...
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 112M ← 添付ファイルの最大サイズ2Mを112Mにした例

■データベースの設定

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

依存性を更新しました:
  php.x86_64 0:5.4.16-23.el7_0          php-cli.x86_64 0:5.4.16-23.el7_0       
  php-common.x86_64 0:5.4.16-23.el7_0   php-devel.x86_64 0:5.4.16-23.el7_0     
  php-gd.x86_64 0:5.4.16-23.el7_0       php-mbstring.x86_64 0:5.4.16-23.el7_0  
  php-pdo.x86_64 0:5.4.16-23.el7_0      php-process.x86_64 0:5.4.16-23.el7_0   

完了しました!

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

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

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

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

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

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

■rainloopの設定

(1)「https://your-server/rain/?admin」にアクセスし、表示される赤枠「危険性を理解した上で接続するには」をクリック
rain01
(2)赤枠の「例外を追加…」をクリック
rain02
(3)赤枠の「セキュリティ例外を承認」をクリック
rain03
(4)赤枠1に初期値である「admin」、赤枠2に「12345」を入力して赤枠3の「Sign In」をクリック
rain04
(5)ログイン後最初に下図の画面が出るので、赤枠の「Change」をクリック
rain05
(6)「Security」画面が開くので、赤枠1の「Current password」に既存のパスワード「12345」を入力し、赤枠2の「New password」と「Repeat」欄に新パスワードを入力する。入力したら赤枠3の「Update Password」ボタンをクリック。adminも好きなユーザー名に変更できる
rain06
(7)言語を日本語にする場合には、赤枠1の「General」をクリックし、表示される赤枠2の「English」をクリックして「日本語」を表示させればOK
rain07
(8)自宅のメールサーバー(例えばufuso.dip.jp)で設定したメールアドレス(例えばtu@ufuso.dip.jp)を使うには、赤枠1の「Domains」をクリックして、赤枠2の「+ Add Domain」をクリック。GmailやYahooメールは何故か登録できなかった
rain08
(9)赤枠1に自宅サーバーのドメイン名を入力し(ufuso.dip.jpは例示)、赤枠2にIMAPサーバー名、赤枠3は「SSL/TLS」を選択、赤枠4にSMTPサーバー名、赤枠5は「SSL/TLS」を選択後赤枠6の「+ Add」をクリック
rain09
(10)データーベースを利用する場合には、赤枠1の「Contacts」をクリックし、表示される赤枠2で「MySQL」を選択。設定したユーザー名(tuは例示)とパスワードをそれぞれ赤枠3と4に入力して、赤枠5の「i Test」をクリック
rain10
(11)赤枠1の「i Test」がグリーンになったらOK。赤枠2のアイコンをクリック
rain11

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

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

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

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

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

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

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

[root@ufuso ~]#sed -i '/^root:/d' /etc/aliases ← 旧root宛メール転送設定削除
 
[root@ufuso ~]#  echo "root: ufuso@gmail.com" >> /etc/aliases ← root宛メールを
他のメルアド(ufuso@gmail.comは例示)宛に転送する。そして、gmailで自宅サーバーに転送
設定する
 
[root@ufuso ~]# newaliases ← 転送設定反映
 
[root@ufuso ~]# echo test|mail root ← テストメールをroot宛に送信する

■動作確認

(1)https://サーバー名/rain/にアクセスして、ログイン名にはCentOSのユーザー名のメールアドレス(例示:tu@ufuso.dip.jp)、パスワードには(例示ではtu)ユーザーパスワードを入力します。
rain12
(2)受信トレイ画面が開いて、testメールが受診されていればOKです。送信ができるかも確認してください。
rain16

以上

コメントを残す

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

CAPTCHA


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