¿Cómo instalar Tomcat7 en Ubuntu 14.04 LTS?

9

Si estoy apt-get install tomcat7instalando un tomcat7 roto. Un simple startup.sh me dará errores, que cuando se corrige dice que Tomcat ha comenzado pero no aparece nada en localhost: 8080. shutdown.sh me dará errores e incluso arrojará excepciones Java. Esto no estaba sucediendo en alguna versión anterior de Ubuntu, donde simplemente funcionó. Por lo tanto, parece que el paquete Tomcat no se ha mantenido últimamente.

Puedo hacer que funcione desde Eclipse (que, por cierto, tampoco se ha mantenido correctamente) cuando estoy probando mi aplicación web. Sin embargo, hay cosas que necesito probar en una instalación independiente de Tomcat. Hasta ahora, Google no ha ayudado.

¿Alguno de ustedes logró instalar correctamente tomcat7 en Ubuntu 14.4LTS? Si es así, ¿puedes señalarme en la dirección correcta?

Editar:

Aquí hay algunos registros.

Tomcat inicial:

$ sudo /usr/share/tomcat7/bin/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
Tomcat started.

Navegando a localhost:8080(y http://127.0.0.1:8080, http://127.0.0.1, http://[my network ip here]):

Oops! Google Chrome could not connect to localhost:8080

Detener tomcat también falla:

$ sudo /usr/share/tomcat7/bin/shutdown.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
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.io.FileNotFoundException: /usr/share/tomcat7/conf/server.xml (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:466)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)
Juan garcia
fuente
¿podría publicar la salida startup.sh y shutdown.sh?
Lety
55
¿Qué se entiende por apt-get install tomcat7instalar tomcat7 roto ?
Pandya
1
Lamentablemente no hay suficientes detalles aquí. ¿Qué te hace pensar exactamente que Tomcat7 está roto de los repositorios? ¿Qué síntomas sugieren esto?
Thomas Ward
Publique los registros de error. Y también: ¿qué significa 'pero nada aparece en localhost: 8080' significa? página vacía? página de error de conexión? 404?
eddieferetro
1
@Pandya por roto quiero decir que apt-get está instalando un paquete que no funciona. No se puede configurar, no actualizar, incompleto, con errores ...
Juan Garcia

Respuestas:

3

Creo que su CATALINA_BASE es incorrecta, se queda sin el directorio / var / lib / tomcat7 y CATALINA_HOME es correcta en cuanto a cómo ha declarado la variable. Agregue CATALINA_HOME y CATALINA_BASE a / etc / default / tomcat7 junto con JAVA_HOME y JRE_HOME. Ese ejecutable notifica al servlet tomcat de cómo se configura el entorno al iniciar el servlet.

También podría considerarse colocarlos en / etc / profile y luego exportarlos a /etc/bash.bashrc (es decir, exportar CATALINA_HOME). Esto solo debe hacerse si y solo si su sitio no tiene inicio de sesión o registro de usuario. Sin exportar las variables, aún se declararían localmente.

Para declarar globalmente las variables como un enfoque, si usted es el administrador (grupo 4, es posible que también desee pensar en mover syslog al grupo 37, purgar rsyslog y simplemente mantener el demonio ejecutándose para los registros también para preservar el control de acceso obligatorio) podría meditar la creación de un archivo ~ / .bash_completion o ~ / .bash_expert en su directorio de inicio donde tiene algo como esto:

# ~/.bash_expert in regards to servlet alias
if [ -f /etc/bash_completion.d/.tomservlet ]; then
    . /etc/bash_completion.d/.tomservlet
fi
export CATALINA_HOME
export CATALINA_BASE
export JRE_HOME
export JAVA_HOME

Luego cree el archivo .tomservlet en /etc/bash_completion.d/.tomservlet y agregue lo siguiente:

CATALINA_HOME=/usr/share/tomcat7
CATALINA_BASE=/var/lib/tomcat7
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
JRE_HOME=$JAVA_HOME:/jre

Una vez que se haya completado, agregue las siguientes líneas a ~ / .bashrc

if [ -f "$HOME/.bash_expert" ];then
    . "$HOME/.bash_expert"
fi

Luego obtenga el archivo ~ / .bashrc como se muestra a continuación:

:~$ source .bashrc

y eso debería solucionar sus problemas de manera segura, sin importar qué tipo de interacción con el cliente tenga lugar. (No me aferres a eso, nunca se sabe lo que los marcianos acechan en el ciberespacio, a veces puede ser un reino aterrador).

PD: anteriormente me refería al oracle-sun jdk7 o supongo que es solo Oracle Jdk7, por lo que si está utilizando Open Jdk, reemplácelo según sea necesario, si usa el oráculo, vuelva al archivo /etc/init.d/tomcat y cambie openjdk a su versión donde el script se refiere a "$ OPENJDK". Esto también supone que lo instaló desde los repositorios.

Buena suerte, y que tu gato ronronee !!

oOpSgEo
fuente
qué hacer si localhost: 8080 funciona bien pero server_IP_address: 8080 no ... el procedimiento anterior funcionará .....
Ashwani Kumar Rahul
8

Intenté esto en un recipiente nuevo:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Parece solucionar el problema en mi caso.

Editar: dpkg-reconfigure reemplazará su configuración personalizada para tomcat7 con la configuración predeterminada del administrador de paquetes o, cuando se proporcione, presentará un menú para personalizar.

usuario283885
fuente
Intenté esto, no me arregló el error tristemente. Rompió mi instalación también, vincula excepciones, etc.
John Little
Debería haber agregado que la reconfiguración reemplaza los archivos personalizados con los valores predeterminados del administrador de paquetes para el paquete dado.
user283885
2
  1. Descargue el tomcat oficial de su sitio web

    wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.zip
    
  2. Descomprimirlo

    unzip apache-tomcat-7.0.54.zip       
    
  3. Asegúrese de tener Java instalado y JAVA_HOME definido

  4. Comience su gato.

LnxSlck
fuente
0

Intenta lanzarlo como un servicio con service tomcat7 start.

Lo he intentado en mi local (ubuntu 14.04) y funciona. Me dio un problema con de JAVA_HOME, pero lo solucioné de esta manera y funciona:

1- Editar el archivo de configuración de tomcat:

vim /etc/default/tomcat7

2- Busca la línea JAVA_HOME (está comentada) y pon algo como:

JAVA_HOME=/usr/lib/jvm/<your-jvm>

Educación física:

JAVA_HOME=/usr/lib/jvm/java-7-oracle

Guarde e inicie tomcat como un servicio:

root@skynet:/etc/init.d# service tomcat7 start
 * Starting Tomcat servlet engine tomcat7  

y

root@skynet:/etc/init.d# service tomcat7 stop
 * Stopping Tomcat servlet engine tomcat7
eddieferetro
fuente
0

instalando eclipse & defult jdk & git

$ sudo apt-get eclipse
$ sudo apt-get eclipse-jdt
$ sudo apt-get eclipse-pde
$ sudo apt-get eclipse-platform
$ sudo apt-get eclipse-rcp

$ sudo apt-get install default-jdk
$ sudo apt-get install ant git

estoy usando ssh porque es una máquina virtual 'para la prueba'
1 descargue el archivo 'tomcat7.0 apache download'

$ wget http://apache.claz.org/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz

2 extraerlo ls

$ sudo tar -xvf apache-tomcat-7.0.54.tar.gz

3 hacer dir en

$ sudo mkdir /usr/local/tomcat7

4 mover el archivo al directorio

$ mv apache-tomcat-7.0.54 /usr/local/tomcat7

5 instalación

$ cd /usr/local/tomcat7/apache-tomcat-7.0.54
$ sudo ln -s /var/lib/tomcat/conf conf
$ sudo ln -s /etc/tomcat7/policy.d/03catalina.policy/conf/catalina.policy
$ sudo ln -s /var/log/tomcat7 log
$ sudo chmor -R 777 /usr/local/tomcat7/apach*/conf

6 configuración ahora vamos al escritorio de ubuntu

Lunch eclipse => window => Preferences => Server => Runtime Envirenment


seleccione la versión busque el directorio => terminar

$ cd ../../apach*/bin
$ ls -la 

apágalo

$ sudo ./shutdown.sh

hagamos una prueba

eclipse => file => new => other... => web project

doulble click it => right click web content => test.htm 

<html>
<head>
<title> testing tomcat7 & eclipse</title>
</head>
<h2>Job's Done !</h2>

click on 'no servers are ....' => tomcat version => next => add to configured 
menu => run => run as => fninish
localhost:8080/test/test.htm
localhost:8080/project name/page name

Video tutorial: ' http://www.youtube.com/watch?v=n5joqK07-NE '

hwez
fuente
La $ sudo service tomcat7 restartsalida estomcat7: unrecognized service
Juan García
$ cd / opt / local / tomcat7 / bin $ ls encontrará un archivo de script de shell. No estoy exactamente seguro del nombre, podría reiniciarlo. luego cierre y comience nuevamente por $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez
/ opt / local / tomcat7 / bin no existe, está bajo / usr / share / tomcat7 / bin. startup.sh dijo que tomcat ha comenzado pero que el navegador no puede ver nada en localhost: 8080 (intentando con ip local también). shutdown.sh muestra advertencias y lanza una excepción. Actualizaré la pregunta con el registro
Juan García
Actualización: He publicado mis registros
Juan García
/ opt / tomcat / bin o / opt / tomcat7 o / etc / tomcat7 o / etc / tomcat si no lo encuentra cd / opt; ls -lh && cd / etc; ls -ls poner en pastebin y comentar que voy a instalar tocat7 y comprobarlo por usted
hwez
0

No tuve problemas para instalar y ejecutar Tomcat 7 en Ubuntu 14.04 LTS. Solo para asegurarme, busqué el historial de bash. Tenga en cuenta que instalé Oracle Java por primera vez (en caso de que haga una diferencia)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

entonces Tomcat

sudo apt-get install tomcat7

El comando

sudo service tomcat7 restart

da

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
atmelino
fuente