XAMPPを使用してApache+Tomcatの環境を作成する。(XAMPPのバージョンは1.7.3)
手順
- XAMPPをインストールする。インストーラを落として実行するだけなので省略。
- XAMPPアドオンをインストールする。Tomcatは「xamppインストールフォルダ\tomcat\」以下にインストールされる。
- 「XAMPP Control Panel」から「Apache」と「Tomcat」を起動。ちなみにTomcatをスタンドアロンで動かしたい場合は「Tomcat」のみを起動する(デフォルトではポート番号は8080になっている)。
- おわり
まさか!これで終わり!?
「 http://localhost/examples/ 」にアクセスすると、「 http://localhost:8080/examples/ 」と同様の画面が表示されるようになっている。確かに連携されている。…いや、「examples」だけ特別に連携する設定がされているのかもしれない。
ためしに「xamppインストールフォルダ\tomcat\webapps\」に「unko」というフォルダを用意し、サンプルとして「index.jsp」を設置。内容は以下。
1 |
しかる後「 http://localhost/unko/ 」にアクセスしてみたが、やはりちゃんと表示されていた。こりゃすごい。当然、ポート8080(Tomcatスタンドアロン)を指定しても同様に表示される。
Tomcat起動時に「xamppインストールフォルダ/tomcat/conf/auto/mod_jk.conf」を自動で上書きしているため、こういうことになっているようだ。このファイルをApacheで読み込む設定になっている。
Tomcatのポートを塞ぐ
ところで、このままではApacheとの連携はできてはいるが8080番ポートでもアクセスできてしまう。Tomcatの8080を塞ぐ場合は、「xamppインストールフォルダ\tomcat\conf\server.xml」の、以下の記述をコメントアウトすればよい。
1 |
バーチャルホストの設定 その1
前述の「xamppインストールフォルダ\tomcat\conf\auto\mod_jk.conf」は、デフォルトではlocalhost用の設定しかされていない。以下のような設定があるはずなので…
1 |
これをコピーし、ホスト名の部分を書き換え、公開するWebアプリの記述だけを残したものを、Apache側の設定ファイルである「xamppインストールフォルダ\apache\conf\extra\httpd-vhosts.conf」に書き足す。
1 |
そうすることで外部からアクセスしたときにもWebアプリが表示されるようになる。
バーチャルホストの設定 その2
URLのルートにWebアプリを表示したい場合は、上記その1のことは無かったことにする。
- 「xamppインストールフォルダ\apache\conf\httpd.conf」を開き、以下のコメントアウトを解除する。1
- 「xamppインストールフォルダ\apache\conf\extra\httpd-vhosts.conf」に以下の設定を追加。1
これでOK。
もしくは、C:\xampp\tomcat\webapps 以下のフォルダを全部消し、C:\xampp\tomcat\webapps\ROOT に対象のアプリを設定する。TomcatのROOTは「/ROOT」というコンテキスト名ではなくルートコンテキストを示すため。
追記
XAMPP 1.7.3 の時は上記の通りだったが、1.7.4ではアドオンなしで最初からTomcat 7.0.3もインストールされるようになった。でも、XAMPP Control PanelからTomcat開始・終了のボタンが消えた。
サービスの登録(管理者権限で行うこと)
1 |
サービスの解除(同上)
1 |
追記2
1.8.1を入れてみたところControl PanelにTomcatが復活していた。



