Ubuntu 14.04에서 apt-get을 통해 Tomcat7 설치에 실패했습니다.

Ubuntu 14.04에서 apt-get을 통해 Tomcat7 설치에 실패했습니다.

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]**

다음과 같이 인터넷에서 찾을 수 있는 모든 솔루션을 시도했습니다.

  1. apt-get purge tomcat7또는를 사용하여 tomcat7을 제거하고 apt-get autoremove tomcat7다시 설치했지만 동일한 오류가 발생했습니다. :(

  2. 시도하고 apt-get updatetomcat7을 제거하고 다시 설치했지만 실패했습니다.

  3. .bashrc또는 에서 CATALINA 경로를 설정합니다 /etc/environment. 하지만 운이 없었습니다.

메모:로컬 Ubuntu 14.04 서버에 동일한 tomcat7을 설치했으며 첫 번째 시도에서 올바르게 설치되었습니다.

답변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로 개발하는 경우 괜찮습니다). 또 다른 방법은 시작 스크립트를 읽고, 어떤 디렉토리가 업데이트되는지 알아보고, 소유권을 확인하는 것입니다. Wasy 해킹은 일반적으로 쓰기 비트가 있는 그룹 루트에 사용자 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

이것이 같은 문제를 겪고 있는 다른 사람들에게 도움이 되기를 바랍니다.

관련 정보