Tutoriel : Serveur SGBD MySQL sur Linux

Situation initiale :

Une bibliothécaire souhaite mettre à disposition sur un poste client la possibilité de voir la disponibilité des ouvrages de la bibliothèque. L’administrateur créer la base de données correspondante puis ensuite monter un serveur web afin de diffuser le contenu sur le poste client. La base de données sera sauvegardée régulièrement pour prévenir des risques de plantage.

Présentation

A travers le logiciel de virtualisation VirtualBox nous allons mettre en place un client windows et un serveur de base de données sur Debian dans un même réseau. Cela afin que le client qui sera le poste de la bibliothécaire puisse avoir un accès pour communiquer avec la base de données de la bibliothèque.

Déroulement de l’activité

–          Configuration du ssh

–          Installation et configuration d’apache 2

–          Installation et configuration de php5

–          Installation du SGBD Mysql

–          Création de la base de données

–          Importation base de données

–          Gestion des droits

–          Sauvegarde de la base de données avec phpMyadmin

Confiugration du ssh :

Le serveur debian étant dans un placard au fond de la bibliothèque, difficile d’accès l’administrateur décide d’installer un serveur ssh sur celui-ci.

 

# aptitude install openssh-server

Sur la machine XP on va utiliser l’utilitaire client SSH Putty préalablement téléchargé pour se connecter au  serveur à distance. 

Installation et configuration d’apache 2 :

Pour commencer, la base de données doit être accessible depuis une autre machine, ce qui veut dire qu’il va falloir installer un serveur Web.

Nous allons donc installer apache2, le serveur web.

 

# aptitude install apache2

Pour vérifier que l’installation s’est bien déroulé depuis la machine cliente, ouvrir un navigateur et taper dans la zone URL l’adresse IP du serveur de base de données. Voici ce que vous devriez obtenir :

Installation et configuration de php5 :

Ensuite afin de pouvoir  envoyer et recevoir des requêtes vers la base de données du serveur, il est indispensable d’utiliser le langage PHP, c’est pourquoi nous allons installer le module php sur le serveur web apache.

 

# aptitude install libapache2-mod-php5

Nous allons tester si l’installation de PHP et de ses plugins s’est bien effectuée. Dans votre répertoire web, supprimez le fichier index.html puis créer un nouveau fichier index.php dans le même répertoire.

 

root [/var/www/pti]> rm -rf index.html

root [/var/www/pti]> vi index.php

Enregistrez et quittez le fichier index.php.

Puis ouvrez votre navigateur sur le poste client et taper de nouveau l’adresse du serveur, voici ce que la page doit vous afficher :

Installation du SGBD Mysql :

Après avoir installer l’ensemble des outils nécessaire à l’interrogation d’une base de données à distance nous allons enfin installer ce qui  va nous permettre de dialoguer avec celle-ci.

C’est le SGBD qui va nous le permettre, il y en a plusieurs mais MySQL est totalement gratuit et facile d’utilisation. Il est utilisé par la plupart des hébergeurs web permettant une facilité en cas de migration des scripts SQL (même norme).

 

# aptitude install mysql-server

Voici le MCD (Modèle Conceptuel de Données) de la base de données bibliothèque :

MCD bibliothèque

Insérons ensuite les champs nécessaires dans chacun des tables

Création de la base de données :

Nous allons enfin pouvoir insérer notre base de données préalablement crée :

 

root [~] Mysql –u root –p

mysql : Source commandes.sql ;

Télécharger le fichier SQL : commandes.sql

Gestion des droits :

Créons 2 utilisateurs, « bibliothécaire »  avec l’ensemble des droits et un autre avec des privilèges restreints « visiteur » où il lui sera possible seulement de consulter l’ensemble des tables sauf  la table adhérent.

 » Création des 2 utilisateurs

CREATE USER visiteur IDENTIFIED BY « visiteur » ;

CREATE USER bibliothecaire IDENTIFIED BY « bibliothecaire » ;

  » On met à zéro permissions des 2 utilisateurs

REVOKE ALL PRIVILEGES ON bibliotheque FROM visiteur ;

REVOKE ALL PRIVILEGES ON bibliotheque FROM bibliothecaire ;

  » On donne l’ensemble des permissions à l’utilisateur bibliothécaire

GRANT ALL ON bibliotheque.* TO bibliothecaire ;

  » On donne la permission de visionner les données de l’ensemble des tables de la base de données bibliothèque sauf en ce qui concerne la table adhérent.

GRANT SELECT ON bibliotheque.appartenir TO visiteur ;

GRANT SELECT ON bibliotheque.associer TO visiteur ;

GRANT SELECT ON bibliotheque.auteur TO visiteur ;

GRANT SELECT ON bibliotheque.concerner TO visiteur ;

GRANT SELECT ON bibliotheque.ecrire TO visiteur 

GRANT SELECT ON bibliotheque.editeur TO visiteur ;

GRANT SELECT ON bibliotheque.equivaloir TO visiteur ;

GRANT SELECT ON bibliotheque.exemplaire TO visiteur ;

GRANT SELECT ON bibliotheque.interesser TO visiteur ;

GRANT SELECT ON bibliotheque.mots_cles TO visiteur ;

GRANT SELECT ON bibliotheque.ouvrage TO visiteur ;

GRANT SELECT ON bibliotheque.pret TO visiteur ;

GRANT SELECT ON bibliotheque.themeTO visiteur ;

Sauvegarde de la base de données avec phpMyadmin :

Ensuite après avoir installer le paquet phpMyadmin qui permet d’administrer la base de données de façon graphique

 

# aptitude install phpmyadmin

Il est possible de sauvegarder la base de données en l’exportant.

Nous pouvons ensuite supprimer la base de données pour simuler une perte des données.

Il suffira d’importer le fichier de sauvegarde correspondant, valider et tout fonctionne !

Pareil si nous souhaitons récupérer les données de la base de données en version PDF il est très facile avec phpmyadmin de le faire, exporter en PDF.

Pour ce qui est de la sauvegarde automatique réalisé sur le serveur web. Il faut utiliser la commande cron où il faudra configuré le fichier de conf /etc/crontab. Pour le faire je me suis aidé de ce tutorial qui vous explique la démarche en détail : ici  

 

Situation finale :

Le client peut accéder aux données souhaités mais ne peux pas avoir accès aux informations concernant les adhérents. Comme nous le souhaitons seul la bibliothécaire y a accès. Nous avons bien un fichier de sauvegarde qui est crée.

Télécharger la documentation technique :

Télécharger la version rédigée , PTI BTS IG ARLE :

Si vous avez des questions n’hésitez pas à laisser un commentaire

2 commentaires

Laisser un commentaire

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