Apache tomcatを起動する
なぜこうもエントリが少ないのか不明だが、Apache Tomcat 6を起動するまでの流れメモ。
バイナリディストリビューションに含まれる、RUNNING.txtに起動手順が書いてあるが、これがサクっとウェブに上がってないのは、なぜだろうか。Javaはネットではラフに取り上げられないのか??
(以下、Running.txtのとおりです)
- Binary Distributionを取得。http://tomcat.apache.org/download-60.cgi
- 適当に展開。($TOMCAT=$(HOME)/Download/apache-tomcatとでもしよう)
- 環境変数を設定。($CATALINA_HOME=$TOMCAT)
- JREがあるか確認。環境変数も大丈夫か、確認。($JAVA_HOMEなど)
- bin/startup.sh、もしくは、bin/catalina.sh start で起動
よし!簡単!
というわけでやってみるも、失敗。
$ echo $CATALINA_HOME /home/xxxxx/D/apache-tomcat-6.0.37 $ bash bin/startup.sh Cannot find bin/catalina.sh The file is absent or does not have execute permission This file is needed to run this program $ bash bin/catalina.sh The BASEDIR environment variable is not defined correctly This environment variable is needed to run this program
おいおい。なんだっていうんだ。とりあえずcatalina.shに実行権限を付与して再実行。
$ bash bin/catalina.sh The BASEDIR environment variable is not defined correctly This environment variable is needed to run this program
catalina.shをながめていき、エラーメッセージで、該当箇所を絞る。
if [ ! -x "$BASEDIR"/bin/setclasspath.sh ]; then if $os400; then # -x will Only work on the os400 if the files are: # 1. owned by the user # 2. owned by the PRIMARY group of the user # this will not work if the user belongs in secondary groups eval else echo "The BASEDIR environment variable is not defined correctly" echo "This environment variable is needed to run this program" exit 1 fi fi
結局、上の箇所が失敗してた。$BASEDIRではなく、setclasspath.shの実行権限がないことが原因ですね。ううむ、、、残念なエラーメッセージ。
$ bash bin/startup.sh Using CATALINA_BASE: /home/xxxx/D/apache-tomcat-6.0.37 Using CATALINA_HOME: /home/xxxx/D/apache-tomcat-6.0.37 Using CATALINA_TMPDIR: /home/xxxx/D/apache-tomcat-6.0.37/temp Using JRE_HOME: /usr/local/jdk1.7.0_40 Using CLASSPATH: /home/xxxx/apache-tomcat-6.0.37/bin/bootstrap.jar
というわけで起動したようです。localhost:8080から確認。無事起動。