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