touch: no se puede tocar `/usr/share/tomcat7/logs/catalina.out ': No existe tal archivo o directorio

8

Tengo un problema al iniciar Tomcat desde la terminal. Instalé tomcat usando sudo apt-get install tomcat7, hace unos días. Ahora, cuando lo estoy iniciando con el siguiente comando, aparece el siguiente error:

~/tomcat7/bin$ sudo ./startup.sh

Using CATALINA_BASE:   /usr/share/tomcat7  
Using CATALINA_HOME:   /usr/share/tomcat7  
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp  
Using JRE_HOME:        /usr   
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory  
./catalina.sh: 389: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

No puedo entender lo que salió mal. Pude acceder http://localhost:8080cuando lo instalé. Pero luego, ejecuté el comando para deshabilitar el inicio en el momento del arranque:

sudo update-rc.d tomcat remove

Y ahora no está comenzando en absoluto. :(

Rohit Jain
fuente
¿Estás seguro de que estás ejecutando Tomcat desde los paquetes de Ubuntu? No lo creo ... Parece que has instalado otro desde arriba ( ~/tomcat7¿ en ?) Ya que el de Ubuntu no escribirá archivos de registro /usr/share/tomcat7/logs, sino en /var/logalgún lugar. ¿No querías correr Tomcat como service tomcat start?
gertvdijk
@gertvdijk. ¡Oh querido! Ahora funciona. Parece que Tomcat se instaló como un servicio. Gracias.
Rohit Jain
@gertvdijk. Tengo una pregunta más. Ahora estoy tratando de desplegar un archivo de guerra. Lo copié en - /usr/share/tomcat7/webappsdirectorio. Pero cuando accedo a la página, muestra un error 404. Luego moví el archivo war a - /var/lib/tomcat7/webapps, allí también muestra el mismo error. ¿Cómo desplegaría la guerra? Si quieres, puedo publicarlo como una pregunta diferente.
Rohit Jain
@gertvdijk. Mientras tanto, puede agregar su comentario como respuesta. Lo aceptaré Gracias :)
Rohit Jain
Por favor no haga nuevas preguntas en los comentarios. Haga una nueva pregunta presionando el botón "Preguntar" en la parte superior de la página.
gertvdijk

Respuestas:

5

Cuando se instala utilizando el tomcat7paquete, se pretende que inicie y detenga Tomcat utilizando upstart ( service tomcat start) o el /etc/init.d/tomcatscript. Si lo inicia utilizando el startup.shscript, es probable que sus variables de entorno estén configuradas incorrectamente.

Consulte mi respuesta a su pregunta anterior ( ¿Cómo debo instalar Apache Tomcat 7 para usar con Eclipse? ) Para una mejor manera de instalar Tomcat si no desea ejecutarlo como un servicio.

David Edwards
fuente
Okay. Creo que sería mejor instalar una instancia privada de tomcat. ¿Puedo hacer apt-get purge tomcat7para desinstalar el anterior?
Rohit Jain
@RohitJain No. apt-getadministra los paquetes de Ubuntu, no los archivos que instaló de otra fuente. Consulte el archivo README / INSTALL u otra documentación con la fuente ascendente de la otra instancia que ha instalado. Evite ejecutar software desde la fuente si hay paquetes de Ubuntu disponibles. Como ve, solo está haciendo más difícil administrar su sistema.
gertvdijk
@gertvdijk. Lo instalé usando apt-get install tomcat7solo. ¿Puedo desinstalarlo así en este caso?
Rohit Jain
1

solo crea la carpeta que falta como esta:

sudo mkdir /var/tomcat/logs

luego ejecute tomcat nuevamente así:

sudo sh /opt/apache-tomcat-{version}/bin/startup.sh

El mensaje en sí se explica por sí mismo, si no conoce la jerarquía del sistema de archivos Unix / Linux y cómo funciona, le recomiendo que comience a ver algunos tutoriales.

JulsLyon
fuente
0

En mi caso, me enfrenté a un problema similar y tomcat7 no se iniciaba.
Al parecer, la /var/log/tomcat7carpeta se había eliminado debido al reinicio de la caja ...

Así es como lo arreglé:

rwxrwxrwx 1 root    root      17 Feb 27  2014 logs -> ../../log/tomcat7
/var/log# mkdir tomcat7
/var/log/tomcat7# cd /etc/init.d/
/etc/init.d# ./tomcat7 start
dinbo
fuente