StoryEdit 開発日誌

ウェブアプリ StoryEditを作ってましたが延期。普通のブログ。

Apache tomcatを起動する

なぜこうもエントリが少ないのか不明だが、Apache Tomcat 6を起動するまでの流れメモ。

バイナリディストリビューションに含まれる、RUNNING.txtに起動手順が書いてあるが、これがサクっとウェブに上がってないのは、なぜだろうか。Javaはネットではラフに取り上げられないのか??


(以下、Running.txtのとおりです)

  1. Binary Distributionを取得。http://tomcat.apache.org/download-60.cgi
  2. 適当に展開。($TOMCAT=$(HOME)/Download/apache-tomcatとでもしよう)
  3. 環境変数を設定。($CATALINA_HOME=$TOMCAT)
  4. JREがあるか確認。環境変数も大丈夫か、確認。($JAVA_HOMEなど)
  5. 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から確認。無事起動。