Quijost

Por favor ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Búsqueda Avanzada  

Noticias:

Deja tu post en el foro para hacer algun tipo de consulta

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Temas - Escain

Páginas: [1]
1
Tutoriales y Manuales / Java JDK + Servidor Tomcat SSL
« en: Junio 13, 2011, 02:47:58 am »
Tomcat es un servidor que proporciona acceso a servelet en java, (seguro que habéis visto alguna vez los .jsp o incluso un .war).
En este tutorial trataremos la instalación sobre un servidor CENTOS.
Para acabar de dar seguridad al sistema, explicaremos la instalación con SSL, muy adecuada si pretendemos correr programas propios de gestión por ejemplo.

Como se requiere del JDK de java, se empezará por instalar este.


Objetivos:
  • Instalar el JDK de Java (oracle)
  • Instalar el servidor tomcat
  • Proteger con SSL la comunicación

Consideraciones iniciales:
El servidor tomcat es independiente del httpd, para (re)iniciarlo, se debe ejecutar:
Código: [Seleccionar]
$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

Según el programa que queramos ejecutar, pueden surgir problemas de tamaño de memoria o de tamaño de heap, se trata este tema al final del tutorial.

Supondremos que tiene un nivel de conocimiento mínimo de Linux y sus comandos: mkdir, cd, ls, wget, chown, chmod, rm, etc..

Para empezar crearemos la carpeta necesaria para java y tomcat:
Código: [Seleccionar]
mkdir /usr/java

A continuación instalamos los paquetes necesarios:
Código: [Seleccionar]
yum -y update
yum -y install httpd httpd-devel php php-common php-devel

Instalación del JDK java:
Descargamos el JDK de la página oficial por ejemplo jdk-6u25-linux-x64.bin en nuestro caso, no podemos usar wget porque requiere aceptar unas licencias.
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
nos descargamos jdk-6u25-linux-x64.bin y lo podemos subir a nuestro servidor mediante:
Código: [Seleccionar]
scp <archivo local> <host>:/usr/java
<pass>

Le damos permisos de ejecución:
Código: [Seleccionar]
chmod +x /usr/java/jdk-6u25-linux-x64.bin

Y lo ejecutamos:
Código: [Seleccionar]
/usr/java/jdk-6u25-linux-x64.bin

Renombramos la carpeta de jdk:
Código: [Seleccionar]
mv /usr/java/jdk-6u25-linux-x64.bin /usr/java/jdk

Ahora es necesario registrar java para que sea conocido por todo el sistema (modificar las variables de entorno):
Vamos al archivo /etc/profile
Código: [Seleccionar]
nano /etc/profile
y casi al final del todo, justo antes de la línea "unset i" añadimos o modificamos para tener lo siguiente (cuidado con los espacios):
Código: [Seleccionar]
JAVA_HOME=/usr/java/jdk
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
guardamos (Ctrl+x, Y, Enter)
Finalmente para que tengan efectos los cambios realizados:
Código: [Seleccionar]
source /etc/profile

Verificamos que java esta instalado correctamente:
Código: [Seleccionar]
java -version
Que nos debe devolver la versión de java. ;)

Instalación de TOMCAT SSL
Nos descargamos el archivo tomcat desde el sitio oficial, esta vez podemos usar wget:
http://tomcat.apache.org
Código: [Seleccionar]
wget http://apache.cict.fr/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.tar.gz /usr/java
Descomprimimos:
Código: [Seleccionar]
tar xzf /usr/java/apache-tomcat-7.0.14.tar.gz /usr/java

Renombramos la carpeta:
Código: [Seleccionar]
mv /usr/java/apache-tomcat-7.0.14 /usr/java/tomcat

Modificamos de nuevo el archivo /etc/profile para añadir las variables de entorno de tomcat:
Código: [Seleccionar]
nano /etc/profile
Antes de "unset i" al final del archivo, tenemos:
Código: [Seleccionar]
JAVA_HOME=/usr/java/jdk
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
Lo editamos para convertirlo en:
Código: [Seleccionar]
JAVA_HOME=/usr/java/jdk
PATH=$PATH:$JAVA_HOME/bin
CATALINA_HOME=/usr/java/tomcat
export JAVA_HOME CATALINA_HOME PATH

Guardamos y actualizamos las variables:
Código: [Seleccionar]
source /etc/profile

Configuración de tomcat:

Creamos las claves para el SSL:
Código: [Seleccionar]
keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/java/tomcat/keystoreHay que responder a algunas preguntas, no tiene dificultad.

Editamos el archivo de configuración de tomcat: /usr/java/tomcat/conf/server.xml
Hay un elemento Connector del estilo de:
Código: [Seleccionar]
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
        redirectPort="8443"
/>
Lo comentamos completamente entre <!-- y -->
Poco a continuación hay otro Connector que ya esta comentado, del estilo de:
Código: [Seleccionar]
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
/>
Lo descomentamos, quitando el <!-- y --> que lo engloban y lo editamos para que sea igual que:
Código: [Seleccionar]
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystorePass="TU CLAVE AQUI"
keystoreFile="/usr/java/tomcat/keystore"
/>
(No olvides de cambiar la clave por la que especificaste al crear el certificado)

Finalmente, lanzamos el servidor tomcat:
Código: [Seleccionar]
/usr/java/tomcat/bin/startup.sh
Podemos probar nuestro servidor tomcat en:
https://<mihost>:8443

 :D

Resolviendo problemas de memoria y heap:
Algunas aplicaciones requieren bastante memoria o un tamaño de heap que superan los límites establecidos inicialmente.
Para resolver estos problemas editamos el archivo /usr/java/tomcat/bin/catalina.sh y justo después de los primeros comentarios, al principio del todo añadimos:
Código: [Seleccionar]
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1536m -XX:NewSize=64m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
Por supuesto puede elegir los valores que quiera, son en MBytes.
Xms es el tamaño mínimo de memoria reservada por tomcat.
Xmx es el tamaño máximo de memoria reservada por tomcat.
XX son los tamaños del heap.

Fin

Espero les haya sido de utilidad.

PROBLEMA SIN RESOLVER:
El servidor no se lanza automáticamente después de un reinicio del servidor, hay que ejecutar $CATALINA_HOME/bin/startup.sh cada vez.

Páginas: [1]

Página generada en 0.12 segundos con 33 consultas.