Ubuntu 14.04 に Tomcat7 をインストールする際に問題が発生しています。JDK は既にシステム (1.7 バージョン) にインストールされていますが、使用するとapt-get install tomcat7
以下のエラーが発生します。
Setting up tomcat7-common (7.0.52-1ubuntu0.1) ...
Setting up tomcat7 (7.0.52-1ubuntu0.1) ...
Creating config file /etc/default/tomcat7 with new version
Adding system user `tomcat7' (UID 108) ...
Adding new user `tomcat7' (UID 108) with group `tomcat7' ...
Not creating home directory `/usr/share/tomcat7'.
Creating config file /etc/logrotate.d/tomcat7 with new version
* Starting Tomcat servlet engine tomcat7 **[fail]**
私はインターネットで見つけたあらゆる解決策を試しました。例えば、
apt-get purge tomcat7
または を使用して tomcat7 をアンインストールしapt-get autoremove tomcat7
、再度インストールしましたが、同じエラーが発生しました。 :(試してみました
apt-get update
が、tomcat7 を削除して再度インストールしましたが失敗しました。.bashrc
またはに CATALINA パスを設定します/etc/environment
。しかし、うまくいきませんでした。
注記:同じ tomcat7 をローカルの Ubuntu 14.04 サーバーにインストールしましたが、最初の試みで正しくインストールされました。
答え1
パッケージ libtomcat7-Java をインストールすることでこの問題を解決できました。依存関係が不足しているようです。
sudo apt-get install libtomcat7-java
答え2
この問題は理解しています。これは、(a) Tomcat の各部分を異なる FS の場所 (/etc、/var、/usr/lib、/usr/share など) に分割すること、(b) たとえばログや一時ディレクトリに間違った所有権 (= 権限) を割り当てることが原因で発生します。すると、ユーザー tomcat7 は起動時に苦情を書き込むことさえできなくなります。
簡単な解決策は、tomcat.apache.org から tgz をインストールすることです (そして手動で起動します。tc を使用して開発する場合は問題ありません)。もう 1 つの方法は、起動スクリプトを読み取り、更新するディレクトリを調べ、それらの所有権を確認することです。Wasy ハックは、通常書き込みビットを持つグループ root にユーザー tomcat7 を追加することです。
答え3
バイナリ方式(tgz)によるインストールも試しました。その後、Tomcatサービスは正常に動作し、http://My_Ip:8080
動作していますが、/var/log/tomcat/
ログを確認するとエラーが表示されています。
at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask.run(FutureTask.java:262) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Dec 08, 2014 10:12:47 AM org.apache.coyote.AbstractProtocol stop INFO:
Stopping ProtocolHandler ["http-bio-8080"] Dec 08, 2014 10:12:47 AM
org.apache.coyote.AbstractProtocol destroy INFO: Destroying
ProtocolHandler ["http-bio-8080"]
答え4
tomcat8 でも同じ問題が発生しましたが、tomcat8-common を削除することで問題を解決できました。
sudo apt-get purge tomcat8-common
これが同じ問題を抱えている他の人々の助けになることを願っています。