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 *:80


    ServerAdmin webmaster@hogedomain
    DocumentRoot /home/hoge/htdocs
    ServerName www.hogedomain
(中略)

Alias /webmail /var/www/webmail


      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/$1


(以下、/etc/httpd/conf.d/ssl.conf などの中で)

ServerName 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しようとしてハマっていた。