2012-07-22 13 views
11

Estaba comenzando el desarrollo web de JAVA hoy y encontré algunos problemas, instalé mi tomcat7 en mi máquina ubuntu. Ahora cuando navego a // localhost: 8080, aparece la página de bienvenida predeterminada que dice:No puedo poner nada en/var/lib/tomcat7/webapps/

Esta es la página de inicio predeterminada de Tomcat. Se puede encontrar en el sistema de archivos local en: /var/lib/tomcat7/webapps/ROOT/index.html

veteranos Tomcat7 podría ser satisfechos al saber que esta instancia de sistema de Tomcat se instala con CATALINA_HOME en /usr/share/tomcat7 y CATALINA_BASE en /var/lib/tomcat7, siguiendo las reglas de /usr/share/doc/tomcat7-common/RUNNING.txt.gz.

Pero extrañamente cuando intento echo $CATALINA_HOME no aparece nada. Además, no puedo copiar/crear nada en el valor predeterminado/var/lib/tomcat7/ROOT aunque solo es cuestión de proporcionar algunos permisos, pero me preguntaba si es la forma correcta de hacerlo,

Lo que Me gustaría hacer es crear un directorio separado en mi casa donde puedo poner mi aplicación web y Tomcat puede leer el dobladillo desde allí. ¿Hay una manera de hacerlo? En apache puedo hacerlo cambiando la raíz y el directorio del documento, pero no sé cómo hacerlo para tomcat

+0

¿Te comprobar su '' .bashrc' si se define CATALINA_HOME'? –

+2

Si instaló tomcat usando 'apt-get', podría considerar eliminarlo y [usar la versión independiente de tomcat] (http://stackoverflow.com/questions/1567597/tomcat-on-linux-centos-incorrect-java -version/1568390 # 1568390), que puede extraer en su directorio $ HOME o en otro lugar conveniente. –

+0

¿Por qué quiere copiar algo en la carpeta ROOT? para implementar una aplicación simplemente cópiela a la carpeta webapps, o use el administrador de Tomcat. – Tomer

Respuesta

10

Pero, curiosamente, cuando intento echo $ CATALINA_HOME no aparece nada.

Esto se debe a que la versión empaquetada establece CATALINA_HOME justo antes de iniciar Tomcat, después de leerlo desde un archivo de configuración (generalmente en algún lugar de/etc).

También no puedo copiar/crear cualquier cosa en el defecto /var/lib/tomcat7/ROOT pesar de que es sólo una cuestión de proporcionar unos permisos pero me preguntaba si es la forma correcta de hacerlo?

El problema de permisos tiene que ver con no ser root (o el usuario Tomcat). La mayoría de las instalaciones empaquetadas de Tomcat (deb o RPM) tienden a instalarse con un usuario específico en mente, y copiar cosas de manera diferente a veces no funcionará.

/usr/share/tomcat7 es su directorio CATALINA_HOME, y tiene enlaces a los otros directorios, tales como /var/lib/tomcat7/webapps, /etc/tomcat7, etc. No debe copiar directamente en una aplicación web, debe empaquetar la aplicación web en un archivo WAR y " desplegarlo. Las ventajas son numerosas.

Lo que me gustaría hacer es crear un directorio independiente en mi casa donde puedo poner mi aplicación web y Tomcat puede leer dobladillo a partir de ahí. ¿Hay alguna manera de hacerlo?

Sí, se crea uno al "implementar una aplicación web". Consulte la documentación estándar de Tomcat7, y considere instalar la aplicación web "manager" si le gusta una interfaz de línea que no sea de comando. Ahora que sabes qué se llama "instalación" de una aplicación web, es probable que sea una tarea más fácil.

en Apache puedo hacerlo cambiando el documento raíz y el directorio, pero no sé cómo hacerlo para Tomcat

Tomcat tiene un conjunto diferente, un poco más restrictivo de los requisitos para una raíz de documento. Debes aprenderlo y aceptar la idea de que nunca volverá a ser lo mismo. Básicamente, bajo el directorio "webapps", se encuentra un archivo WAR o un directorio expandido que proviene de un archivo WAR. La edición in situ no es una buena idea para Tomcat, ya que los equivalentes CGI no se leen desde el disco cada vez que se ejecutan, sino que están vinculados en la memoria de Tomcat. Esto significa que un cambio en el directorio puede no afectar su aplicación web, que es razón suficiente para no molestarse en cambiar los archivos en disco para una aplicación web implementada.

Modifique la aplicación web, vuelva a empaquetarla y actualice la implementación. Es realmente la forma "correcta" de ir con Tomcat.

+0

Gracias por los detalles ... mientras eliminé tomcat, descargué un alquitrán y lo descomprimí en mi carpeta de inicio, después de agregar algunos enlaces simbólicos, puedo repararlo incluso con eclipse ... funciona perfectamente desde allí (al menos hasta ahora) ... ¿Crees que podría tener algunos problemas más adelante? ... ¿o por qué esta no es la manera correcta de hacerlo? – Sudh

+0

El tipo de problemas con los que se encontrará serán los tipos de problemas que preocupan a la administración de TI, no los tipos de problemas que preocupan a los desarrolladores. Básicamente, el registro no está integrado con el resto del sistema operativo, el inicio/apagado no está integrado con el sistema operativo, los archivos de configuración no están donde el sistema operativo almacena los archivos de configuración, los binarios no son accesibles por defecto por el sistema operativo, no hay ningún dedicado usuario para limitar el alcance del sistema operativo, las bibliotecas no están integradas con las bibliotecas del sistema operativo, y el espacio temporal no está dentro del espacio temporal reservado por el sistema operativo. Su configuración está bien para el desarrollo, simplemente no despliegue de esa manera –

5

Conceder permisos 777 a la carpeta web raíz

sudo chmod -R 777 Webroot 

Después de mover a la carpeta Tomcat

+5

'sudo chmod -R 777/var/lib/tomcat7/webapps' – vanguard69