ubuntu Intrepid Ibex 8.10 上に opnejdk6 + tomcat6 で jsp な環境
[目標]
ubuntu Intrepid Ibex 8.10 上に opnejdk6 + tomcat6 な環境をつくる
apache2とtomcat6はproxy proxy_ajpで連携させる
2009-june-18 UPDATE
[環境]
Ubuntu Intrepid Ibex 8.10
VirtualBox 2.1.x
USB 104Key (US)
Apache2はインストール済み
ipaddress:hoge.fuga.fugu.fugo
[したこと]
1. インストール
[OpenJDK6]
$ sudo apt-get install openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib openjdk-6-jdk openjdk-6-doc openjdk-6-demo
[Tomcat6]
$ sudo apt-get install tomcat6
$ sudo apt-get install tomcat6-admin tomcat6-webapps
2. Tomcat6 の設定
環境変数の設定
$ sudo vi /etc/default/tomcat6
#TOMCAT6_USER=tomcat6 # 修正前
TOMCAT6_USER=tomcat6 # 修正後
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk # 修正前 ここ"コメントアウト解除だけだ"と誤解しやすい
JAVA_HOME=/usr/lib/jvm/java-6-openjdk # 修正後
#CATALINA_BASE=/var/lib/tomcat6 # 修正前
CATALINA_BASE=/var/lib/tomcat6 # 修正後
server.xmlの編集
$ sudo vi /etc/tomcat6/server.xml
コメントアウトされている部分を有効にする
<Connector port="8009" protocol="AJP/1.3" redirectPort"8443" />
tomcat-users.xmlの編集
$ sudo vi /etc/tomcat6/tomcat-users.xml
以下のようにコメントアウトされている
本番時はパスワードなど変更する
<!--
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
-->
コメントアウトされている部分を有効にする
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
admin managerを使う場合は追加する
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin"/> #追加
<role rolename="manager"/>#追加
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin" roles="admin,manager"/> #追加
</tomcat-users>
3.Apache2の設定
proxy proxy_ajpの有効化
$ sudo a2enmod proxy
$ sudo a2enmod proxy_ajp
Apache2の設定
/etc/apache2/cconf.d/tomcat を作成して jsp-test jsp-sample のある場所をApacheに指示する
$ sudo vi /etc/apache2/conf.d/tomcat
----------追加開始----------
<Location /jsp-test/>
ProxyPass ajp://localhost:8009/jsp-test/
Order allow,deny
Allow from All
</Location>
<Location /jsp-sample/>
ProxyPass ajp://localhost:8009/jsp-sample/
Order allow,deny
Allow from All
</Location>
----------追加終了----------
4. 自作jspの置き場を作る
/var/lib/tomcat6/conf/Catalina/localhost/jsp-test.xml を編集してjsp-testのある場所をtomcatに指示する
$ sudo mkdir /usr/share/tomcat6/webapps/jsp-test
$ sudo cp -r /usr/share/tomcat6/webapps/default_root/META-INF /usr/share/tomcat6/webapps/jsp-test/META-INF
$ sudo vi /var/lib/tomcat6/conf/Catalina/localhost/jsp-test.xml
<Context path="/jsp-test" docBase="/usr/share/tomcat6/webapps/jsp-test" debug="0" privileged="true" allowLinking="true">
</Context>
$ sudo ln -s /var/lib/tomcat6/conf/Catalina/localhost/jsp-test.xml /usr/share/tomcat6/webapps/jsp-test.xml
テスト用jspを置いてみる
$ sudo vi /usr/share/tomcat6/webapps/jsp-test.xml/hello.jsp
--------script-start--------
<html>
<head>
<title>Hello World JSP</title>
</head>
<body>
<%
String s= "Hello World";
out.println(s);
%>
</body>
</html>
---------script-end---------
/usr/share/tomcat6/webapps/jsp-sample.xml を編集してjsp-sampleのある場所をtomcatに指示する
$ sudo mkdir /var/www/jsp-sample
$ sudo cp -r /usr/share/tomcat6/webapps/default_root/META-INF /var/www/jsp-sample/META-INF
$ sudo vi /var/lib/tomcat6/conf/Catalina/localhost/jsp-sample.xml
<Context path="/jsp-sample.xml" docBase="/var/www/jsp-sample" debug="0" privileged="true" allowLinking="true">
</Context>
テスト用jspを置いてみる
$ sudo vi /var/www/jsp-sample/hello.jsp
--------script-start--------
<html>
<head>
<title>Hello World JSP</title>
</head>
<body>
<%
String s= "Hello World";
out.println(s);
%>
</body>
</html>
---------script-end---------
tomcat Apache2の順番で 再起動
$ sudo /etc/init.d/tomcat6 restart
$ sudo /etc/init.d/apache2 restart
アクセスしてみる
http://hoge.fuga.fugu.fugo:8080/
http://hoge.fuga.fugu.fugo/jsp-test/hello.jsp
http://hoge.fuga.fugu.fugo/jsp-samplet/hello.jsp
[注意]
JAVA_HOMEの修正忘れ
"コメントアウトを解除すればよいだけだ"と見間違えた
修正前
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
修正後
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
jspを実行するディレクトリにはMETA-INFが必要
5.5のときはMETA-INFが必要なかった
6はMETA-INFが必要
default_rootからコピーした
$ sudo cp -r /usr/share/tomcat6/webapps/default_root/META-INF /var/www/jsp-sample/META-INF
5.5では8180だったポートが6では8080に変更
1次情報を読んでいないので、とりあえず動いた状態。間違い、誤解、もっとよい方法があるやも知れない
[参考]
http://powerpower.cocolog-nifty.com/blog/2007/11/ubuntu_tomcat55.html
http://blog.goo.ne.jp/jakaodava/e/829793f4864c2d239586fc536c14bfb7
0 件のコメント:
コメントを投稿