2011年5月23日月曜日

1台のサーバでApacheを複数動かす

Windowsでの話です。
今回は、Apache + ssl を使ってブラウザとサーバの間の通信を暗号化しているWebアプリケーションサーバに、もうひとふんばりしてもらいたい。
つまり、port=443を解放してHTTPS通信を可能にしているWebアプリケーションサーバに、別ポートも解放してHTTP以外の通信を暗号化してほしいということです。

どうすれば、実現可能なのだろうか。
単純に、Apacheを複数動かせば良いのではないか?
本当にそれで出来るの?調べてみると、実現できそうでした。
もちろん、Apacheのインストーラを使っての作業では無理なので、多少コマンドを叩いてもらい必要があります。

今回使うコマンド(サービスに登録する)
> cd ${Apacheの環境変数}¥bin
> apache -k install -n “${サービス名}” -f “${Apache設定ファイルのディレクトリ}”


今回の作業としては、下記のことをしました。
① c:¥Program Files 以下のApacheフォルダをコピーするなりして二つ作成
            例) Program Files --- Apache2.2
                                        |- Apache2.2_copy

    ② httpd.conf の書き換え(今回はsslの設定もあり、httpd-ssl.confも書き換えた)
            ・ポート番号がかぶらないこと
            ・ディレクトリに気をつけること

    ③ サービスに登録
            それぞれのApacheのフォルダ以下のbinに移動して
            > apache -k install -n “Apache2.2_copy” -f “conf/httpd.conf”

    サービスを削除するには、下記のコマンドで良い
            > apache -k uninstall -n “Apache2.2_copy”


    1つのApacheフォルダに、httpd.confの名前だけを変更する方法もあるみたいです。
    (というか、こっちのほうが使われている??)
            apache2.2 --- httpd.conf
                             |- httpd2.conf

            > apache -k install -n “apache_httpd” -f “conf/httpd.conf”
            > apache -k install -n “apache_httpd2” -f “conf/httpd2.conf”


    Apacheを複数起動させる以外にも方法はありそうです。
    まだまだApacheを分かってないので、これから学んでいきます。

    0 件のコメント:

    コメントを投稿