1. Apache, Tomcat y Jboss
Enunciado
Jboss + Tomcat como servidor independiente
1. Debemos instalar el Servidor Jboss y configurar las variables de entorno necesarias para lanzarlo. Una vez hecho lo
lanzaremos con los script adecuados y miraremos los ficheros de logs y veremos los servicios que se han lanzado.
Accederemos a las consolas de administración.
En primer lugar descargamos la distribución de Jboss “Jboss 5.1.0” del siguiente link:
http://www.jboss.org/jbossas/downloads/
Y la descomprimimos en el directorio /home/ de nuestro equipo.
Se creará el directorio principal de jboss, /jboss-5.1.0.GA/ con el siguiente contenido:
A continuación, declararemos las variables de entorno de JAVA y de Tomcat, modificando en este caso la de Tomcat
respecto a la de la práctica anterior, en este caso queremos que nos coja el servidor Tomcat presente en Jboss.
Ahora probaremos que funciona el Tomcat de Jboss accediendo a las consolas de administración desde el navegador
usando el puerto de tomcat (8080). Antes de nada deberemos arrancar Jboss ejecutando el script ./run.sh del
directorio /bin de Jboss.
Una vez arrancado el servicio, miraremos los “logs” como dice el enunciado para comprobar que se ha iniciado
2. correctamente. Jbooss, está configurado por defecto para tener dos appenders (dos maneras de extraer información de la
ejecución de las aplicaciones). El primero es un archivo situado en el directorio log de Jboos de la configuración default
llamado“server.log”.
Y el segundo es la consola, la cual se encuentra configurada por defecto para que muestro los mensajes de información
(INFO):
3. Como vemos en ambos casos, no dan ningún error, solo algún warning sin importancia. Por lo que el servicio se ha
lazado correctamente, así que ya podemos acceder a las consolas de configuración de Jboss:
http://localhost:8080/admin-console
Para entrar a la consola de administración, deberemos entrar con usuario y contraseña : 'admin'.
http://localhost:8080/jmx-console
4. Jboss + Tomcat + Apache
1. Debemos asegurarnos que tenemos el conector Coyote JK 2 bien configurado y que no está comentado.
Para ello miramos en el fichero “server/default/deploy/jbossweb.sar/server.xml” que la siguiente linea no esté
comentada.
2. Ahora configuraremos Apache para cargar el modulo mod_jk y redirigir a Tomcat todas las solicitudes a las páginas
*.jsp y cualquier petición que vaya al contexto por defecto. El Apache haremos que escuche a través del puerto 80.
En este paso realizamos lo mismo que hicimos para la práctica anterior, que redirigimos las peticiones de páginas .jsp al
directorio de Tomcat. En este caso lo que haremos será redirigir las peticiones que tengan que ver con las consolas de
Jboss que veíamos antes. Para ello debemos añadir en el fichero “/etc/apache2/sites-enabled/000-default” las siguientes
lineas, al primer JkMount correspondiente a Tomcat :
5. 3. Debemos crear el workers.properties indicando los datos para que Apache localice el Tomcat del jboss.
Como la localización de Tomcat y JAVA ya la añadimos a la declaración de las variables de entorno
$CATALINA_HOME y $JAVA_HOME, tan solo tendremos que asignarlas como vemos en la siguiente imagen:
4. Arrancaremos Apache primero viendo que en los ficheros de log no hay ningún error y nos aseguramos que el
servicio está en marcha. A continuación lanzamos el Tomcat y comprobamos que redirige correctamente llamando a las
páginas con la URL.
Antes de nada vamos a detener el servicio Jboss, que lo teniamos corriendo al realizar el apartado1, con el script de
parada presente en el directorio /bin de apache ./shutdown
Y ahora será cuando iniciemos apache y Jboss para comprobar que redirige el contenido como le hemos indicado:
Después de lanzar el servicio nos aseguraremos con los “logs” que todo está en marcha. Para Jboss lo veremos como
hemos dicho antes. Y para apache accediendo al directorio de logs de apache /var/log/apache2/
6. Una vez comprobando que se ha lanzado correctamente intentaremos acceder desde apache directamente a la consola de
Jboss, para comprobar que nos redirecciona correctamente:
http://localhost/jmx-console/index.jsp
5. Una vez realizado esto vamos a configurar el log de jboss para que si se produce un error nos envíe un correo a la
cuenta que les especifiquemos. Además configuraremos el log de jboss para que muestre por consola solo los errores no
deseados pero que no interrumpen la ejecución y para que guarde en fichero todos los mensajes de error o aviso (ALL).
Para configurar la consola para que nos muestre solo los errores no deseados pero que no interrumpen la ejecución,
debemos modificar el fichero “server/default/deploy/jbossweb.sar/server.xml” y modificar el appender CONSOLE y
cambiar el campo value, de info a ERROR.
7. Para configurar que el archivo de log nos saque toda la información, deberemos añadir la siguiente linea al “appender
name=FILE”
Ahora lo que queremos realizar, es que se mande una notificación por correo en caso de fallo de la aplicación (nivel del
error “ERROR”). Para ello debemos primero configurar un servidor de correo SMTP, en nuestro caso usaremos postfix,
con la herramienta POP3 (dovecot-pop3) para recepción y lectura de los mismos.
La instalación del servidor de correo es muy sencilla, primero descargamos el paquete con #apt-get install postfix.
Durante la instalación, escogeremos la configuración de “Sitio de internet”, para que sea capaz de gestionarnos también
correos externos, como por ejemplo cuentas de gmail.
8. Después de esto, le indicamos el nombre del dominio que vamos a utilizar para nuestro correo, en nuestro caso será
miguelASI.com
Vamos a realizar un envío de prueba, para comprobarque funciona nuestro servicio de correo. Para ello escribiremos
#telnet localhost 25 y escibiremos los parámetros que vemos a continuación:
9. Una vez enviado el mensaje, podemos ir al directorio donde se reciben los mensajes /var/spool/mail/ y veremos un
fichero llamado eps que es donde estarán todos los mensajes recibidos por este usuario.
A continuación, instalaremos pop3, para el manejo del servidor de correo mediante: apt-get install dovecot-pop3
Y accedemos a su archivo de configuración en /etc/dovecot/dovecot.conf y añadimos la siguiente linea, para indicarle
donde se alojan los correos de nuestro servidor:
Para ejecutar este servicio usaremos el puerto 110 en este caso: #telnet localhost 110, nos logueremos conlas opciones
USER y PASS ,veremos todos los mensajes del usuario con el comando LIST y podremos abrir cualquiera de ellos con
la opción RETR <nummensaje>.
Tras tener el servidor de correo totalmente configurado, nos iremos al archivo de configuración de antes
10. “server/default/deploy/jbossweb.sar/server.xml” y crearemos el appender llamado SMTPError , indicándole con los
parámetros To y From el origen y destino de nuestro correo. Además como vemos abajo, hemos creado otro appender
del tipo AsyncAppender para delegar el envío de mensajes a éste. Ya que el coste del envío de mensajes mucho mayor
que el de mostrar por consola o escribir en un fichero de log.
Para comprobar que se mandan estos mensajes, hemos cambiado el nivel de peligrosidad a INFO para que nos mande
correos a la dirección que le especificados al iniciar y detener el servicio.
6. Crearemos una cola jms llamada PruebaQueue y lanzaremos de nuevo jboss. Comprobar que el servidor la reconoce
en caliente usando la consola de administración.
Para crear la cola debemos acceder al fichero donde se crean las colas y los topics :
jboss-5.1.0.GA/server/default/deploy/messagin/destinations-service.xml
y al final de este, dentro del tag server añadir:
Para comprobar que se ha creado la cola accederemos a la consola de administración desde el navegador y la
buscaremoe en la sección JMS Destinations.
11. 7. Configuraremos el servicio de correo para que podamos enviar y recibir correos desde una aplicación.
Para configurar el servicio de correo tenemos que modificar el fichero “server/default/deploy/mail-
service.xml”
Los campos que hemos modificado son el nombre y password para acceder al servidor de correo, que en nuestro caso
será “mpm76” y “mpm76” respectivamente. También hemos modificado la dirección de correo que recibirá los
12. mensajes, en nuestro caso “mpm76@alu.ua.es” . Luego cambiamos las direcciones de los servidores de correo,
poniendo las nuestras. Cambiamos el puerto al que usa nuestro correo para su conexión smtp, y por último
configuramos la cuenta desde la que queremos que se envíen los mensajes, rellenando en éste caso con usuario y
contraseña para poder acceder a nuestra cuenta de la UA con nuestro usuario.