martes, junio 26, 2012

Instalar Tomcat 7 y Java Rockit en Centos.


Lunes Feb 28, 2011


En este post, vamos a instalar Tomcat 7, el nuevo JDK 7, configurar Tomcat como un servicio, cree un inicio / parada guión, y (opcionalmente) configurar Tomcat para funcionar bajo un usuario no root.También vamos a configurar el acceso básico al Administrador de Tomcat y echar un vistazo rápido a la gestión de memoria utilizando JAVA_OPTSPara esta instalación, usaremos Tomcat 7.0.23, la versión estable actual de Tomcat 7.Para empezar, tendrá que instalar el Java Development Kit (JDK) 7JDK 1.6 es la versión mínima de JDK para Tomcat 7.
Paso 1: Instale el JDK 1.7.0

Puede descargar la última versión del JDK aquí:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Otra Pagina de Java: Java Rockit

Vamos a instalar la última versión del JDK, que es JDK 7, Update 1. El JDK es específico de 32 y 64 bits.Mi caja de CentOS es de 64 bits, así que voy a necesitar: jdk-7u2-linux-x64.tar.gz.Si usted está en 32 bits, necesitará: jdk-7u2-linux-i586.tar.gzDescargar el JDK y guárdelo en un directorio. Lo estoy guardando en / root.Crear un nuevo directorio / usr / java.

  1. [root@srv6 ~]# mkdir /usr/java    

Cambie al directorio / usr / java directorio que hemos creado

  1. [root@srv6 ~]# cd /usr/java    
  2. [root@srv6 java ]#   


Mover o copiar jdk-7u2-linux-x64.tar.gz al directorio / usr / java:


  1. [root@srv6 java]# mv jdk-7u2-linux-x64.tar.gz /usr/java/jdk-7u2-linux-x64.tar.gz    


Desepaquete Jdk-7u2-linux-x64.tar.gz en el directorio / usr / java archivo con tar-xzf:
  1. [root@srv6 java]# tar -xzf jdk-7u2-linux-x64.tar.gz  
Esto creará el directorio / usr/java/jdk1.7.0
  1. [root@srv6 ~]# cd /usr/java  
  2. [root@srv6 java]# ls  
  3. jdk1.7.0_02  

Establecer la ruta JAVA_HOME. Aquí es donde tenemos instalado nuestro JDK anterior.Para su instalación para la sesión actual, puede dictar lo siguiente de la CLI:
  1. [root@srv6 java]# JAVA_HOME=/usr/java/jdk1.7.0_02  
  2. [root@srv6 java]# export JAVA_HOME  
  3. [root@srv6 java]# PATH=$JAVA_HOME/bin:$PATH  
  4. [root@srv6 java]# export PATH  

Para establecer el JAVA_HOME permanentemente, añadir a continuación a cualquiera de los ~ /. Bashrc o ~ /. Bash_profile del usuario (en este caso, la raíz).También podemos añadir que el archivo / etc / profile y luego a dar origen a todos los usuarios.
  1. JAVA_HOME=/usr/java/jdk1.7.0_02  
  2. export JAVA_HOME  
  3. PATH=$JAVA_HOME/bin:$PATH  
  4. export PATH  
Una vez que haya añadido los anteriores a ~ /. Bashrc bash_profile o ~ /., Debe cerrar la sesión, vuelva a iniciarla y comprobar que el JAVA_HOME están correctamente ajustadas.
  1. [root@srv6 ~]#  echo $JAVA_HOME  
  2. /usr/java/jdk1.7.0_02  


Paso 2: Descargar y descomprimir Tomcat 7.0.23



Descargar apache-tomcat-7.0.23.tar.gz Desde esta URL
Guarde el archivo en un directorio. Me estoy guardando a / root/apache-tomcat-7.0.23.tar.gzAntes de continuar, debe verificar la suma de comprobación MD5 para la descarga Tomcat (o cualquier otra descarga).Como nos salvó la descarga Tomcat / root/apache-tomcat-7.0.23.tar.gz, vamos a ir al directorio / root y utilice el comando md5sum
  1. [root@srv6 ~]# md5sum apache-tomcat-7.0.23.tar.gz  
  2. d8dcd5fb07dd1769d571fdabade9cc68 *apache-tomcat-7.0.23.tar.gz  

Comparar la salida anterior a la suma de verificación MD5
Revisar desde aqui para Apache Tomcat MD5 y asegurarse de que coinciden exactamente

Ahora, mueva (mv) o copia (cp) el archivo en el directorio / usr / share:
  1. [root@srv6 ~]# mv apache-tomcat-7.0.23.tar.gz /usr/share/apache-tomcat-7.0.23.tar.gz  
Sitúese en el directorio / usr / share y descomprimir el archivo con tar-xzf:
  1. [root@srv6 ~]# cd /usr/share  
  2. [root@srv6 share ]# tar -xzf apache-tomcat-7.0.23.tar.gz    
Esto creará el directorio / usr/share/apache-tomcat-7.0.23
Paso 3: Configurar Tomcat para ejecutar como un servicio.



Ahora vamos a ver cómo ejecutar Tomcat como un servicio y crear un inicio simple / Parar / Reiniciar secuencia de comandos, así como para iniciar Tomcat en el arranque.Cambie al directorio / etc / init.d y crear un script llamado 'gato', como se muestra a continuación.
  1. [root@srv6 share]# cd /etc/init.d  
  2. [root@srv6 init.d]# vi tomcat  
Y aquí está el script que va a utilizar.

  1. #!/bin/bash  
  2. # description: Tomcat Start Stop Restart  
  3. # processname: tomcat  
  4. # chkconfig: 234 20 80  
  5. JAVA_HOME=/usr/java/jdk1.7.0_02  
  6. export JAVA_HOME  
  7. PATH=$JAVA_HOME/bin:$PATH  
  8. export PATH  
  9. CATALINA_HOME=/usr/share/apache-tomcat-7.0.23  
  10.   
  11. case $1 in  
  12. start)  
  13. sh $CATALINA_HOME/bin/startup.sh  
  14. ;;   
  15. stop)     
  16. sh $CATALINA_HOME/bin/shutdown.sh  
  17. ;;   
  18. restart)  
  19. sh $CATALINA_HOME/bin/shutdown.sh  
  20. sh $CATALINA_HOME/bin/startup.sh  
  21. ;;   
  22. esac      
  23. exit 0  
El script anterior es simple y contiene todos los elementos básicos que necesita para ponerse en marcha.Como se puede ver, simplemente estamos llamando a los guiones y startup.sh shutdown.sh ubicados en el directorio bin de Tomcat (/ usr/share/apache-tomcat-7.0.23/bin).Se puede ajustar la secuencia de comandos de acuerdo a sus necesidades y, en los puestos siguientes, vamos a ver más ejemplos.CATALINA_HOME es el directorio inicial de Tomcat (/ usr/share/apache-tomcat-7.0.23)Ahora, establecer los permisos para la secuencia de comandos para que sea ejecutable:
  1. [root@srv6 init.d]# chmod 755 tomcat  
Ahora usamos la utilidad chkconfig para que arranque Tomcat en el arranque. En mi script de arriba, estoy usando chkconfig: 234 20 80. 2345 son los niveles de ejecución y el 20 y 80 de la parada de inicio y las prioridades respectivamente. Se puede ajustar según sea necesario.

  1. [root@srv6 init.d]# chkconfig --add tomcat  
  2. [root@srv6 init.d]# chkconfig --level 234 tomcat on  
Compruebe que:
  1. [root@srv6 init.d]# chkconfig --list tomcat  
  2. tomcat          0:off   1:off   2:on    3:on    4:on    5:off   6:off  
Ahora, vamos a probar nuestro script.Inicie Tomcat:
  1. [root@srv6 ~]# service tomcat start  
  2. Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.23  
  3. Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.23  
  4. Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.23/temp  
  5. Using JRE_HOME:        /usr/java/jdk1.7.0_02  
  6. Using CLASSPATH:       /usr/share/apache-tomcat-7.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.23/bin/tomcat-juli.jar  
Detenga Tomcat:

  1. [root@srv6 ~]# service tomcat stop  
  2. Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.23  
  3. Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.23  
  4. Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.23/temp  
  5. Using JRE_HOME:        /usr/java/jdk1.7.0_02  
  6. Using CLASSPATH:       /usr/share/apache-tomcat-7.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.23/bin/tomcat-juli.jar  
Reiniciar Tomcat (debe ser iniciado primero):

  1. [root@srv6 ~]# service tomcat restart  
  2. Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.23  
  3. Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.23  
  4. Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.23/temp  
  5. Using JRE_HOME:        /usr/java/jdk1.7.0_02  
  6. Using CLASSPATH:       /usr/share/apache-tomcat-7.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.23/bin/tomcat-juli.jar  
  7. Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.23  
  8. Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.23  
  9. Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.23/temp  
  10. Using JRE_HOME:        /usr/java/jdk1.7.0_02  
  11. Using CLASSPATH:       /usr/share/apache-tomcat-7.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.23/bin/tomcat-juli.jar  
Debemos revisar el registro de catalina.out encuentra en / usr/share/apache-tomcat-7.0.23/logs/catalina.out y comprobar que no existen errores.
  1. [root@srv6 init.d]# more /usr/share/apache-tomcat-7.0.23/logs/catalina.out  
Ahora podemos acceder a la página Administrador de Tomcat en:

http://sudominio.com:8080 o http://suip:8080 y deberíamos ver la página de inicio de Tomcat.



Paso 4: Configuración de Access Manager Tomcat.



Tomcat 7 contiene una serie de cambios que ofrecen un grano más fino-roles.Por razones de seguridad, ningún usuario ni contraseñas se crean para las funciones del gestor de Tomcat de forma predeterminada. En un despliegue de producción, siempre es mejor para quitar la aplicación Manager.Para definir roles, nombre de usuario (s) y contraseña (s), tenemos que configurar el archivo tomcat-users.xml ubicado en $ CATALINA_HOME / conf / tomcat-users.xml.En el caso de nuestra instalación, $ CATALINA_HOME se encuentra en / usr/share/apache-tomcat-7.0.23.Por defecto, el Tomcat 7 tomcat-users.xml tendrá los elementos entre las etiquetas y comentada. .Nuevas funciones para Tomcat 7 oferta de grano fino de acceso y las funciones siguientes están disponibles:
manager-gui
manager-status
manager-jmx
manager-script
admin-gu
admin-script.

Podemos definir el rol manager-gui, por ejemplo, de la siguiente manera
  1. <tomcat-users>  
  2. <role rolename="manager-gui"/>  
  3. <user username="tomcat" password="secret" roles="manager-gui"/>  
  4. </tomcat-users>  


Se debe tener precaución en la concesión, para no varias funciones a la seguridad bajo-mente.
Paso 5 (Oprtional): Administrar el uso de memoria Uso de JAVA_OPTS.

Obtención de los valores de almacenamiento dinámico de memoria adecuados para su instalación dependerá de un número de factores.Para simplificar, vamos a configurar nuestro tamaño de la pila inital, Xms y nuestro tamaño máximo de almacenamiento dinámico, Xmx, con el mismo valor de 128 MbSimliarly, hay varios enfoques que puede tomar en cuanto a dónde y cómo establecer sus JAVA_OPTSUna vez más, para simplificar, vamos a añadir nuestros parámetros de memoria JAVA_OPTS en nuestro fichero Catalina.sh.Por lo tanto, abra el archivo Catalina.sh encuentra en / usr/share/apache-tomcat-7.0.23/bin con un editor de texto o vi.Ya que estamos usando 128 Mb por tanto el tamaño de almacenamiento dinámico inicial y máximo, añada la siguiente línea a Catalina.sh

  1. JAVA_OPTS="-Xms128m -Xmx128m"   


Por lo general sólo tiene que añadir esto en la segunda línea del archivo para que se vea como tal:
  1. #!/bin/sh  
  2. JAVA_OPTS="-Xms128m -Xmx128m"   
  3. # Licensed to the Apache Software Foundation (ASF) under one or more  
  4. # contributor license agreements.  See the NOTICE file distributed with  
  5. # this work for additional information regarding copyright ownership.  
  6. # The ASF licenses this file to You under the Apache License, Version 2.0  
  7. # (the "License"); you may not use this file except in compliance with  
  8. # the License.  You may obtain a copy of the License at  

Paso 6 (Opcional): Cómo ejecutar Tomcat utilizando mínimamente Priviligaiado (no root) del usuario.En nuestra configuración Tomcat anterior, se está ejecutando Tomcat como referencia.Por razones de seguridad, siempre es mejor correr con los servicios sólo los permisos que sean necesarios.Hay algunos que hacer un caso fuerte de que esto no es necesario, pero siempre es mejor errar en el lado de la precaución.Para ejecutar Tomcat como usuario no root, hay que hacer lo siguiente:1. Crear 'tomcat' del grupo:
  1. [root@srv6 ~]# groupadd tomcat  
2. Crear 'tomcat' el usuario y agregar este usuario al grupo tomcat que hemos creado anteriormente.
  1. [root@srv6 ~]# useradd -s /bin/bash -g tomcat tomcat  
Lo anterior, se creará un directorio principal para el usuario tomcat en el home del usuario por defecto como / home / tomcatSi queremos que el directorio de inicio para estar en otro lugar, simplemente especificar lo que usar la opción-d.
  1. [root@srv6 ~]# useradd -g tomcat -d /usr/share/apache-tomcat-7.0.23/tomcat tomcat  
Lo anterior creará el directorio de inicio del usuario tomcat como / usr/share/apache-tomcat-7.0.23/tomcat3. Cambie la propiedad de los archivos tomcat tomcat al usuario que hemos creado anteriormente:
  1. [root@srv6 ~]# chown -Rf tomcat.tomcat /usr/share/apache-tomcat-7.0.23/  
Nota: es posible mejorar nuestra seguridad aún más haciendo ciertos archivos y directorios de sólo lectura. Esto no se trata en este post y se debe tener cuidado al establecer esos permisos.4. Ajuste el guión de servicio de arranque / parada que hemos creado anteriormente. En nuestro nuevo guión, necesitamos su para el usuario tomcat:
  1. #!/bin/bash  
  2. # description: Tomcat Start Stop Restart  
  3. # processname: tomcat  
  4. # chkconfig: 234 20 80  
  5. JAVA_HOME=/usr/java/jdk1.7.0_02  
  6. export JAVA_HOME  
  7. PATH=$JAVA_HOME/bin:$PATH  
  8. export PATH  
  9. CATALINA_HOME=/usr/share/apache-tomcat-7.0.23/bin  
  10.   
  11. case $1 in  
  12. start)  
  13. /bin/su tomcat $CATALINA_HOME/startup.sh  
  14. ;;   
  15. stop)     
  16. /bin/su tomcat $CATALINA_HOME/shutdown.sh  
  17. ;;   
  18. restart)  
  19. /bin/su tomcat $CATALINA_HOME/shutdown.sh  
  20. /bin/su tomcat $CATALINA_HOME/startup.sh  
  21. ;;   
  22. esac      
  23. exit 0  


Paso 7 (Opcional): Cómo ejecutar Tomcat en el puerto 80 como usuario no root.

Nota: el siguiente es aplicable cuando se está ejecutando Tomcat en "stand alone" con Tomcat Tomcat ejecutando bajo el usuario mínimamente privilegiado que hemos creado en el paso anterior.Para ejecutar servicios por debajo del puerto 1024 como un usuario distinto de root, puede añadir lo siguiente a las tablas de PI:

  1. [root@srv6 ~]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080    
  2. [root@srv6 ~]# iptables -t nat -A PREROUTING -p udp -m udp --dport 80 -j REDIRECT --to-ports 8080    


Asegúrese de guardar y reiniciar tu IP Tables.Puestos relacionados con Tomcat

URL - Relacionadas con TOMCAT

Más información sobre Apache Tomcat7 Apache Tomcat Foundation Tomcat 7

2 comentarios:

Anónimo dijo...

Y funciona ??

Jorge

Anónimo dijo...

Y funciona ?
Seguro que si !!!!
Gracias por el detalle.


Resulta que tengo una app compilada con jdk 1.7.0_9 en mi equipo, en cambio en el servidor tiene jdk 1.6.0_22 y estoy buscando como actualizar la versión de jdk en el server con 1.7_xx

Jorge