2006-05-07 (Sun) [長年日記]

Apache2のSSL

黄金週間最後の課題をクリアすべくSSLを導入しようとしてハマる。SSLを有効にすると今まで設定していたnon-SSL側の設定が無効になってしまうのであった。

Apacheの<VirtualHost>ディレクティブをよくよく読み返してやっと気がついたが、VertualHostに適切なIPとportを振らずに、SSLもnon-SSLのバーチャルホストも`*'にしていたので設定が干渉してたのが原因でした。気がついてみればなんでもないが、悩んでしまった。

これでアプリケーションはlighttpdで、認証周りはApacheな環境ができた。

 RailsApp <--- lighttpd(FastCGI) <--- Apache(SSL+BASIC認証) <--- browser

あとportsのphpが整理されCGIとmod_phpが共存できるようになったり、mod_phpがデフォルトでは無効だったりになったので、この機会にphpアプリも上記のようにlighttpd(FastCGI)で動かすようにしてみた。

サンプルで入ってるlighttpdの設定をコメントアウト外して有効にし、phpのcgiコマンド名がphp -> php-cgiに変わったのでそれを修正しただけで動いちゃった。

 # php stuff
 fastcgi.server = (
   ".php" =>
     ( "localhost" =>
       (
          "socket" => "/tmp/php-fastcgi.socket",
          "bin-path" => "/usr/local/bin/php-cgi",
          "mini-procs" => 1,
          "max-procs" => 1,
        )
      )
   )