Vous êtes sur la page 1sur 17

Taller

Nombre: Leonel Escobar

Fecha: 09 de enero de 2019

Tema: Instalación Tomcat

1. Se instalará 3 sistemas operativos de Ubuntu versión 16.04.3 donde los dos siguientes
servirán para instalar TomCat y el tercero como balanceador de carga.
 Credenciales del primero:
o IP: 192.168.1.7
o Usuario: leonel1
o Contraseña: sistemas_2018
 Credenciales del segundo:
o IP: 192.168.1.6
o Usuario: leonel2
o Contraseña: sistemas_2018
 Credenciales del tercero – balanceador:
o IP: 192.168.1.5
o Usuario: balanceo
o Contraseña: 2018
2. En la primera máquina de Ubuntu, se accederá en la terminal como súper usuario con
el siguiente comando: (TRES NODOS)

sudo –i

Seguido solicitará la contraseña del usuario, en este caso sistemas_2018

3. Se debe asignar una clave al super usuario con el siguiente comando: (TRES NODOS)

sudo passwd root

Se usará la clave: sistemas_2018

4. Se procede a actualizar el sistema operativo con el siguiente comando


(AMBOS NODOS)

apt-get update
A continuación se procede a la instalación de Apache Tomcat:

1. Se instalará el editor de texto nano (AMBOS NODOS)

apt-get install nano

2. Seguido igualmente instalar el compreso/decompresor tar (AMBOS NODOS)

apt-get install tar

3. Se debe dirigir a la siguiente ruta /home/nombreUsuario/Documentos y agregando el


comando para descargar el core de Tomcat. (AMBOS NODOS)

cd /home/leonel1/Documentos
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz

4. Se debe renombrar el archivo descargado (AMBOS NODOS)

mv apache-tomcat-8.5.35.tar.gz apache-tomcat.tar.gz

Y ls para visualizar los cambios

5. Se debe descomprimir el archivo descargado con el siguiente comando: (AMBOS


NODOS)
tar zxvf apache-tomcat.tar.gz

6. Al ser extraído se debe mover el archivo a la ruta /usr/share/tomcat (AMBOS NODOS)


sudo mv apache-tomcat-8.5.35 /usr/share/tomcat

7. Antes de inicializar el Tomcat, se debe instalar JAVA (AMBOS NODOS)


sudo add-apt-repository ppa:webupd8team/java
8. Se debe actualizar los paquetes (AMBOS NODOS)
sudo apt-get update

9. Instalar el JDK 8 de Oracle (AMBOS NODOS)

sudo apt-get install oracle-java8-installer

Se acepta los términos y se instalará

10. Dirigirse a configurar JAVA que se acaba de instalar como versión por defecto (AMBOS
NODOS)

sudo update-alternatives --config java


Se debe elegir el número de la versión de JAVA que se desea usar por defecto. (En este caso se
escogió la 2)

En la siguiente parte se debe escoger la versión que se trabajara de JAVA por defecto,
definiendo una variable de entorno JAVA_HOME

11. Se debe editar el archivo environment (AMBOS NODOS)

sudo nano /etc/environment

Agregando lo siguiente:

JAVA_HOME="/usr/lib/jvm/java-8-oracle"

Se guardan los cambios y se vuelve a Documentos.

12. Se vuelve a cargar las variables del sistema (AMBOS NODOS)

source /etc/environment

Para comprobar que la variable ha sido añadida se usará el siguiente comando:

echo $JAVA_HOME

13. Se guido se arranca el servidor Tomcat, para probar que se encuentra bien instalado
dirigiéndose a: (AMBOS NODOS)

cd /usr/share/tomcat

Y para ejecutar Tomcatse usar el comando: bin/startup.sh

Obteniendo la visualización como la imagen anterior se puede comprobar que está trabajando
bien.
Otra forma de probar Tomcat es accediendo al navegador dentro de Ubuntu y colocar en la
url: localhost:8080 y así se podrá visualizar la imagen de Tomcat

14. Se detiene la ejecución del Tomcat, esto se debe a que se cambiará la configuración
(AMBOS NODOS)

bin/shutdown.sh
A continuación se procede a la instalación del Web Server Apache (httpd):

1. Se ejecuta primero el comando como usuario sudo o como root: (AMBOS NODOS)

sudo apt-get install apache2

2. Se inicia en servidor Apache: (AMBOS NODOS)

sudo systemctl start apache2

/etc/init.d/apache2 start

Solicitará la contraseña: sistemas_2018

Para comprobar que se está ejecutando se dirige a un navegador y en la url se escribe:


localhost

3. Se procede a detener la ejecución del servidor Apache: (AMBOS NODOS)

sudo systemctl stop apache2


BALANCEADOR
- A continuación se procede a la configuración del balanceador: (SOLO NODO
BALANCEADOR)
1. Primero se agrega un repositorio de paquetes de Oracle.
sudo add-apt-repository ppa:webupd8team/java

2. Se actualiza los repositorios de paquetes


sudo apt-get update

3. Instalar el JDK 8 de Oracle


sudo apt-get install oracle-java8-installer

Se acepta las condiciones y los terminus de la instalación

4. Se dirige a configurar el JAVA que se acaba de instalar por su versión por defecto
sudo update-alternatives --config java
5. Dirigirse al entorno JAVA_HOME para definir la variable

Se debe editar el archivo environment.


JAVA_HOME="/usr/lib/jvm/java-8-oracle"

Se guarda y se sale del archivo.

6. Se debe volver a cargar las variables del sistema:


source /etc/environment

7. Para comprobar que la variable ha sido añadida se usa el siguiente comando:


echo $JAVA_HOME

- Instalación de Web Server Apache (httpd)


1. Se ejecuta el comando como usuario o como root:
sudo apt-get install apache2

2. Se inicia el servidor de Apache


sudo systemctl start apache2

/etc/init.d/apache2 start
Para comprobar que se ha instalado correctamente Apache, se dirige a un navegador y en url
se escribe localhost:80 e inmediatamente debe aparecer la página de Apache2

3. Se procede a detener el servidor Apache:


sudo systemctl stop apache2

/etc/init.d/apache2 stop

Para realizar el balanceo de carga, se usará la extensión mod_jk, usamos dicha extensión ya que
Apache necesita una conexión específica para realizar el balanceo de carga. Se usa mod_jk ya
que mod_proxy viene dentro del paquete de Apache HTTP desde la versión 2.2, dicha extensión
permite tener un control más amplio del balanceo de carga.

- Instalación de mod_jk:
1. Se procede a instalar usando el siguiente comando:
sudo apt-get install libapache2-mod-jk
2. Para comprobar si el mod_jk se ha instalado correctamente, se lista el contenido de la
carpeta que se debió crear al momento de instalar:
ls /usr/lib/apache2/modules/mod_jk.so

- Se genera el balanceo de carga con mod_jk:


1. Se dirige al fichero de especificación de cada nodo trabajador del clúster

nano /etc/libapache2-mod-jk/workers.properties

Se comenta todas las líneas y se agrega lo siguiente:

workers.tomcat_home=/usr/share/tomcat
workers.java_home=/usr/lib/jvm/java-8-oracle
ps=/
worker.list=balancer,stat,tomcat1,tomcat2
# Configuración del primer nodo (tomcat1)
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.1.6
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
# Configuración del segundo nodo (tomcat2)
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.1.7
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
# Configuración del Balanceador (balancer)
worker.balancer.type=lb
worker.balancer.balance_workers=tomcat1,tomcat2
worker.balancer.method=B
worker.balancer.sticky_session=true
worker.stat.type=status

Se guarda y se sale del archivo.

2. Se dirige a configurar Apache para que cargue la extension mod_jk, se dirige a la


siguiente ruta:

cd /etc/apache2/mods-enabled

3. Se edita el archivo jk.load

nano jk.load

Se sale guardando los cambios.


4. Se elimina el archivo jk.conf
rm jk.conf

5. Se crea un archive jk.conf con la siguiente configuración:

nano jk.conf

Con el siguiente contenido:

<IfModule jk_module>
# Localización del fichero de trabajadores
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
# Localización donde escribirlos logs de mod_jk
JkLogFile /var/log/apache2/mod_jk.log
# Nivel de criticidad de los logs (trace,debug,info,warn,error)
JkLogLevel debug
# Fichero de memoria compartida
JkShmFile /var/log/apache2/jk-runtime-status
# Cada intervalo realiza tareas internas como
# prueba de conexiones ociosas, redimensionamiento de
# la reserva de conexiones, etc...
JkWatchdogInterval 60
# Definimos un nuevo virtual host en el puerto 80
# (el de HTTP de Apache) especificando la ruta de la que
# se encargar el mod_jk
<VirtualHost *:80>
ServerName localhost
ServerAdmin localhost
JkMount /status stat
JkMount /* balancer
</VirtualHost>
</IfModule>

Se sale guardando los cambios.

6. Se reinicia el servidor Apache para que se apliquen los cambiod


systemctl restart apache2

/etc/init.d/apache2 restart
Para comprobar que el balanceador de carga esta trabajando en un navegador en la url se pone
lo siguiente: localhost:80/status
A continuación se procede a las múltiples instancias de Tomcat:

1. Se crea un directorio que contenga los archivos necesarios para la instancia de Tomcat

Primer se crea el directorio tmp y luego el tomcat-instances


sudo mkdir /usr/tmp

sudo mkdir /usr/tmp/tomcat-instances

2. Se dirige al directorio que se acaba de crear

cd /usr/tmp/tomcat-instances

3. Se crear una carpeta en la cual contendrá los archivos para la instancia1

sudo mkdir tomcat-instance1

4. Se copia los directorios necesarios para la instancia, desde el directorio base de


Tomcat.

sudo cp -R /usr/share/tomcat/conf /usr/share/tomcat/temp /usr/share/tomcat/webapps


/usr/share/tomcat/logs tomcat-instance2

5. Para configurar los puertos de la conexión que usará la instancia1 se edita el archivo
conf/server.xml.
Se dirige a tomcar-instance1/conf , para no tener problemas a partir de aquí se debe
conectar como superusuario, con el comando su
6. Se dirige a otro directorio con el siguiente comando

cd tomcat-instance1/conf

7. Se editará archivo con el editos nano

nano server.xml

Dentro del documento se agrega lo siguiente:


<Engine name=”Catalina” defaultHost=”localhost” jvmRoute=”tomcat1”>

Se sale del archivo guardándolo.

8. Dirigirse al directorio

cd /usr/tmp/tomcat-instances

OJO: • Nota: Para configurar el nodo 2 de Tomcat se necesitará realizar los mismos pasos
anteriores, pero en la configuración de la etiqueta engine se debe poner lo siguiente:

<Engine name=”Catalina” defaultHost=”localhost” jvmRoute=”tomcat2”>


Para finalizar la configuración de las instancias de Tomcat se dirige a crear los scripts de arranque
y apagado de las instancias en bash, dichos archivos deben residir en la carpeta base tomcat-
instances.

9. Dirigirse a la ruta:

cd /usr/tmp/tomcat-instances

10. Se crea el script para el arranque

nano startup-instance.sh

En el archivo se deberá agregar el siguiente contenido:

#!/bin/bash

cd /usr/share/tomcat/bin

export CATALINA_BASE=/usr/tmp/tomcat-instances/tomcat-instance$1

./startup.sh

Se debe salir guardando los respectivos cambios:

11. Para poder dar permisos a la ejecución del script se usará el siguiente comando:

chmod +x startup-instance.sh

12. En la misma dirección se crea el script de apagado

nano shutdown-instance.sh

En el archivo se deberá agregar el siguiente contenido:

#!/bin/bash

cd /usr/share/tomcat/bin

export CATALINA_BASE=/usr/tmp/tomcat-instances/tomcat-instance$1

./shutdown.sh
Se debe salir guardando los respectivos cambios:

13. Para poder dar permisos a la ejecución del script se usará el siguiente comando:

chmod +x shutdown-instance.sh

14. Se dirige a crear un script para reiniciar las instancias, el cual llama a los scripts
anteriores.

nano restart-instance.sh

En el archivo se deberá agregar el siguiente contenido:

#!/bin/bash

./shutdown-instance.sh $1

./startup-instance.sh $1

Se debe salir guardando los respectivos cambios:

15. Se proporciona los permisos necesarios para el script

chmod +x restart-instance.sh
A continuación se procede al despliegue de la aplicación de Prueba:

1. Para la aplicación se creara un html simple

Se dirige hacia la ruta:

cd /usr/tmp/tomcat-instances/tomcat-instance1/webapps

2. Se crea el directorio de prueba

mkdir prueba

3. Se crea el archivo html


nano prueba/index.html

Donde se agregará el siguiente código:


<html>
<body>
<h2>Hola!!! desde</h2>
<h3>Tomcat 1</h3>
<h3>IP: 192.168.1.7</h3>
</body>
</html>
Se debe salir guardando los respectivos cambios:

4. Para el nodo 2, se dirige a la siguiente ruta:

cd /usr/tmp/tomcat-instances/tomcat-instance2/webapps

5. Se crea el directorio de prueba

mkdir prueba

6. Se crea el archivo html


nano prueba/index.html

Donde se agregará el siguiente código:


<html>
<body>
<h2>Hola!!! desde</h2>
<h3>Tomcat 2</h3>
<h3>IP: 192.168.1.6</h3>
</body>
</html>
Se debe salir guardando los respectivos cambios:
Se inicializa las instancias:

Se dirige a:
cd /usr/tmp/tomcat-instances/

Para probar el funcionamiento del cluster se debe dirigir a la URL con la IP donde está el
balanceador de carga 192.168.1.5/prueba. Si se refresca varias veces las pagina, se verá cómo
se alternan las instancias.

Para detener la instancia usamos el comando


./shutdown-instance.sh 1

Para levantar la instancia usamos el comando


./startup-instance.sh 1

Debemos estar en la ruta


cd /usr/tmp/tomcat-instances/