Vous êtes sur la page 1sur 7

Departamento de Informtica y Comunicaciones

IES Leopoldo Queipo.

2014-2015

Curso:
Fecha:

Ejercicio:

Administracin de Sistemas Informticos en Red

Mdulo:
Prctica

Tipo:

Ciclo:

Profesor:

Maanan

Instalacion y configuracion de un balancedor de carga sobre un servidor Apache

Apellidos:

Dominguez Al-lal

Nombre:

Alejandro

Nota:

Las guias seguidas para la elaboacion de este trabajo han sido localizadas en la pagina
howtoforge.com, siendo los enlaces los siguientes:
INSTALACION DE JOOMLA:
https://www.howtoforge.com/how-to-install-joomla-on-ubuntu-14.04
INSTALACION Y CONFIGURACION DEL BALANCEADOR:
https://www.howtoforge.com/high-availability-load-balancer-pound-keepalived-debian-etch
Antes de empezar a montar el balanceador, procedemos a preparar las maquinas con el servidor
Apache instalado, sobre el cual instalaremos una aplicacion web (en este caso Joomla) conectada a
un cluster de maquinas de base de datos.
La configuracion del cluster no se incluira en este manual debido a la gran extension de este
apartado.
1.- Instalacion y configuracion de una aplicacin Joomla sobre Ubuntu Server 14.04
Durante la instalacion del servidor, seleccionaremos la opcion de instalar un servidor LAMP, en el
cual viene incluido el servidor Apache, sobre el cual se conectara el Joomla.
Una vez concluida la instalacion, asignaremos una direccion IP a este servidor y procedemos a la
descarga del paquete de instalacion de Joomla mediante el comando:
wget
Full_Package.zip

http://joomlacode.org/gf/download/frsrelease/19665/160049/Joomla_3.3.3-Stable-

Al mismo tiempo procedemso a crear en el cluster desde un nodo sql la base de datos y el usuario
que seran utilizados por joomla, siendo en este caso el usuario joomlauser y la base de datos
joomladb. Hay que aclarar que al usuario hay que especificarle la direccion IP de las maquinas con
el Joomla, en este caso 2: siendo estas direcciones la 192.168.1.110 , y 192.168.1.115 .
Una vez creados y asignados los permisos necesarios, procedemos a continuar con la instalacion de
Joomla.
En este caso, al haber descargado un paquete .zip, procedemos a instalar la aplicacin unzip, con la
cual descomprimiremos el paquete.

www.iesleopoldoqueipo.com

Departamento de Informtica y Comunicaciones


IES Leopoldo Queipo.

Tras haber instalado el programa unzip, procedemos a eliminar el archivo index.html de la carpeta
/var/www/html/, puesto que sera en esta carpeta donde instalaremos los archivos de Joomla.
Mediante el comando unzip -q Joomla_3.3.3-Stable-Full_Package.zip -d /var/www/html/
procedemos al desempaquetado del archivo, y, una vez termine la operacin desde un navegador
web, insertaremos la direccion IP de la maquina virtual, para comenzar con la instalacion del
servicio.
En el primer paso de la instalacion procedemos a insertar el nombre de la pagina de joomla, en este
caso, para tener una referencia sobre la pagina a la que reenvia de las dos, el nombre tendra el
identificador 1 o 2 dependiendo de la maquina. Una vez insertedo el usuario administrador, la
contrasea y el correo de reuperacion, pulsamos siguiente y procedemos a la insercion de los datos
de la base de datos, siendo en este caso el host, en el cual pondremos la IP de uno de los nodos
SQL del cluster para facilitar la instalacion, aunque en caso de ser necesario, se procederia a la
reparticion de nodos SQL entre los Joomla.
Una vez terminada la instalacion de Joomla procedemos a preparar la maquina que actuara como
balanceador
2.- Instalacion y configuracion de una maquina balanceadora.
Primero, en las maquinas con el servidores Apache, modificamos el archivo /etc/apache2/apache2.conf
y sustituimos %h por %{X-Forwarded-For}i como se muestra en la siguiente captura

www.iesleopoldoqueipo.com

Departamento de Informtica y Comunicaciones


IES Leopoldo Queipo.

Una vez realizado esto, guardamos los cambios y comenzamos con el balanceador.
Lo primero que haremos sera instalar al aplicacin poun, el cual sera el balanceador que usaremos.
Tras instalarla mediante la orden apt-get unstall pound, procedemos a hacer una copia de seguridad
con el comando cp del archivo de configuracion, siendo la orden al siguiente:
cp -/etc/pound/pound.cfg /etc/pound/pound.cfg_orig
Despues de esto, procedemos a limpiar el archivo de configuracion mediante la orden:
cat /dev/null > /etc/pound/pound.cfg
A continuacion insertamos la siguiente configuracion, como se muestra a continuacion
## global options:
User
Group
#RootJail

"www-data"
"www-data"
"/chroot/pound"

## Logging
##
0
##
1
##
2
##
3
LogLevel

no logging
normal
extended
Apache-style
1

## check backend every X secs:


Alive
2
## listen, redirect and ... to:
## redirecciona todas las peticiones al puerto 80 ("ListenHTTP") a la IP
virtual:
ListenHTTP
Address 192.168.1.120
Port
80
End
Service
BackEnd
Address 192.168.1.110
Port
80
End
BackEnd
Address 192.168.1.115
Port 80
End
Session
Type Cookie
www.iesleopoldoqueipo.com

Departamento de Informtica y Comunicaciones


IES Leopoldo Queipo.

ID
TTL

"JSESSIONID"
300

END
End

Una vez terminamos de editar el archivo, guardamos y procedemos a preparar el inicio de la


aplicacin, para lo cual procedemos a editar el archivo /etc/default/pound, para habilitarlo, quedando
de la siguiente manera
# Defaults for pound initscript
# sourced by /etc/init.d/pound
# installed at /etc/default/pound by the maintainer scripts
# prevent startup with default configuration
# set the below varible to 1 in order to allow pound to start
startup=1
Una vez terminemos guardamos y procedemos al siguiente paso

www.iesleopoldoqueipo.com

Departamento de Informtica y Comunicaciones


IES Leopoldo Queipo.

Procederemos a la instalacion del programa llamado keepalive, el cual indicara al servidor (Ubuntu),
que debera estar atento a las peticiones que hagamos a la IP 192.168.1.120, la cual no es al IP de la
tarjeta de red del servidor, sino una virtual dedicada para el balanceo.
Una vez lo hallamos instalado con apt-get, procedemos a aadir al final del archivo /etc/sysctl.conf la
linea
net.ipv4.ip_nonlocal_bind=1 y ejecutaremos sysctl -p. con esto nos aseguramos de que pound se
enlaza con la IP virtual.
Ahora procedemos a la creacion del fichero de configuracion de keepalived, en la ruta
/etc/keepalived/keepalived.conf, y aadimos la siguiente configuracion
vrrp_script chk_pound {
script "killall -0 pound"
interval 2
weight 2
}

# check every 2 seconds


# add 2 points of prio if OK

vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
virtual_ipaddress {
192.168.1.120
}
track_script {
chk_pound
}
}

www.iesleopoldoqueipo.com

Departamento de Informtica y Comunicaciones


IES Leopoldo Queipo.

con esto terminado, guardamos el fichero.


El siguiente paso sera iniciar el servicio, para lo cual haremos service keepalived start
Para demostrar que la configuracion se ha aplicado correctamente procedemos a realizar la
comprobacion de la configuracion de la tarjeta de red mediante el comando ip addr sh eth0, lo cual
nos mostrara las ip activas para esa tarjeta de red, siendo en nuestro caso las que se muestran a
continuacion

www.iesleopoldoqueipo.com

Departamento de Informtica y Comunicaciones


IES Leopoldo Queipo.

una vez se ha realizado esta comprobacion procedemos a iniciar el servicio de balanceo mediante el
comando service pound start.
Para comprobar que el balanceador funciona correctamente, desde un navegador web introducimos
la direccion IP virtual, y procedemos a ver que pagina carga. Una vez ha terminado de cargar, si
actualizamos de manera rapida, el balanceador nos mostrara la otra pagina, siendo esto
demostrable en la simulacion preparada para este trabajo.

www.iesleopoldoqueipo.com