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に転送されている。
自宅サーバーにも転送されている。
以上