squirrelmailをセットアップして、SSLによる閲覧に限定するところでメモ
ま、要するにSquirrelMailの導入(CentOS編)の「セキュリィティ対策」の通りでよかったということです。
しかし、squirrelmailのインストールについては、最初Webmailシステム構築(SquirrelMail) - CentOSで自宅サーバー構築を参考にしていて、HTTPでアクセスするところまでは問題なかったため、secure_loginのプラグインを入れていたり、Aliasで/webmail の
ディレクトリを指定していたりしたことで結果的にハマりました。
上記のoyajiさんのところに付け加えることがあるとすれば、
- 複数のVirtual domainを利用していて、そのdocument root以外の場所にsquirrel mailをインストールした場合は、Aliasで/webmail などのパスを通すことになるが、その記述は、Virtualhostのdirectiveの中で行うこと。自分は、/etc/httpd/conf.d/squirrelmail.conf などという独立したファイルにAliasを書こうとして失敗した。
- もし、squirrelmail用に独立した設定ファイルを作るとなると、逆に、すべてのVirtualhostのdirectiveの中にRedirectMatchの指定を行う必要が出てくる。
どうすればapacheの設定はすっきり書けたか(複数のVirtualHostを運用している場合)
うーん、こんな感じになるんだろうか?
NameVirtualHost *:80ServerAdmin webmaster@hogedomain DocumentRoot /home/hoge/htdocs ServerName www.hogedomain (中略) Alias /webmail /var/www/webmail (以下、/etc/httpd/conf.d/ssl.conf などの中で)RewriteEngine On RewriteLog "logs/rewrite_log" RewriteLogLevel 0 RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/webmail/(.*)?$ https://%{HTTP_HOST}/webmail/$1 [L,R] RedirectMatch permanent ^/webmail/(.*)?$ https://www.hogedomain/webmail/$1ServerName www.hogedomain:443 Alias /webmail /var/www/webmail Order allow,deny Allow from all (以下略)
SSLRequireはうまく使えなかった
ところで、自分は、SSLだけに閲覧を制限するのに、SSLRequireが使えるのではないかと期待して、以下のような設定もしてみたが、それはうまくいかなかった。
SSLRequire %{REMOTE_ADDR} !~ m/^192\.168\.0/
これは要検討。
Squirellmailって、メールサーバ上にインストールしなくてもよかったのね
これは、恥ずかしながら忘れていた。
固定IPアドレスが1個の環境で、メールサーバとWebサーバが別だったので、Webサーバからreverse proxyしようとしてハマっていた。