#前提
①以下の2工程を行なったうえで、この作業は行われています。
1: 【Postfix + dovecot + Gmail】自前のメールサーバとGmailを連携させてみた
2: 複数ドメインを運用している際のメールサーバドメインの扱い
②作業者は素人です。
③作業内容を理解せずに作業を始めています。
④今回は多少躓きましたが、3時間半程度(わたし的には驚異の速さ)で構築が完了しました。
##前回からの変更点
#cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
# postconf | grep mail_version
postconf: warning: /etc/postfix/main.cf: unused parameter: broken_sasl_auth_cliants=yes //何かエラーが…
mail_version = 2.10.1
#dovecot --version
2.2.10
ちょっとVerUPしたよ!(多分)
#何をするか
設定したメールサーバをWebメール化して、脱Googleの完全化を推し進めようという試みです。
せっかくGmailをメーラー代わりに使っていたのにどうしてそんなことするのかというと、
もともとGoogle依存をし過ぎるのは良くない(もっと自前で用意できるようになるべきだ!)というのと、
個人情報を何でもかんでもGoogleに握られるのが癪だという頓珍漢なやつあたりと、
どうせならフルOSSで運用してみたいという野心
が出てきたからです。
まぁ、もともとGmailでのメーラーはThunderbirdがサーバを見つけてくれない症状が直せなかったっていう副次的産物でしたので、これを機にちゃんとしたものを用意しようって話です。
メールサーバとWebメールを運用できるものという漠然としたものを探していたら"自宅サーバの整理箱"の兄貴がイカした投稿をしているのを発見し、これを使うことを決定した次第であります。
##で、そのWebメールってのは?
Rainloopというソフトウェアです。
PHPで動くみたいです。Githubもあるんで、中身が読める方は眺めて、どうぞ。
ってことは、Systemctl enableしなくてもいいってことだよね。楽ちん。(問題そこか?)
こちらに、先人が書き残した虎の巻があるので参照のこと。
・PHP製WEBMAIL「rainloop」はUIがキレイさん-
・CentOS 7.0 で複数のメルアドをインターネットで集中管理(Rainloop)
#作業手順詳細
作業前にちゃんと公式のSYSTEM REQUIREMENTS読むんだよ?
##インストール
まずは、設置場所を作成します。
#mkdir /var/www/rain //Apacheのドキュメントルート直下がいいんじゃないでしょうかね
インストール作業のため、ディレクトリを移動します。
#cd /var/www/rain
公式のDOCUMENTATIONのインストールコマンドを打ちます。
#curl -s http://repository.rainloop.net/installer.php | php
#!/usr/bin/env php
[RainLoop Webmail Installer]
* Connecting to repository ...
* Downloading package ...
* Complete downloading!
* Installing package ...
* Complete installing!
* [Success] Installation is finished!
ここで、#ls -la
でファイルを確認すると、以下のようにファイルがインストールされていることが確認できます。
合計 4
drwxr-xr-x 4 root root 48 9月 21 03:20 .
drwxr-xr-x. 4 root root 44 9月 21 03:13 ..
drwxrwxrwx 2 root root 32 9月 21 03:20 data
-rw-rw-rw- 1 root root 448 8月 8 23:44 index.php
drwxrwxrwx 3 root root 14 9月 21 03:20 rainloop
##ファイル・フォルダ設定
まだこの段階ではフォルダのパーミッション設定をしていないので、変更します。
その前にいったんディレクトリを移動。これも公式のPermissionsに書いてありますね。そのまま打ちました。
#cd /var/www/rain
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
フォルダの所有者を再帰的に(≒下の階層まで)変更しろと書いてありますね。Apache使ってるのでapache:apache
かな?
chown -R apache:apache . //最後のdot忘れるとオペランドエラーになるよ!
# ls -la
合計 4
drwxr-xr-x 4 apache apache 48 9月 21 03:20 .
drwxr-xr-x. 4 root root 44 9月 21 03:13 ..
drwxr-xr-x 2 apache apache 32 9月 21 03:20 data
-rw-r--r-- 1 apache apache 448 8月 8 23:44 index.php
drwxr-xr-x 3 apache apache 14 9月 21 03:20 rainloop
##Apache設定
まだWebで見るためにはウェブサーバの設定が残っています。先人は新規ファイルを作っていますが、こちらでは面倒だからあえてhttpd.conf内最下部に書きます(Apache2.2の時もこんな書き方してましたごめんなさい) 内容は丸パク…リスペクトです。
<VirtualHost *:80>
ServerName webmail.example.com
DocumentRoot /var/www/rain //設置場所のフォルダ
<Directory /var/www/rain/>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
</VirtualHost>
忘れずに再起動しましょう。
#systemctl restart httpd
これでhttp://webmail.example.com でWebメールにアクセスできるようになったはずです。
ごめんなさい、まだです。DNSの設定してないっす。でもその前にいったん次の設定をしてしまいましょう。
##PHP設定
添付容量が気になる方向けの設定ですね。あまり大きくすると受け取り側で拒否されたりもするのでほどほどにしとくのが吉かなと。
ここはWPとか入れちゃうとまた設定変更するので、目安程度ですかね。今回はGmail基準で添付ファイルサイズを25Mにしました。そこはGoogleに合わせるんだね。
post_max_size = 30M //メールの最大サイズ(Default:16M)
upload_max_filesize = 25M //添付ファイルの最大サイズ(Default:16M)
##DNS設定
噂によると9割くらいの皆様はお名前.comでドメインを管理されているようですが、まあどこでも設定方法は同じだと思います。
HOSTNAME | TYPE | TTL | VALUE
webmail.example.com | A | 3600 | xxx.xxx.xxx.xxx
ベタな設定ですよね。あえてリスクのある設定をする必要もないと思います。(リスク?)
設定が反映されるまで少しの間待機です。
反映されたら今度こそ、http://webmail.example.com でWebメールにアクセスできるようになったはずです。
そうしたら、最後のRainloop設定をして完了です!あと少し!(ここまで書きつつ2時間経過)
##Rainloop設定
下のようにアクセスできるようになりましたか?それでは最後の設定に進みましょう。
公式のCONFIGURATIONには以下の設定で入れると書いてあります。
Email : admin
Password : 12345
…あれ?入れ無いゾ(焦り)と、最初肝を冷やしましたがログインのためのURLをよく確認してませんでした。http://webmail.example.com?admin
です。?admin
が肝心ですよ。
赤字ではっきりとログインパスワードを変えろと言われているので変えましょう。ここ冗談抜きで変えてください。
変更すると、Login Updateというボタンが緑色になるので、いったん右上の電源ボタンからログアウトして、再ログインしてみましょう。
次はWarning!が消えているはずです。
そうしたらLanguageと**Language(admin)**を日本語に切り替えましょう。
言語設定が完了したらドメインの追加をして、全行程完了です。左の「ドメイン」からドメインの追加を行ないます。
名前にexample.comと入れて、IMAP,SMTPそれぞれのサーバ入力欄をクリックすると自動補完されます。ポートを確認して左下「接続テスト」を実行します。
…あれぇ…Timeoutになる… 正確にはexample.comは上手く行きますが、example.netがTimeoutになります。
SMTPの原因はサーバが間違ってましたね。smtp.example.net:25
でした。
IMAPの原因もサーバが間違ってたんだけど、これおかしいよなぁ… smtp.example.net:143
ってIMAPだよ?なんでsmtpのサブドメインなのさ…
なんでかは今度対処します。とりあえずこれで全ての作業は完了したので、ログアウトして、メールアドレスでログインしてみます。
こんどこそhttp://webmail.example.com
からログインだよ。終わった!I did it !
#作業後記
今回のインストール方法だとBasicがインストールされるので自動アップデートが使えないところが玉に瑕。
GoogleAppsの月500円をケチる為にえらく大変なことをしている気もしますが、勉強のためだから気にしない気にしない…(自己暗示)
これ、メールサーバの機能だけ切り離してAWSにでも移そうかなぁ… でも請求が怖いなぁ…
#参考文献
CentOS version
CentOSのバージョン確認方法
Postfix version
ちょっと忘れるPostfixバージョン確認について
curl option
curl コマンド
Port
CentOS7でポートを開放する方法。
dovecot IMAP
メールサーバ構築メモ【CentOS6.5+Postfix+Dovecot TLS/SSL】