以下の手順に従って、Lucid に tomcat6 をインストールしました。Ubuntu 10.04 のサーバーガイド
(インスタンス レベルのバージョンは作成しませんでした。システム レベルのバージョンで問題ありませんでした)
起動しようとすると、ログに次のエラーが表示されました。
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:216)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391)
この問題は、次の操作を行うことで解決しました。
root@...:/var/lib/tomcat6# ln -s /usr/share/java lib
なぜこれをやらなければならなかったのか?なぜ箱から出してすぐには動かないのか?(なぜこれがTomcat 上の Ubuntu マニュアル?)
答え1
Tomcat のインストール:
sudo apt-get install tomcat6
Tomcat をサービスとしてインストールして起動すれば問題ありません。サービスは次のコマンドで開始および停止できます。
sudo /etc/init.d/tomcat6 start
sudo /etc/init.d/tomcat6 stop
http://localhost:8080/
ブラウザを使用するか、コマンド ラインから を表示することで、サービスが実行されているかどうかを確認できます。
curl http://localhost:8080/
これがすぐに動作しない場合は、マシンの設定方法、または Tomcat サービスの実行方法に問題がある可能性があります。
/etc/init.d/tomcat6 スクリプト以外の方法で Tomcat を実行しようとすると、複雑な問題が発生する可能性があります。Tomcat ディストリビューションとファイルの場所を定義する環境変数は 2 つあります。CATALINA_HOME と CATALINA_BASE です。パッケージの標準インストールでは、これらは init.d スクリプトによって自動的に次のように設定されます。
CATALINA_HOME=/usr/share/tomcat6
CATALINA_BASE=/var/lib/tomcat6
Tomcat を他の方法で実行しようとしている場合、これらの変数が正しく設定されていない可能性があり、その結果、説明しているエラーが発生する可能性があります。
パッケージ化されたTomcatサーバーは、サーバー上でTomcatをバックグラウンドサービスとして実行するために設計されており、init.dスクリプトを使用してのみ起動および停止する必要があります。開発マシンでTomcatを実行しようとしている場合(たとえば、EclipseなどのIDEから)、パッケージがTomcatをインストールする方法は適切ではないことがわかります。代わりに、説明書サーバーのマニュアルまたはダウンロード中Tomcat Web サイトから直接ダウンロードし、手動で抽出します。