みなさんこんにちは、 masa です。今日は Tomcat をインストールして Apache と連携させることで、アクセスポートを 8080 から 80 へ変更する方法をご紹介します。
まずは yum でTomcat, open-jdk (Javaの開発環境) 等を入れます。
(環境 CentOS 6.6)
yum install tomcat java-1.7.0-openjdk-devel java-1.7.0-openjdk
これで Java 開発環境と Tomcat7 が入りました。
念のため、ajp モジュールが入っているか確認してください。
# httpd -M | grep ajp proxy_ajp_module (shared)
Tomcat のアクセスポートを 8080 から 80 へ変更する
1. /etc/tomcat7/server.xml を以下のように編集
※AJP コネクタの待ち受けポートを 8080 から 8009 へ変更
※AJP コネクタの待ち受けポートを 8080 から 8009 へ変更
------------------------------ <!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> ------------------------------
2. /etc/httpd/conf.d/httpd-proxy.conf を作成し、以下のように記載する
------------------------------ <Location /hoge> #アクセスしたいURLを入力 例)http://ホスト名/hoge ProxyPass ajp://localhost:8009/hoge-file #/var/lib/tomcat7/webapps/ 直下のディレクトリ </Location> //以下の通り複数設定可能 <Location /hoge2> #別のURLを作成して同じディレクトリを見せることも可能 ProxyPass ajp://localhost:8009/hoge-file </Location> ------------------------------
最後に httpd と tomcat を再起動
/etc/init.d/httpd restart /etc/init.d/tomcat7 restart
これで http://ホスト名/hoge にアクセスすると webapps に展開している Javaアプリケーションが見えるはずです。
いかがでしたか?この他にも iptables で 8080 → 80 へポートフォワードする方法もあります。その方が都合が良い方は調べてみてくださいね。