Mission : Serveurs

PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
1/40
S2-SIO
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Sommaire
Objectifs :............................................................................................................................................. 3
Solutions retenues pour l’architecture de serveurs............................................................................... 3
Schéma Visio ....................................................................................................................................... 4
Création d'une DMZ............................................................................................................................. 4
Configuration des équipements....................................................................................................... 5
Le support des serveurs........................................................................................................................ 7
Installation de Ubuntu Server 13.10..................................................................................................... 7
Configuration réseau du serveur Ubuntu............................................................................................13
Le serveur WEB................................................................................................................................. 14
Apache........................................................................................................................................... 14
Installation de base.........................................................................................................................14
Fichier de configuration.................................................................................................................15
Les sites avaliables.........................................................................................................................15
MySQL Server....................................................................................................................................16
Quelques commandes utiles...........................................................................................................16
Configuration ................................................................................................................................ 16
Ajouter ou changer le mot de passe de root du serveur SQL........................................................16
Connexions entrantes..................................................................................................................... 16
PhpMyAdmin..................................................................................................................................... 17
Installation..................................................................................................................................... 17
OpenSSH ........................................................................................................................................... 18
Installation .................................................................................................................................... 18
Clients SSH pour Windows........................................................................................................... 18
PHP .................................................................................................................................................... 22
Le serveur FTP................................................................................................................................... 22
Configuration du serveur FTP ..................................................................................................... 22
Création des utilisateurs pour le serveur FTP........................................................................... 24
Test du serveur.......................................................................................................................... 25
Sécurisation de SSH..................................................................................................................26
Le serveur de temps (NTP).................................................................................................................27
Le serveur DNS.................................................................................................................................. 29
Sites WEB et Noms de Domaine........................................................................................................34
Plusieurs sites web sur un serveur Apache.................................................................................... 34
Méthode................................................................................................................................... 34
Test des serveur web................................................................................................................. 37
Configuration du serveur DNS...................................................................................................... 38
2/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Objectifs :
Mise en place d'une architecture de serveurs Web, SGBD, FTP, NTP et TFTP.
Les ressources spécifiques :
➢
➢
➢
➢
➢
➢
Un serveur Web Intranet
Un serveur FTP Interne
Un serveur de Base de données
Un serveur de temps
Un serveur TFTP
Un serveur DNS
Règles budgétaires :
L'un des serveurs (WEB, SGBD) devra être installé sous un OS Open Source et gratuit.
Solutions retenues pour l’architecture de serveurs.
Les Systèmes d'exploitation
Nous avons choisis Ubuntu Server 13.10 comme OS de base pour les serveur WEB, FTP, BDD,
NTP et MS WINDOWS Server 2008 R2 pour le serveur DNS.
Les serveurs
Sous Ubuntu server
Serveur FTP : PROFTPD
Serveur WEB : APPACHE 2
Serveur de BDD : MYSQL SERVER
Serveur de Temps : NTP
De plus, nous avons installé une interface Web de gestion de BDD, PHPMYADMIN, pour faciliter
l'utilisation de notre serveur MYSQL ainsi qu'un serveur PHP. Pour l'accès et prise de contrôle à
distance nous utilisé Open SSH sur le serveur Web.
Sous Windows Serveur
Nous avons utiliser le rôle DNS de WINDOWS Serveur 2008 R2
3/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Schéma Visio
Création d'une DMZ
La DMZ (zone démilitarisée) étant le point de contact externe pour tous les serveurs d'applications,
de base de données, de transferts de fichiers..., celle-ci doit être est un réseau séparé et isolé
logiquement du réseau local.
Nous avons donc crée un VLAN nommé DMZ dans lequel nous avons placé tous nos serveur
virtuels représentés dans le schéma Visio ci-dessus.
4/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Configuration des équipements
Le switch
Afin de former une DMZ, nous avons créé un VLAN de niveau 1 dans lequel nous avons placé le
serveur physique qui servira de support pour nos machines virtuelles.
Commandes
// Création du Vlan 2
Switch>en
Switch(config)#conf t
Switch(config)#vlan 2
Switch(config-vlan)#name DMZ
Switch(config-vlan)# ex
// Affectation des ports 1 et 2 au Vlan 2
Switch(config)#interface range fastEthernet 0/1-2
Switch(config-if)#swichtport mode access
Switch(config-if)#switchport access vlan 2
Sécurisation du switch
// Activation du service password-encryption.
Routeur(config)#service password-encryption
// Création du mot de passe pour la ligne console
Router(config)#enable secret trav5
Router(config)#line console 0
Router(config-line)#password trav5
Router(config-line)#login
Router(config-line)#exit
// Création un mot de passe pour les 5 lignes virtuelles
Router(config)#line vty 0 4
Router(config-line)#password trav5
Router(config-line)#login
Router(config-line)#end
La commande wr permet de sauvegarder la configuration courante.
5/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Le routeur
Commandes
// configuration des interfaces
// interface 0/1
Router#conf t
Router(config)#interface gigabitEthernet 0/1
Router(config-if)#ip address 172.20.0.105 255.255.0.0
Router(config-if)#ip nat outside
Router(config-if)#no shutdown
// interface 0/2
Router(config-if)#ex
Router(config)#interface gigabitEthernet 0/2
Router(config-if)#ip address 172.16.1.254 255.255.0.0
Router(config-if)#ip nat inside
Router(config-if)#no shutdown
// Sous-interface 0/2.2
Router(config)#interface fastEthernet 0/2.2
Router(config-subif)#encapsulation dot1Q 2
Router(config-subif)#ip address 172.162.20.254 255.255.0.0
Router(config-subif)#no shutdown
//Activation du Nat avec la liste d'adresse IP autorisée a être translatées
Router#access-list 10 permit 172.162.0.0 0.255.255.255
Router(config)#ip nat inside source list 10 interface gigabitEthernet 0/1 overload
//Route par défaut
Router#conf t
Router(config)#ip route 0.0.0.0 0.0.0.0 172.20.0.254
Router(config)#ex
Router#write
6/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Le support des serveurs
L'OS utilisé pour le serveur Web est Ubuntu Server 13.10. Celui-ci sera virtualisé avec l'hyperviseur
de niveau 2 VirtualBox.
Procédure d'installation
La première étape consiste à créer une nouvelle machine virtuelle destinée à accueil Ubuntu Server.
Installation de Ubuntu Server 13.10
7/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Prérequis
Le minimum requis pour l'installation de Ubuntu Server est de 128Mo RAM et un espace disque de
500 Mo.
L'édition serveur offre un socle pour le support de serveurs applicatifs de toutes sortes. C'est une
version minimale de la plate-forme, qui permet d'offrir les services désirés comme le partage de
fichiers, le service d'impression, l'hébergement de sites web, le service de messagerie...
Les premières étapes pour installer Ubuntu Serveur depuis une image (ISO) sont les mêmes que
pour installer n'importe quel système d'exploitation.
Le processus d'installation vous demande de choisir la disposition du clavier.
8/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
Vous devez ensuite nommer la machine. Ici (trav5).
Création d'un utilisateur.
9/40
S2-SIO
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Le programme d'installation vous demande si vous souhaitez chiffrer votre répertoire personnel.
Vous pouvez choisir entre de nombreuses options de partitionnement du disque. Nous utiliserons le
disque entier.
10/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Configuration du serveur mandataire. (proxy)
Pendant l'installation, vous avez la possibilité d'installer des paquets additionnels. Ces paquets sont
groupés par type de service.
Dans notre cas nous choisissons d'installer les paquets suivants :
➢ Serveur LAMP (Linux/Apache/MySQL/PHP).
➢ Serveur OpenSSH pour permettre la connexion distante au serveur, l'accès et le transferts
des fichiers.
11/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Définition d'un mot de passe pour l'accès au serveur de BDD en tant que utilisateur ROOT.
Installer le programme de démarrage GRUB.
L'installation est à présent terminée.
Il y aura deux machines virtuelles fonctionnant sous Ubuntu. L'une hébergera les serveurs
Apache/Mysql/PHP ainsi que le SGBD Phpmyadmin et OpenSSH et l'autre hébergera les serveurs
FTP, NTP, TFTP. Enfin, nous utiliserons une 3eme VM sous Windows Server 2008 R2 pour le
serveur DNS.
12/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Configuration réseau du serveur Ubuntu
Pendant la phase d'installation il est possible de choir l'option DHCP ou Statique pour l’obtention de
la configuration IP. Cependant il possible de modifier cette option à n'importe quel moment.
Ubuntu Server ne possédant pas d'interface graphique, il est nécessaire de réaliser cette opération en
ligne de commande.
Il faut tout d'abord mettre en marche la machine virtuelle et s'identifier avec le nom d'utilisateur et
le mot de passe définit pendant l'installation.
Ensuite, tapez la commande suivante : sudo vi /etc/network/interfaces
Sudo permet d'effectuer des tâches administratives, vous serez donc invité à renseigner votre mot
de passe root.
Dans l'exemple ci-dessous nous utilisons PuTTY pour nous connecter à distance à l'aide du
protocole SSH.
La commande sudo vi /etc/network/interfaces permet d'éditer le fichier de configuration des
interfaces du serveur Ubuntu.
A la ligne iface eth0 inet dhcp, remplacez dhcp par static.
Ajoutez les lignes suivantes address / netmask / network / broadcast / gateway comme sur la
capture ci-dessus.
13/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Informations complémentaire sur l'utilisation de l'éditeur de texte Vi
Pour modifier le texte, il est nécessaire de passer en mode INSERTION en appuyant sur la touche i.
Pour quitter le mode INSERTION appuyez sur Echap.
Autres commandes :
Exemples
Action
i
Passer en mode insertion
A
Ajouter en fin de ligne
:q
Quitter
:q!
Quitter sans enregistrer
:w
Enregistrer le fichier
:wq
Enregistrer et quitter
:x
Enregistrer (seulement en cas de modification) et quitter
:set paste
Passer en mode "collage"
Une fois le fichier de configuration renseigné en enregistré il faut réinitialiser la configuration
réseau sans redémarrer le serveur en tapant la commande : sudo /etc/init.d/networking restart
Le serveur WEB
Nous avons choisis d'installer des paquets supplémentaires lors de la phase d'installation de l'OS,
notamment LAMP qui est un serveur Linux/Apache/MySQL/PHP prêt à l'emploi. Cependant une
solution alternative consisterait à installer les différents serveurs manuellement. Nous détaillerons
donc les procédures à suivre.
Apache
Apache 2 est le serveur libre que nous utilisons en guise de serveur WEB. C'est le plus populaire
des serveurs HTTP. Il est produit par la « Apache Software Foundation » et il est fourni sous une
licence spécifique Apache.
Installation de base
L'installation du serveur apache peut se faire manuellement en ligne de commande. (pas d'interface
graphique avec Ubuntu Server) en tapant la commande ci-dessous.
sudo apt-get install apache2
la suite de cette installation le serveur doit fonctionner et être accessible depuis la machine locale à
l'adresse suivante http://localhost ou l'adresse IP locale.
14/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Fichier de configuration
Les fichiers de configuration de Apache2 sont dans le dossier /etc/apache2
Le fichier /etc/apache2/apache2.conf permet entre autre :
–
de définir le répertoire racine à la ligne ServerRoot "/etc/apache2"
–
de définir de délais d'attente dépassé : Timeout 300
–
de définir le chemin du fichier de log des erreurs du serveur ErrorLog
/var/log/apache2/error.log
Les sites avaliables
/etc/apache2/sites-available/default
Ce fichier contient les différents vhosts (hôtes virtuelles) et permet de définir plusieurs sites sur une
même machine.
15/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
MySQL Server
MySQL est un système de gestion de bases de données relationnelles libre, gratuit et performant.
L'installation manuelle s'effectue en tapant la commande : sudo apt-get install mysql-server
Quelques commandes utiles
Pour démarrer le serveur MySQL → sudo service mysql start
Pour redémarrer le serveur MySQL → sudo service mysql restart
Pour arrêter le serveur MySQL → sudo service mysql stop
Pour que MySQL prenne en compte les modifications → sudo service mysql reload
Pour forcer MySQL à recharger ses fichiers de configuration → sudo service mysql force-reload
Configuration
Lancement de la console Mysql → mysql -u root -p VotreMotDepasse
Le prompt suivant doit apparaître : mysql>
Il est maintenant possible de taper les requêtes SQL.
Ajouter ou changer le mot de passe de root du serveur SQL
sudo mysqladmin -u root password Nouveau_mot_de_passe -p Ancien_mot_de_passe
Connexions entrantes
Par défaut, MySQL n'écoute que les connexions venant de localhost (127.0.0.1). Pour pouvoir
accéder à MySQL depuis un autre poste, ajoutez la ligne suivante au fichier /etc/mysql/my.cnf dans
la section « [mysqld] » :
bind-address = x.x.x.x
x.x.x.x est l'adresse ip de l'interface sur laquelle MySQL doit écouter. Cela permet de n'écouter que
sur une ip privée si vous avez plusieurs interfaces réseaux.
16/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
PhpMyAdmin
PhpMyAdmin est une interface d'administration pour MySQL.
Il permet d'administrer:
•
•
•
•
•
les bases de données
les tables et leurs champs
les index, les clés primaires et étrangères
les utilisateurs de la base et leurs permissions
exporter les données dans divers formats
Installation
L'installation s'effectue en ligne de commande : sudo apt-get install phpmyadmin
Vous pouvez modifier le mot de passe d'administration :
sudo htpasswd /etc/phpmyadmin/htpasswd.setup admin
L'accès à phpmyadmin ce fait à l'adrsse : http://localhost/phpmyadmin.
Si la page n'est pas accessible, liez phpmyadmin et votre serveur apache avec la commande :
sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin
17/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
OpenSSH
OpenSSH est une version libre de la suite de protocole de SSH. Nous l'utiliserons sur l'ensemble de
machines virtuelles fonctionnant sous Ubuntu Server pour transférer des fichier et pour prendre la
main à distance. Contrairement à FTP et Telnet, SSH chiffre tout le trafic (mot de passe inclus).
SSH remplace de manière sécurisée FTP pour l'accès au répertoire racine du serveur Apache et nous
permet d'effectuer la totalité des opérations courantes et d'administration de la machine virtuelle
distante grâce a un shell.
Installation
L'installation s'effectue en ligne de commande : sudo apt-get install openssh-server
Commande utiles
Le serveur SSH fonctionne en tant que service. Par défaut il sera lancé au démarrage de la machine.
➢ Activer le serveur SSH : sudo service ssh start
➢ Arrêter : sudo service ssh stop
➢ Relancer : sudo service ssh restart
Clients SSH pour Windows
Accès à distance
PuTTY remplace très avantageusement le client Telnet livré avec Windows en permettant l'accès
SSH.
18/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Dans notre exemple, le client SSH (Putty) est installé sur un hôte se trouvant sur me même réseau
que le serveur Ubuntu. Dans le champs Host Name, il faut renseigner l'adresse IP du serveur
Ubuntu. Dans l'encart Connexion type cochez SSH. Puis cliquez sur Open.
Ceci à pour effet d'ouvrir un Shell. Il faut s'identifier avec un nom d'utilisateur et un mot de passe.
Si les informations fournies sont correctes alors le promt utilisateur@nom-de-la-machine:~$ doit
apparaître indiquant que vous avez la main sur le serveur.
19/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Le transfert de fichiers
WinSCP est un client SFTP graphique pour Windows. Il utilise SSH et est open source. Il permet la
copie sécurisée de fichiers entre un ordinateurs.
Pour établir une connexion, il est nécessaire de renseigner le nom d'hôte (IP du serveur), le nom
d'utilisateur et le mot de passe.
Si les informations sont correctes, le gestionnaire de fichiers s'ouvre directement dans le répertoire
de l'utilisateur dans la fenêtre de droite.
Il est, ensuite, possible de se déplacer dans l'ensemble des répertoires du serveur et d'y copier,
modifier, supprimer ou ajouter des fichiers et de répertoires.
20/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
La configuration par défaut du serveur SSH sous Ubuntu est suffisante pour fonctionner
correctement. Le fichier de configuration à éditer avec les droits d'administration est
/etc/ssh/sshd_config.
21/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
PHP
PHP utilisé en association avec MySQL est un langage de script nécessaire pour production de
pages web dynamiques. Il est déjà fonctionnel car il est inclus dans la suite LAMP cependant il est
possible de l'installer manuellement avec la commande sudo apt-get install php5
Le serveur FTP
Les serveurs FTP, TFTP, NTP seront installés sur une autre machine virtuelle dont l'OS est
également Ubuntu Server 13.10. La configuration de base est identique à la VM servant de serveur
WEB. Seul le nom d'hôte de la machine (FTP-NTP) et l'adresse IP (172.162.20.51) change.
OpenSSH est également installé sur cette VM afin de réaliser les opérations courantes et
d'administration à distance.
Nous avons choisit ProFTPd comme solution pour notre serveur. L'installation se fait en ligne de
commance : sudo apt-get install proftpd.
Pendant la phase d'installation une question est posée Lancer ProFTPd à partir d'inetd ou
indépendamment ?
➢ inetd est utilisé pour un serveur FTP léger.
➢ Indépendamment est utilisé pour un serveur important et puissant.
Configuration du serveur FTP
Pour configurer le serveur FTP, il faut éditer le fichier de configuration: /etc/proftpd/proftpd.conf
Commande : sudo vi /etc/proftpd/proftpd.conf
Cette commande ouvre le fichier de configuration de l’utilitaire proftpd dans l'éditeur de texte vi.
Nous utilisons se fichier pour Chrooter les utilisateurs afin de les isoler dans leur propre répertoire
afin ne pas compromettre le système.
22/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Les changements apportés :
DisplayChdir : ~
DefaultRoot :~
Ces deux modifications font que chaque utilisateur sera connecter à son répertoire de travail par
défaut et ne pourra accéder aux répertoire parents. Il sera donc isolé dans son propre répertoire.
23/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Création des utilisateurs pour le serveur FTP
Pour créer un nouvel utilisateur pour le serveur FTP, il suffit de créer un utilisateur d'ubuntu en
ligne de commande avec adduser.
Exemple ci-dessous : Création de l'utilisateur TRAV3 (sudo adduser trav3)
Nous avons créé un utilisateur pour chaque ligue.
Vérification de la liste des utilisateurs.
24/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Test du serveur
Test de connexion au serveur FTP avec les identifiants trav4/trav4.
La connexion est établie. Nous avons accès au répertoire /home/trav4 dans lequel nous pouvons
lire et écrire sans pouvoir en sortir.
25/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Sécurisation de SSH
Si vous avez a créer un petit nombre d'utilisateurs FTP, il n'est pas nécessaire de créer des
utilisateurs virtuels, cependant il est impératif de limiter l’accès en SSH.
Pour sécurité l'accès SSH nous déclarons un seul utilisateur administrateur (trav5) autorisé en
ajoutant une ligne dans le fichier de configuration /etc/ssh/sshd_config
Pour éditer le fichier de configuration, tapez : sudo vi /etc/ssh/sshd_config
et ajouter la ligne AllowUsers « nom-utilisateur »
Pour enregistrer les modifications tapez :wq
Pour que celles-ci soit prises en compte, il faut relancer SSH avec la commance :
sudo /etc/init.d/ssh restart
Test de connexion
Nous tentons de nous connecter en ssh avec l'identifiant trav4
Access denied l'utilisateur est rejeté.
L'identification avec l'utilisateur trav5 fonctionne. Le filtrage est opérationnel.
26/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Le serveur de temps (NTP)
NTP (Network Time Protocol) est un protocole permettant de distribuer l'heure sur un réseau
informatique. Il fonctionne sur le principe client/serveur.
Nous avons installé le serveur de temps sur la même machine virtuelle que le serveur FTP. La
procédure d'installation se fait en ligne de commande en tapant : sudo apt-get install ntp
Aucune configuration supplémentaire n'est nécessaire. Il est toutefois possible de vérifier son
fonctionnement avec la commande ntpq -p
Liste de les serveurs
Sous Windows, un client NTP compatible est déjà inclus. Pour synchroniser un poste vous devez
cliquez sur l'heur en bas à droit de l'écran, puis sur modifier les paramètres de la date et l'heure.
27/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Cliquez sur Temps Internet puis Modifier les paramètres.
Vous devez indiquer l'adresse IP ou le nom d'hôte du serveur. La case Synchroniser avec un
serveur de temps internet doit être cochée.
28/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Le serveur DNS
Pour le serveur DNS nous avons choisis d'utiliser Windows Server 2008 R2. Nous ne détaillerons
pas l'installation du système d'exploitation.
Pour créer un serveur DNS sous Windows server, il faut cliquer que Gérer les serveurs.
Cliquez, ensuite, sur Ajouter des rôles. Cocher la case Serveur DNS puis cliquez sur installer.
L'installation de rôle terminé, vous devez configurer votre serveur.
29/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Pour configurer le serveur DNS, il faut faire un clique droit sur son nom, puis cliquer sur
Configurer un serveur DNS.
L'assistant de configuration s'ouvre alors.
30/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Dans la fenêtre suivante nous choisissons de créer une zone de recherche directe.
Ce serveur assure la maintenance de la zone.
31/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Création du fichier de zone. Le nom de notre zone est M2L.lab
Mise à niveau dynamique. Nous choisissons d'autoriser les mises à jours dynamiques sécurisés et
non sécurisés.
32/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Définition des serveurs redirecteurs. Nous indiquons les adresse des serveurs DNS de Google.
L'installation est à présent terminée.
Le Nom DNS M2L.lab est maintenant opérationnel.
33/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Sites WEB et Noms de Domaine
Le cahier des charges stipule que le nom de domaine de la maison des ligues est m2l.lab et que
chaque ligue se voit attribuer un nom de sous-domaine.
Exemple : la ligue disc-golf aura pour nom de sous-domaine giscgolf.m2l.lab.
Plusieurs sites web sur un serveur Apache
Le serveur web est configuré ,par défaut, pour accueillir un seul site web dans son répertoire racine.
Il est donc nécessaire de réaliser un certain nombre de modifications afin que celui-ci puisse
héberger un site par ligue.
Enfin, nous reviendront à la configuration de notre serveur DNS pour y créer les sous-domaines
des 4 ligues et nous les ferons pointer vers leurs sites respectifs.
Méthode
Le Serveur Apache2 est capable de gérer simultanément plusieurs arborescences Web grâce à la
notion d'hôtes Virtuels. Pour ce faire nous avons choisis la méthode dite Hôtes virtuels basés sur
l'adresse IP.
Pour utiliser cette méthode, le Serveur Ubuntu doit être doté de plusieurs interfaces réseau.
Cependant les distributions Ubuntu et Debian embarquent la fonction IP Aliasing qui permet
d'associer plusieurs adresses IP virtuelles à une seul interface physique. (comme les routeur Cisco)
Nous allons héberger 5 sites web, il nous faut donc 5 adresse IP.
La commande ifconfig permet d'afficher la configuration réseau de la machine. Les informations
qui nous intéressent, ici, sont : l'interface réseau (eth0) et l'adresse IP (172.162.20.50)
Pour associer une 1er adresse IP à l'interface eth0, il faut taper la commande suivante :
sudo ifconfig eth0:0 172.162.20.60
Il procéder de la même manière pour les autres adresses.
sudo ifconfig eth0:1 172.162.20.61
sudo ifconfig eth0:2 172.162.20.62
sudo ifconfig eth0:3 172.162.20.63
sudo ifconfig eth0:4 172.162.20.64
Nous disposons maintenant de 5 nouvelles adresses IP pour une même interface. Pour vérifier la
configuration, il suffit de taper la commande ifconfig -a
34/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Création des hôtes virtuels
Nous pouvons désormais créer nos Hôtes Virtuels auxquels nous associerons les adresses ip crées
précédemment.
Tout d'abord, nous renseignons le fichier /etc/hosts avec les noms des sites que l'on associera à au
adresse ip respectives. Cela permettra de résoudre les noms en local.
Commande d'édition du fichier HOSTS.
sudo vi /etc/hosts
Il faut alors ajouter puis enregistrer les lignes suivantes :
172.162.20.60
m2l.lab
172.162.20.61
discgolf.m2l.lab
172.162.20.62
athletisme.m2l.lab
172.162.20.63
badminton.m2l.lab
172.162.20.64
canoe.m2l.lab
Il faut à présent créer les 5 hôtes virtuels.
Pour cela, nous devons créer un fichier pour chaque hôte et le stocker dans le répertoire :
/etc/apache2/sites-available
35/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Pour créer un fichier texte, il faut utiliser l'utilitaire vim.
Exemple, pour créer le fichier discgolf.conf, tapez : sudo vi /etc/apache2/sites-available
Nous avons créé 5 fichiers :
➢
➢
➢
➢
➢
m2l.conf
discgolf.conf
athletisme.conf
badminton.conf
canoe.conf
Contenu des fichiers
m2l.conf
<VirtualHost 172.162.20.60:80>
DocumentRoot
/var/www/m2l.lab
ServerName m2l.lab
</VirtualHost>
discgolf.conf
<VirtualHost 172.162.20.61:80>
DocumentRoot
/var/www/discgolf.m2l.lab
ServerName discgolf.m2l.lab
</VirtualHost>
athletisme.conf
<VirtualHost 172.162.20.62:80>
DocumentRoot
/var/www/athletisme.m2l.lab
ServerName athletisme.m2l.lab
</VirtualHost>
badminton.conf
<VirtualHost 172.162.20.63:80>
DocumentRoot
/var/www/badminton.m2l.lab
ServerName athletisme.m2l.lab
</VirtualHost>
canoe.conf
<VirtualHost 172.162.20.64:80>
DocumentRoot
/var/www/canoe.m2l.lab
ServerName canoe.m2l.lab
</VirtualHost>
Dans chacun des fichiers de configuration, on retrouve pour l'hôte virtuel, l'adresse IP choisie, ainsi
que le port (80). Les 2 directives minimales sont DocumentRoot et ServerName.
36/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
DocumentRoot permet de déclarer l'emplacement de l'arborescence Web de l'hôte virtuel
(l'emplacement des fichiers sur votre système). Le nom du répertoire ne doit pas comporter le
caractère / final.
ServerName permet de définir le nom de domaine du Serveur Virtuel.
Création des répertoires racine
Il faut créer un répertoire par site dans le répertoire racine d'Apache qui par défaut se trouve à
/var/www.
La commande mkdir permet de créer un répertoire et chmod permet de changer les doits d'accès.
Les 5 répertoires à créer sont : m2l.lab / discgolf.m2l.lab / athletisme.m2l.lab / badminto.m2l.lab /
canoe.m2l.lab.
Activation des hôtes virtuels
Il ne reste plus qu'a activer les 5 hôtes virtuels avec la commande a2ensite.
Exemple (discgolf.conf) : sudo a2ensite discgolf.conf
Après avoir activé les 5 hôtes, relancez Apache.
sudo /etc/init.d/apache2 reload
Test des serveur web
Nous avons placé un fichier texte avec l'extension .html dans chacun des répertoires des différents
sites. Chaque fichier contient un message personnalisé. Exemple « le site discgolf fonctionne. »
En tapant l'adresse ip des différents sites web dans la barre d'adresse du navigateur, les messages
s'affichent bien.
Notre serveur gère bien les différentes arborescences WEB. Il ne reste plus qu'a paramétrer notre
serveur DNS pour rendre la résolution de nom effective.
37/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Configuration du serveur DNS
Nous avions précédemment installé le rôle DNS sur un serveur Windows 2008 R2 et nous avions
créé une zone de recherche directe nommée m2l.lab.
Il ne reste plus qu'a créer les sous-domaines discgolf.m2l.lab, athletisme.m2l.lab... et les faire
pointer vers les adresses IP des serveurs http associés.
Procédure
Allez à : Gérer les serveur – Rôles – DNS
Dépliez l'arborescence et faite un clique droit sur le nom de la zone de recherche (m2l.lab).
Dans le menu contextuel, cliquez sur Nouvel hôte (A ou AAAA)...
Dans le premier champs, tapez le nom de domaine de la ligue. Dans le champs FQDN, le nom de
domaine complet apparaît. Renseigner alors l'adresse IP du serveur et enregistrer. Procédez de la
même manière pour tout les serveurs.
38/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
Une fois les manipulations faite, nous devons trouver 5 nouveaux enregistrements.
Chaque enregistrement contient une relation Adresse IP/nom de domaine.
Nous devons trouver les relations suivantes :
➢ m2l.lab / 172.162.20.60
➢ discgolf.m2l.lab / 172.162.20.61
➢ athletis.m2l.lab / 172.162.20.62
➢ badminton.m2l.lab / 172.162.20.63
➢ canoe.m2l.lab / 172.162.20.64
Pour vérifier les fonctionnement des noms de sous-domaine, il suffit des les taper dans la barre
d'adresse du navigateur.
! Attention ! Il faut indiquer l'adresse du serveur DNS (172.162.20.100) dans les paramètres réseau
du poste utilisé.
1er essai : discgolf.m2l.lab
le nom de sous-domaine discgolf.m2l.lab pointe bien vers le « site » dédié à la ligue Disc-Golf.
39/40
PEREIRA / CAZIN /
SALIH / DELMONT
Mission : Serveurs
S2-SIO
2eme essai : badminton.m2l.lab
Nous avons bien, un serveur web par ligue. Chaque ligue possède son propre nom de sous-domaine.
Les test réalisés montre que le tout fonctionne correctement.
40/40