Apache2 - Redondance et load Balancing
>>> Module Proxy Balancer
Version PDF

Cet article a pour but de vous apprendre à mettre en place deux serveurs web Apache2. Dans un deuxième temps, nous mettrons en place un troisième serveur web frontal qui fera la redondance entre les deux autres serveurs web.


Sommaire :

I) Introduction
II) Installation
1) Serveur Web-1
2) Serveur Web-2
3) Serveur Web-3
III) Configuration de l’interface Manager


I) Introduction

Haut de page

Comme expliqué dans la présentation, le but de l’article est de mettre en place le module Proxy Balancer. Il faut bien être conscient que l’utilisation d’un tel module ne remplace pas un vrai balancer Web professionnel, mais il peut dépanner.

Voici l’architecture que nous allons mettre en place :

Afin d’éviter de taper l’adresse IP des serveurs, j’installerai un serveur DNS afin d’avoir la correspondance adresse IP et le nom de machine.

II) Installation

Haut de page

- Commencez par installer Apache2 et PHP5 sur les 3 serveurs.

aptitude install apache2 php5

II) Configuration des services Apache2

1) Serveur Web-1

Je commence par le serveur Web-1, en créant une page web pour notre site internet.

- Créez un dossier "/home/site-web/www/.

mkdir -p /home/site-web/www

- Créez la page web en ".php".

vim /home/site-web/www/index.php

- Je copie les lignes suivantes dans le fichier "index.php".

<!DOCTYPE html>

<html>

<head>

<title><?php echo$_SERVER['SERVER_NAME']; ?></title>

</head>

<body>

Bienvenue sur <b>idum.eu</b>
<br>

Nom du serveur :
<?php
echo$_SERVER['SERVER_NAME'];
?>

</body>

</html>

- Créez le fichier de configuration du site web dans le dossier /etc/apache2/sites-available/
- Pour faire plus simple, vous pouvez copier le fichier de configuration 000-default et le modifier après.
- Vous devez obtenir ceci :

<VirtualHost *:80>

       ServerName www.idum.eu

       ServerAdmin webmaster@idum.eu
       DocumentRoot /home/site-web/www/

       <Directory /home/site-web/www/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Require all granted
       </Directory>
       ErrorLog ${APACHE_LOG_DIR}/error-site-web.log
       CustomLog ${APACHE_LOG_DIR}/access-site-web.log combined

</VirtualHost>

- Désactivez le site web 000-default

a2dissite 000-default.conf

- Activez votre nouveau site

a2ensite idum.eu.conf

- Redémarrez le serveur Apache2

service apache2 reload

- Dans un navigateur, tapez l’adresse IP du serveur web-1. Vous devez obtenir ceci :

2) Serveur Web-2

Je continue par le serveur Web-2, en reprenant les mêmes étapes que le chapitre précédent.

- Dans un navigateur, tapez l’adresse IP du serveur web-2. Vous devez obtenir ceci :

3) Serveur Web-3

Je termine par le serveur frontal, sur lequel nous allons installer le module proxy_balancer.

- Créez le fichier de configuration du site web dans le dossier /etc/apache2/sites-available/
- Pour faire plus simple, vous pouvez copier le fichier de configuration 000-default et le modifier après.
- Vous devez obtenir ceci :

<VirtualHost *:80>

       ServerName www.idum.eu

       ServerAdmin webmaster@idum.eu

        ProxyPass / balancer://www.idum.eu/ stickysession=BALANCEID nofailover=On

       <Proxy balancer://www.idum.eu>
       BalancerMember http://web1.idum.eu:80 route=http1 ping=5
       BalancerMember http://web2.idum.eu:80 route=http2 ping=5
       ProxySet lbmethod=byrequests
       </Proxy>

</VirtualHost>

- Désactivez le site web 000-default

a2dissite 000-default.conf

- Activez les modules proxy_balancer et lbmethod_byrequests

a2enmod proxy_balancer
a2enmod proxy
a2enmod proxy_http
a2enmod lbmethod_byrequests

- Activez votre nouveau site

a2ensite idum.eu.conf

- Redémarrez le serveur Apache2

service apache2 reload

Voilà la redondance fonctionne.

III) Configuration de l’interface Manager

Haut de page

Une interface web vous permet d’avoir une vue graphique du fonctionnement des autres serveurs.

- Sur le serveur Web3, modifiez le fichier du site.

<VirtualHost *:80>

       ServerName www.idum.eu

       ServerAdmin webmaster@idum.eu

       <Proxy balancer://www.idum.eu>
       BalancerMember http://web1.idum.eu:80 route=http1 ping=5
       BalancerMember http://web2.idum.eu:80 route=http2 ping=5
       ProxySet lbmethod=byrequests
       </Proxy>

       <Location /manager>
       SetHandler balancer-manager
       </Location>

       ProxyPass /manager !
        ProxyPass / balancer://www.idum.eu/ stickysession=BALANCEID nofailover=On


</VirtualHost>

- Dans un navigateur, tapez "www.idum.eu/manager", vous devez obtenir ceci :

- Sur le serveur WEB2, stoppez le service Apache2.

service apache2 stop

- Attendez quelques secondes et actualisez la page "www.idum.eu/manager" dans votre navigateur. Vous devez obtenir ceci :

 
 
 
 
 
Commentaires :