TP 05: serveur de bases de données

publicité
SI5 : Support des services et serveurs
TP n°5
TP 05: serveur de bases de données
Pour ce TP, nous utiliserons la machine virtuelle kubuntu en tant que serveur et l'ordinateur hôte ubuntu en tant que client.
Nous allons installer sue le serveur le SGBD mysql et l'interface de gestion PhpMyadmin. Ce qui nous permettra ensuite d'installer
l'application Web de réservation de salles de la M2L (Maisons des Ligues de Lorraine).
Cette application utilise une architecture client serveur 3-tiers :
client de présentation (navigateur) ↔ Application PHP (serveur Web Apache) ↔ Base de donnée SQL (SGBD Mysql)
1.
Installer le serveur SGBD Mysql
Installez le serveur de base de données relationnel mysql : mysql-server. N'oubliez pas avant de faire la mise à jour des sources de paquets.
L'installation demande de saisir un mot de passe pour le compte d'administration de mysql (root). Entrez « sio ».
Attention ce compte n'est pas le compte root du systeme, mais le compte root de mysql. C'est différent. Il est géré uniquement dans mysql.
Vérifiez que le serveur mysql est démarré. Quelle commande avez vous utilisé ? Quel est le numéro de processus du serveur mysql ?
En local tant que root, lancez l'interface de gestion en ligne de commande du SGBD avec la commande mysql:
#mysql -p
Entrez le mot de passe de l'administrateur de mysql (sio)
vous obtenez l'invite de commande de mysql :
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 65
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Vous pouvez maintenant entrer des commandes sql
faites afficher la liste des bases de données : show databases ;
connectez vous à la base de données mysql (c'est la base de donnée système) : connect mysql;
faites afficher la liste des tables de cette base de donnée : show tables ;
faites afficher le contenu de la table db : select * from db ; (il n'y en a pas encore)
faites afficher le contenu de la table user : select * from user ; (vous devez voir au moins le compte root)
On peut créer une base de donnée avec la commande CREATE DATABASE :
mysql> create database essai ;
et la supprimer :
mysql> drop database essai ;
Pour sortir de l'interface mysql, tapez 'exit'
Attention : ne supprimez aucune des bases de données système créées à l'installation. Mysql ne fonctionnerait plus du tout.
2.
Installer Phpmyadmin
Pour gérer le serveur mysql et ses bases de données, il existe une application développée en Php : Phpmyadmin.
Cette application s'installe comme un site web d'Apache.
Installez phpmyadmin. Pendant l'installation choisissez de :
–
configurer apache2 pour héberger l'application
–
installer automatiquement la base de donnée de phpmyadmin avec dbconfig-common
–
indiquer le mot de passe de l'administrateur de mysql (sio)
–
laisser le systeme choisir un mot de passe aléatoire pour la connexion de l'application phpmyadmin à sa base de données.
Lancez l'interface dans le navigateur avec l'url : http://localhost/phpmyadmin
Entrez le login 'root' et le mot de passe 'sio', vous pouvez administrer le serveur comme en ligne de commande, mais de façon plus intuitive.
Vous voyez la liste de bases de données das le bandeau de gauche. Remarquez qu'un bd nommée phpmyadmin a été ajoutée par l'installation.
Pour que la serveur Web Apache héberge l'application phpmyadmin, l'installation a également ajouté à la configuration de apache2 un fichier
nommé /etc/apache2/conf.d/phpmyadmin.conf
affichez ce fichier avec la commande 'cat'.
La première ligne du fichier : Alias /phpmyadmin /usr/share/phpmyadmin signifie que lorsqu'on indiquera le répertoire
/phpmyadmin dans l'url du navigateur, on ouvrira le répertoire /usr/share/phpmyadmin sur le serveur.
L'application Phpmyadmin n'est donc pas installé dans un virtual host mais dans un répertoire local situé en dehors de la racine habituelle
/var/www.
Dans un terminal, affichez le contenu de ce répertoire (commande ls -l ). Vous voyez la liste des fichier php du site.
Testez la connexion à phpmyadmin depuis le client (le navigateur de votre ordinateur hôte) :
✔
affichez l'adresse IP de votre serveur virtuel avec la commande ifconfig (vérifiez l'adressage statique)
✔
Testez l'interconnexion du client et du serveur par la commande ping depuis le client
✔
Ouvrez votre navigateur sur l'url http://IP-serveur/phpmyadmin ;
TP : Serveur de bases de données
Page 1/3
SI5 : Support des services et serveurs
TP n°5
La suite de l'installation se fera à distance depuis le navigateur client.
3.
Installation de l'application de réservation de salle de M2L
L'application est fournie dans une archive compressée : M2L_SysResSalles.zip.
Téléchargez et décompressez cette archive sur votre client (machine hôte). Vous obtenez trois sous-répertoires :
➢ Web contient les fichiers de l'application en php.
➢ InstallM2L contient trois scripts sql (ensembles de commandes sql) qui permettent de créer la base de donnée de l'application.
➢ ScriptsMrbs contient des scripts fournis avec l'application, que nous n'utiliserons pas pour l'instant).
Suivez la documentation fournie en annexe pour installer l'application de réservation de salles de M2L.
Quelques indications utiles :
- Pour copier le contenu d'un répertoire dans un autre :
cp -r /le/répertoire/source/* /le/répertoire/destination/ (l'option -r permet de copier aussi les sous-répertoires)
- Pour exécuter un script avec phpmyadmin :
✔ sélectionnez la base de donnée concernée (aucune si le script permet de créer la base)
✔ cliquez sur importer
✔ choisissez le fichier sql à importer
✔ sélectionnez le format SQL
✔ cliquez sur Exécuter
Quel est le nom de la base de données créée ?
Combien de tables ont été crées ?
Affichez le contenu de la table mrbs_room. Combien d'enregistrement ont été créés dans cette table ?
Quel est la capacité de la salle Lamour ?
Affichez la structure de la table mrbs_users. Combien de champs possède-t-elle ?
Quel est le type du champ email?
Ouvrez un nouvel onglet et lancez l'application de réservation des salles avec l'url : http://IP-Serveur/mdl/
Testez l'application :
✗
tests de connexion avec les trois types d'utilisateurs (administrateur, usager, visiteur)
✗
tests de réservation (création, modification et suppression de réservations)
✗
tests d'administration (création et suppression de salle, création et suppression d'utilisateur)
✗
test d'affichage des réservations.
4.
Sauvegarde de la base de données de l'application
La sauvegarde de la base de donnée peut-être réalisée soit par phpmyadmin, soit avec la commande mysql.
Sauvegarde et restauration avec phpmyadmin :
Exportez toutes les tables de la base mrbs au format SQL, en gardant les options par défaut.
Analysez le script sql produit. Que contient-il ?
Supprimez la base de donnée mrbs. Puis recréez la. Elle ne contient plus aucune table.
Restaurez le contenu de la base de donnée en important le script créé lors de la sauvegarde. Vérifiez que les réservations que vous avez
créées lors de vos tests sont bien restaurées.
5.
Programmation d'une sauvegarde quotidienne de la BD
Installation du serveur ssh sur le serveur virtuel
Installez le serveur ssh openssh-server sur votre serveur virtuel. Il vous permettra de vous connecter depuis le client en mode console.
A partir du client, ouvrez une fenêtre de terminal et connectez vous à distance sur le serveur avec la commande ssh :
ssh -l root IP-Serveur
Vous êtes connectés à distance et pouvez maintenant exécuter des commandes sur le serveur.
Sauvegarde et restauration à distance avec la commande mysql :
Nous allons lancer la sauvegarde au travers de cette connexion distante.
Vérifiez que vous êtes bien dans le répertoire /root avec la commande pwd.
Créez un sous-répertoire nommé sauvegarde-MDL.
Pour sauvegarder la BD lancez la commande suivante :
mysqldump -u root --password=sio mrbs > /root/sauvegarde-MDL/mrbs.sql
Affichez le script créé, vérifiez son contenu.
Pour programmer la sauvegarde tous les jours à 17h31 par exemple : entrez la ligne suivante à la fin du fichier /etc/crontab :
31 17 * * * root mysqldump -u root --password=sio mrbs > /root/sauvegarde-MDL/mrbs.sql
Cherchez sur internet la signification de chaque colonne d'une ligne du fichier crontab.
L'inconvénient de cette méthode est qu'on utilise toujours le même nom de fichier pour chaque sauvegarde. Donc chaque sauvegarde écrase
la précédente. Proposez une méthode pour conserver toutes les sauvegardes quotidiennes.
TP : Serveur de bases de données
Page 2/3
SI5 : Support des services et serveurs
TP n°5
Annexe : Installation du système de réservation de salles de la M2L
Présentation de la Maison des Ligues de Lorraine
La Maison des Ligues de Lorraine (M2L) a pour mission de fournir des espaces et des services aux différentes ligues sportives régionales et à
d’autres structures hébergées. La M2L est une structure financée par le Conseil Régional de Lorraine dont l'administration est déléguée au
Comité Régional Olympique et Sportif de Lorraine (CROSL).
Système de réservation des salles
La M2L met à disposition des ligues un site web de réservation des salles (réunions, amphithéâtre, restauration). Ce site est accessible en
intranet, mais aussi depuis l'internet. Les réservations payantes sont facturées par la Région aux utilisateurs. L’administration de la M2L lui
communique les informations nécessaires à cette facturation de façon hebdomadaire.
Environnement d'exécution
Le système de réservation de salles s'appuie sur deux composants logiciels :

le serveur Web Apache avec l'extension PHP en version 4 ou supérieure,

le serveur Mysql en version 4 ou supérieure avec un outil client en mode commande, ou application web tq PhpMyAdmin.
Cet environnement d'exécution peut être opérationnel rapidement sous Windows ou Linux avec les paquetages tq xampp ou EasyPhp.
Fichier archive M2L_SysResSalles.zip
Le système de réservation de salles utilisé dans l'intranet de M2L est fourni dans l'archive M2L_SysResSalles.zip. Il repose sur le logiciel
open source mrbs1- Meeting Room Booking System -, lequel a été configuré et complété pour manipuler les données de M2L.
Le jeu d'essai livré ici repose sur :

quatorze salles réparties sur trois domaines, salles informatique-multimédia, salles de réception et salles de réunion. Les salles
informatique-multimédia sont réservables de 7h00 à 20h00, les autres de 7h00 à 24h00.

cent douze utilisateurs avec quatre utilisateurs ayant les droits administrateur (gestion des domaines, salles, utilisateurs), dix ayant
les droits usager (possibilité de réserver), et les autres sans droits (visiteurs). Les administrateurs (dont un se nomme admin) ont
pour mot de passe admin, les autres passe.
Nom répertoire
Description du contenu
Web
Programmes PHP, fichiers HTML et CSS constituant l'application web, à recopier dans un sousrépertoire nommé mdl du répertoire de base du serveur Web.
InstallM2L
Scripts SQL d'installation de la base de données, structure et données spécifiques à M2L.
ScriptsMrbs
Divers scripts SQL et Perl d'administration de la base, et de gestion des utilisateurs.
Etapes de l'installation du système de réservation de salles
L'installation doit respecter le séquencement des étapes suivantes :
1. copier le contenu du répertoire nommé web de l'archive M2L_SysResSalles.zip dans un sous-répertoire nommé mdl du répertoire
de base du serveur Web
2. lancer l'application web phpMyAdmin et se connecter en tant que login mysql root
3. importer les fichiers SQL du répertoire installM2L de l'archive en respectant l'ordre suivant :
bdM2L.my.sql : création de la base de données mrbs et d'un login mysql associé
tables.my.sql : création de la structure des tables dans la base de données mrbs (il faut auparavant sélectionner la BD
créée par le script précédent)
donneesM2L.my.sql : insertion des domaines, salles ressources et utilisateurs
4. lancer un navigateur sur le même poste que le serveur web en saisissant l'url http://localhost/mdl. La page d'accueil de
l'application web doit s'afficher.
1
http://sourceforge.net/projects/mrbs/
TP : Serveur de bases de données
Page 3/3
Téléchargement