MODOP – PARTIE 4 – Installation WordPress en HA – Cluster Apache

3 machines Web Apache (centos7)

  • node01-webw 172.16.186.30
  • node02-webw 172.16.186.31
  • node03-webw 172.16.186.32

Spécification des machines

Le Pool « Cluster_webw » va être composé de trois machines virtuelles

  • Node01-webw -> 172.16.186.30
    • 2CPU, 2G RAM, 10Go Disk
    • 30Go Disque GlusterFS node01.gfsw
  • Node02-webw -> 172.16.186.31
    • 2CPU, 2G RAM, 10Go Disk
    • 30Go Disque GlusterFS node02.gfsw
  • Node03-webw -> 172.16.186.32
    • 2CPU, 2G RAM, 10Go Disk
    • 30Go Disque GlusterFS node03.gfsw

Les Machines du Cluster vont partager les fichiers de conf du VirtualHost ainsi que les DATA du site. Les données du site seront hébergées sur le Cluster GlusterFS et pour les bases de données le Cluster Mysql/Percona.

Les machines web hébergeront simplement le service Apache/PHP.

1°) Désactivation du SElinux (3 nœuds webw)

[root@node01-webw ~]# vi /etc/selinux/config
SELINUX=disabled

Redémarrer la machine.

[root@node01-webw ~]# reboot

2°) Désactiver l’IPV6 (3 nœuds webw)

[root@node01-webw ~]# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.default.autoconf = 0
[root@node01-webw ~]# sysctl –p

3°) Installation de paquets utiles(3 nœuds webw)

[root@node01-webw ~]# yum _y update && yum upgrade
[root@node01-webw ~]#] yum -y install qemu-guest-agent
[root@node01-webw ~]# yum -y install htop nmap net-tools

4°) Installation ntp (3 nœuds webw)

[root@node01-webw ~]# yum install ntp ntpdate ntp-doc
[root@node01-webw ~]# ntpdate pool.ntp.org
[root@node01-webw ~]# systemctl enable ntpd && systemctl start ntpd
[root@node01-webw ~]# firewall-cmd --add-service=ntp --permanent && firewall-cmd --reload

5°) Installation du client Gluterfs (3 nœuds web) pour se connecter au Cluster GFS

[root@node01-webw ~]# yum -y install glusterfs-fuse
[root@node01-webw ~]# mkdir -p /sharegfs

Montage de la ressource /gfs dans /etc/fstab via le réseau privé (3 nœuds web)

node01-web

[root@node01-webw ~]# vi /etc/fstab
node01-gfsw:/gfsw /sharegfs glusterfs defaults,_netdev 0 0 
[root@node01-webw ~]# mount -a
[root@node01-webw ~]# df -Th /sharegfs/

node02-web

[root@node02-web ~]# vi /etc/fstab
node02-gfsw:/gfsw /sharegfs glusterfs defaults,_netdev 0 0
[root@node02-web ~]# mount -a
[root@node02-web ~]# df -Th /sharegfs/

node03-web

[root@node03-web ~]# vi /etc/fstab
node03-gfsw:/gfsw /sharegfs glusterfs defaults,_netdev 0 0 
[root@node03-web ~]# mount -a
[root@node01-web ~]# df -Th /sharegfs/

6°) des répertoires /etc et /www

On va créer les deux répertoires qui vont héberger les datas communes entre les machines du Cluster web. La création se fera sur le node01 et on va vérifier que la réplication de la structure se fasse automatiquement sur les node02 et node03.

Sur le Node01

[root@node01-webw ~]# mkdir /sharegfs/etc
[root@node01-webw ~]# mkdir /sharegfs/www

Sur les Node02 et Node03

La réplication de données sur le Cluster est fonctionnelle. On vient de relier le Cluster GlusterGFS avec le Cluster Web apache/PHP

7°) Installation Apache(3 nœuds web)

[root@node01-webw ~]# yum install -y httpd
[root@node01-webw ~]# systemctl enable httpd && systemctl start httpd

Activer les rules Firewall pour Apache

[root@node01-webw ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@node01-webw ~]# firewall-cmd --reload

8°) Installation PHP5.6 et modules(3 nœuds web)

[root@node01-webw ~]# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@node01-webw ~]# yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@node01-webw ~]# yum install -y yum-utils
[root@node01-webw ~]# yum-config-manager –enable remi-php56

[root@node01-webw ~]# yum install php php-common php-mysql php-gd php-xml php-mbstring php-mcrypt php-xmlrpc

[root@node01-webw ~]# php -v

9° Installation site Test (sur node01-webw)

Fichier index.php

[root@node01-webw ~]# yum install vim
[root@node01-webw ~]# mkdir /sharegfs/www/site1
[root@node01-webw ~]# touch /sharegfs/www/site1/index.php
[root@node01-webw ~]# vim /sharegfs/www/site1/index.php
<?php
echo "</h2> Site de TEST </h2>";
// afficher le nom du fichier de script éxécuté
          echo $_SERVER['PHP_SELF'];
          echo "<br>";
// afficher l’adresse IP du serveur où le script est éxécuté
          echo $_SERVER['SERVER_ADDR'];
          echo "<br>";
// afficher le nom d’hôte du serveur
         echo $_SERVER['SERVER_NAME'];
         echo "<br>";
// afficher la méthode de requête (‘GET’, ‘HEAD’, ‘POST’, ‘PUT’)
         echo $_SERVER['REQUEST_METHOD'];
         echo "<br>";
// afficher les paramètres de l’URL
         echo $_SERVER['QUERY_STRING'];
         echo "<br>";
// afficher le nom du répertoire racine du script
         echo $_SERVER['DOCUMENT_ROOT'];
         echo "<br>";
// afficher le nom d’hôte de la machine cliente
         echo $_SERVER['HTTP_HOST'];
         echo "<br>";
// afficher les informations sur le navigateur utilisé
         echo $_SERVER['HTTP_USER_AGENT'];
         echo "<br>";
// afficher l’adresse IP du client
         echo $_SERVER['REMOTE_ADDR'];
         echo "<br>";
?>
[root@node01-webw ~]# chown -R apache.apache /sharegfs/www
[root@node01-webw ~]# chmod -R 755 /sharegfs/www

Fichier de conf VirtualHost

[root@node01-webw ~]# mkdir -p /sharegfs/etc/httpd/conf.d
[root@node01-webw ~]# touch /sharegfs/etc/httpd/conf.d/site1.conf
[root@node01-webw ~]# cp /etc/httpd/conf.d/php.conf /sharegfs/etc/httpd/conf.d/
[root@node01-webw ~]# vim /sharegfs/etc/httpd/conf.d/site1.conf
<VirtualHost *:80>
          ServerName site1.house.cpb
          ServerAlias house.cpb
          DocumentRoot /sharegfs/www/site1
          DirectoryIndex index.php

<Directory /sharegfs/www/site1/>
          Options Indexes FollowSymLinks
          AllowOverride All
          Require all granted
</Directory>

</VirtualHost>

Modifier les conf Apache (3 nœuds web)

[root@node01-webw ~]# vim /etc/httpd/conf/httpd.conf

Modifier

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
#IncludeOptional conf.d/*.conf
IncludeOptional /sharegfs/etc/httpd/conf.d/*.conf
[root@node01-webw ~]# systemctl reload httpd

Visualiser le fonctionnement des 3 machines du site1 localisé sur le Cluster de fichier distribué.

  • Il Faut pour cela prendre une machine du Subnet 172.16.186.0/24.
  • Ici une Machine Windows IP 172.16.186.100

Views: 7

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *