WikiBtsSio

20150409InstallationArchitecture3tiers

Installation d'une architecture 3 tiers


Objectifs : Être capable d'installer et de comprendre les besoins d'un développeur web au sein d'une architecture 3 tiers.
Conditions de réalisation : Environnement Debian
Compte-rendu : Vous utiliserez comme d'habitude GoogleDocs il doit ressembler à un tutoriel. En faisant apparaître tous les éléments que vous avez dû utiliser pour réussir cette installation.
Durée: 4 H


  • Un développeur de site web a besoin d'un environnement de test pour travailler. Cet environnement est constitué d'un serveur web, d'un langage de programmation comme PHP, d'un SGBD et d'un navigateur internet. Ces composants (navigateur, serveur web et SGBD) forment ce qu'on appelle une architecture 3 tiers.

  • Pour la réalisation de ce TP, vous aurez besoin de 2 machines virtuelles Debian. Une pour installer et configurer le serveur web avec PHP, l'autre pour héberger le SGBD.

1. Cloner votre disque dur de votre machine debian à l'aide de la commande VboxManage.
Quelques liens :

2. Sur votre première machine debian, vous allez installer le serveur Web ainsi que PHP. Vérifiez bien que votre carte réseau est en accès par pont et que vous avez bien une adresse IP à l'aide de la commande ifconfig. Vous installerez les paquets suivants : apache2, php5, libapache2-mod-php5, php5-mysql et phpmyadmin à l'aide de la commande apt-get.

3. Testez le bon fonctionnement de votre serveur en créant une page test.php dans le répertoire /var/www contenant le code suivant :
<?php
 phpinfo
();
?>


et en lançant votre navigateur sur l'URL : http://@IP_serveur_web/test.php

4. Sur votre second serveur, vous allez installer le SGBD MySQL. Vérifiez bien que votre carte réseau est en accès par pont et que vous avez bien une adresse IP à l'aide de la commande ifconfig. Installez le paquet mysql-server. Retenez bien le mot de passe que vous avez utilisé pour le compte root de MySQL.
Le SGBD est bien installé mais pour l'instant par mesure de sécurité, il n'accepte pas de connexion venant d'un autre ordinateur.

5. Modifier le ficher /etc/mysql/my.cnf en modifiant la ligne bind-address = 127.0.0.1 par bind-address = 192.168.x.0 (1) pour que tout le réseau puisse communiquer avec votre serveur et donc votre serveur web.
Il faut ensuite redémarrer le service MySQL en saisissant la commande : /etc/init.d/mysql-server restart
Attention cette adresse (1) va dépendre de la salle où vous vous trouvez.

6. Testez le bon fonctionnement de votre serveur en saisissant depuis Ubuntu ou de votre serveur web la commande :
telnet @IP_mysql 3306. Vous devez obtenir une réponse.

7. Maintenant, il reste à configurer phpmyadmin. C'est un outil écrit en PHP qui permet d'administrer un serveur mysql à partir d'une interface web. Pour cela, il faut modifier le fichier /etc/phpmyadmin/config.inc.php.


Remarque : penser à faire une sauvegarde de tous vos fichiers de configuration avant de les modifier.
Pour cela, créez une copie avec l'extension .bak.

Exemple : je veux créer une copie du fichier /etc/mysql/my.cnf, je saisis la commande :
cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak

Pour vérifier que le port 3306 est ouvert :
  • Installer nmap
  • nmap -v 192.168.0.158 -p 3306
L'adresse I.P. est donnée pour l'exemple bien entendu.

Exemple de réponse à la commande précédente :
Starting Nmap 5.00 ( http://nmap.org ) at 2015-05-10 21:17 CEST
NSE: Loaded 0 scripts for scanning.
Initiating Parallel DNS resolution of 1 host. at 21:17
Completed Parallel DNS resolution of 1 host. at 21:17, 0.06s elapsed
Initiating SYN Stealth Scan at 21:17
Scanning 192.168.0.158 [1 port]
Completed SYN Stealth Scan at 21:17, 0.01s elapsed (1 total ports)
Host 192.168.0.158 is up (0.00s latency).
Interesting ports on 192.168.0.158:
PORT STATE SERVICE
3306/tcp closed mysql

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds
  • Raw packets sent: 1 (44B) | Rcvd: 2 (84B)
root@debian:~#

Autre utilisation de la commande nmap :
root@debian:~# nmap 192.168.0.158

Starting Nmap 5.00 ( http://nmap.org ) at 2015-05-10 21:19 CEST
Interesting ports on 192.168.0.158:
Not shown: 995 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 0.26 seconds
root@debian:~#

Une fois la ligne skip-external-locking décommenté voici ce que l'on obtient :

root@debian:/etc/mysql# nmap -v 192.168.0.158 -p 3306

Starting Nmap 5.00 ( http://nmap.org ) at 2015-05-10 21:43 CEST
NSE: Loaded 0 scripts for scanning.
Initiating Parallel DNS resolution of 1 host. at 21:43
Completed Parallel DNS resolution of 1 host. at 21:43, 0.06s elapsed
Initiating SYN Stealth Scan at 21:43
Scanning 192.168.0.158 [1 port]
Discovered open port 3306/tcp on 192.168.0.158
Completed SYN Stealth Scan at 21:43, 0.01s elapsed (1 total ports)
Host 192.168.0.158 is up (0.00019s latency).
Interesting ports on 192.168.0.158:
PORT STATE SERVICE
3306/tcp open mysql

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds
  • Raw packets sent: 1 (44B) | Rcvd: 2 (88B)
root@debian:/etc/mysql#


Lien à consulter :

Penser à décommenter la ligne contenant skip-external-locking