TP n 2: Mise en place d'un serveur Web avec PHP et MySQL



Documents pareils
Pratique et administration des systèmes

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Raspberry pi : Développer une petite application web sur Raspberry

BTS SIO Dossier BTS. PURCHLA Romain

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

1. La plate-forme LAMP

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Tutoriel compte-rendu Mission 1

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Installation d'un serveur FTP géré par une base de données MySQL

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

PPE GESTION PARC INFORMATIQUE

CASE-LINUX MAIL - ROUNDCUBE

Installer un serveur web de développement avec VirtualBox

Architecture de la plateforme SBC

windows. deb etch main deb-src etch main

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

TP Service HTTP Serveur Apache Linux Debian

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Un serveur web, difficile?

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Compte rendu d'activité PTI n 2

Supervision avec OCS Inventory NG

Installation et configuration d OCS/GLPI sur un Serveur Debian

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

équipement radio Procédure

Manuel d utilisateur du site de covoiturage «Etucovoiturage»

DOCUMENTATION ADMINISTRATEUR

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

OCS Inventory & GLPI

Installation de Zabbix

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Procédure d'installation

Installation des outils OCS et GLPI

Introduction à MySQL (ou MySQL en 3 heures montre en main)

CYBERGATE -TP-APACHE_2.DOC

Installation d' OCS inventory et de GLPI

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Installation GLPI-OCSNG-SSL Linux Debian Sarge

[GLPI & OCS Inventory] Yann VANDENBERGHE. AFPA Lomme

Raja Bases de données distribuées A Lire - Tutoriel

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

I. MySQL : Serveur et SGBD

PHP et les Bases de données - Généralités

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

THEME : Mise en place d une plateforme d enseignement à distance

Lectures. Accueil. Table des matières Me contacter. Rubriques. Général (12) PHP (4) MySQL (1) XHTML & CSS (3) Debian (3) Ubuntu (7) Post-it

Client Kiwi Backup : procédures d'installation et de mise à jour. Gilles Arnoult, Clément Varaldi

Préparation d un serveur Apache pour Zend Framework

Documentation pour administrateur Application AER

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

TD séance n 2c Mise à jour des Systèmes

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

Compte-rendu de projet de Système de gestion de base de données

PHP 5. La base de données MySql. A. Belaïd 1

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Etudiant Ella Fitzgerald

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

CDS Invenio Installation et configuration de base

TP 1 : 1 Calculs en binaire, octal et hexadécimal

Installer un gestionnaire de parc GLPI sous Linux

Olivier Mondet

Configuration de plusieurs serveurs en Load Balancing

installer_un_serveur_debian - Documentation Ubuntu Francophone Installation complète d'un serveur web sous Debian 6.0

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Installation locale de JOOMLA SEPIA

Documentation d'installation Plateforme femme actuelle

Travaux Pratiques Introduction aux réseaux IP

Créer son propre serveur Mail.

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

WDpStats Procédure d installation

Clauses d'hébergement web

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Transcription:

TP n 2: Mise en place d'un serveur Web avec PHP et MySQL Le but de ce TP est de vous apprendre comment installer et congurer un serveur Web avec PHP et MySQL sous Linux. Cela requiert plusieurs étapes : 1. installer et congurer un serveur Web (ici Apache) 2. installer le support pour le langage PHP (on peut aussi utiliser d'autres langages pour la conception de sites Web, comme Perl, Python, Ruby,...) 3. installer et congurer un serveur de bases de données (ici MySQL), 4. éventuellement, installer une interface Web pour l'administration du serveur de bases de données, comme PhpMyAdmin. Exercice 1 - Installation et conguration de Apache. Un serveur Web est un programme qui va fournir des chiers (généralement des pages HTML et des chiers multimédias) à tous les clients (navigateurs Web sur la même machine ou une machine distante) qui en font la demande. Nous utiliserons ici la version 2 du logiciel Apache, qui est actuellement le serveur Web le plus utilisé. 1.1 La première étape consiste à installer la version 2 de Apache. Vous pouvez le faire depuis le gestionnaire de paquets de votre choix (synaptic ou commande sudo apt-get sous Ubuntu,...). Le paquet se nomme généralement apache ou apache2. Installez le. 1.2 Si l'installation est réussie, vous devriez être en mesure d'accéder au site Web hébergé par votre machine en tapant l'adresse http://localhost. Faites le test. Si ça marche, ajoutez votre propre chier index.html dans le répertoire /var/www et rechargez la page. note : par défaut, il vous faudra avoir les droits administrateurs pour ajouter un chier dans /var/www. 1.3 Vous pouvez aussi accéder à votre site en remplaçant localhost par 127.0.0.1, ou par l'adresse IP de votre machine (donnée par la commande ip addr), ou encore par le nom de votre machine (il gure dans le chier /etc/hosts). Essayez ces diérentes possibilités. Comment faire pour accéder au site Web hébergé sur la machine de votre voisin? 1.4 La conguration de Apache se fait principalement dans les chiers /etc/apache2/apache2.conf et /etc/apache2/ports.conf. Ouvrez ces chiers, et répondez aux questions suivantes : (a) quel utilisateur est utilisé pour lancer le serveur Apache? (b) quel groupe est utilisé pour lancer le serveur? (c) quels sont les ports utilisés par le serveur? (d) quel est le nom choisi pour les chiers de conguration s'appliquant aux répertoires du site Web hébergé par le serveur? 1.5 Modier le contenu du dossier /var/www nécessite des droits que votre compte utilisateur ne possède pas. Pour remédier à ce problème, on pourrait ajouter des droits à votre compte. Au lieu de cela, nous allons activer un module de Apache, appelé userdir. (a) Vérier que ce module est bien disponible en regardant si le dossier /etc/apache2/mods-available contient le chier userdir.load. 1

(b) Le dossier /etc/apache2/mods-enabled contient des liens symboliques vers les chiers du dossier /etc/apache2/mods-available. La présence d'un tel lien signie que le module en question est activé. Regarder si le module userdir est déjà activé. (c) S'il n'est pas activé, vous devez soit créer vous même les liens symboliques avec la commande ln -sv (il faut aussi un lien vers le chier userdir.conf s'il existe). Plus simplement, vous pouvez lancer en root la commande a2enmod userdir. (d) Après avoir activé un module, il faut relancer Apache, par exemple avec la commande apache2ctl restart en root. 1.6 Une fois le module userdir activé, chaque utilisateur peut créer son propre site Web dans le dossier /public_html (dossier public_html dans le home de l'utilisateur). Créez ce répertoire et mettez y un chier index.html. Vérier que ce chier est bien accessible via l'url http://localhost/ toto. note : vous remplacerez bien entendu toto par votre login. Exercice 2 - Ajout du support de PHP. An de faire un site Web dynamique, on a besoin d'utiliser un langage de programmation. On utilisera ce langage pour générer en autre du code HTML qui sera utilisé dans les pages envoyés aux clients. C'est donc le serveur Web qui se charge d'exécuter le code avant d'envoyer le résultat aux clients. Nous utiliseront ici le langage PHP dans sa version 5. 2.1 Pour ajouter le support du PHP au serveur Apache, on peut par exemple installer le paquet libapache2-mod-php5 (ou nom similaire). Faiites le, et vérier que le module php5 a bien été activé par défaut en consultant le contenu du dossier /etc/apache2/mods-enabled. 2.2 Pour tester que PHP est bien supporté, créez le chier info.php dans le répertoire /var/www avec le contenu suivant : <?php phpinfo();?> Rendez vous alors sur la page http://localhost/info.php. 2.3 La conguration de PHP se fait principalement via le chier php.ini (souvent situé dans le dossier /etc/php5/apache2). Ouvrez ce chier et répondez aux questions suivantes : (a) le mode Safe de PHP est-il activé? (b) l'achage des erreurs est-il activé? (si non, ça peut être une bonne idée de l'activer) (c) Avec combien de chires de précision PHP eectue-t-il les calculs avec des nombres ottants? note : Si vous modiez le chier php.ini, n'oubliez pas de relancer Apache an que les modications soient prisent en compte. 2.4 Créez maintenant un chier info.php (avec le même contenu que précédemment) dans votre dossier /public_html. Vériez que vous pouvez utiliser PHP pour le site Web de votre compte utilisateur. Sous Debian et Ubuntu, ce n'est pas toujours le cas par défaut. Il vous faudra alors modi- er le chier /etc/apache2/mods-available/php5.conf en suivant les consignes données en commentaire, puis relancer Apache. 2

Exercice 3 - Installation et conguration de MySQL. Il nous faut encore un système de gestion de bases de données (SGBD) an de pouvoir stocker les données dynamiques. Nous allons ici installer MySQL. 3.1 Installez le paquet mysql-server. On vous demandera normalement de choisir un mot de passe administrateur. Choisissez en un et notez le pour ne pas l'oublier. 3.2 Le chier de conguration principal de MySQL est /etc/mysql/my.cnf. Ouvrez le et répondez aux questions suivantes : (a) Quel port de votre machine le serveur MySQL utilise-t-il? (b) Dans quel dossier les données seront-elles stockées? (c) Depuis quelles machines a t'on accès au serveur MySQL? 3.3 Pour vérier que MySQL est bien installé, lancez (en tant qu'utilisateur normal) la commande mysql -u root -p. Saisissez votre mot de passe administrateur pour MySQL. Vous devriez obtenir un nouveau prompt. Essayez alors successivement les commandes suivantes : > help; > show databases; > use mysql; > show tables; > select Host,User,Password from user; Qu'obtenez vous? note : ne pas oublier le " ;" à la n de chaque commande. 3.4 On peut maintenant créer un compte utilisateur grâce à la commande > CREATE USER 'toto'@'%' IDENTIFIED BY 'motdepasse'; Créez ainsi un compte MySQL correspondant à votre compte UNIX. Vérier que la table user de la base de données mysql contient bien une nouvelle entrée. Que signie '%' dans cette commande? 3.5 Créez une nouvelle base de données appelée test grâce à la commande > CREATE DATABASE test; et donner les droits complets sur cette base de données à votre compte utilisateur via > GRANT ALL ON test.* TO 'toto'@'%'; 3.6 Quittez MySQL, et reconnecter vous en utilisant cette fois ci votre compte utilisateur grâce à la commande mysql -u <login> -p. Créez la table notes correspondant à : numid nom prenom notebdd notecomsys 10001 Ullman Jerey 20 17 10002 Doe John 7 9 20001 Doe John 11 10 20002 Palsistaime James 10-3 20003 Broggs Joe 14 11 20004 Knuth Donald 99 99 3

On utilisera les commandes MySQL CREATE TABLE et INSERT, ainsi que SELECT * FROM notes; pour vérier que tout est ok. 3.7 Supprimez la première ligne sur John Doe, ainsi que les lignes contenant des notes non comprises entre 0 et 20. 3.8 Maintenant, créez un compte MySQL pour votre voisin. Donnez lui le droit de faire des requêtes de type SELECT dans la base de données test (changer ALL en SELECT). Votre voisin peut-il accéder à votre serveur MySQL via la commande mysql -h <ip> -u <login> -p? (si non, modier la conguration de MySQL pour rendre cela possible). Vériez que votre voisin ne peut eectivement faire que des requêtes de type SELECT dans la base de données test. Exercice 4 - Accès à la base de données en PHP. Vous avez maintenant tout ce qu'il faut pour créer votre site Web dynamique... 4.0... ou presque. Vérier dans la sortie de phpinfo() que le support de MySQL est bien installé (il faut pour cela que le driver mysql de PDO soit présent). Dans le cas contraire, installez le paquet php5-mysql et relancez Apache. 4.1 Écrivez un code PHP qui permet d'acher le contenu de la table notes dans la base de données test dans une page Web. rappels : pour accéder à la base de données test, faire $pdo = new PDO('mysql:host=localhost;dbname=test','login','motdepasse'); pour récupérer le résultat d'une requête, utiliser une variable temporaire et une boucle foreach comme suit : $res = $pdo->query('insérer votre requete SQL ici'); foreach ($res as $row) {... $row['nom']... } 4.2 Écrivez un code PHP qui permet d'ajouter une entrée à la table notes. On vériera que les notes sont entre 0 et 20 avant de faire l'ajout. 4.3 Faîtes une page HTML avec un formulaire de façon à pouvoir saisir une nouvelle entrée destinée à la table notes. L'action associée au formulaire sera d'appeler votre code pour la question précédente. rappel : pour faire un formulaire HTML, compléter/adapter le code <form action="myform.php" method="post">... <input type="submit" value="ok"> </form> 4.4 Utiliser ce que vous avez fait lors du premier TD pour acher un histogramme représentant le nombre d'étudiants en fonction de la note au cours bases de données. 4

Exercice 5 - Installation et utilisation de PhpMyAdmin. PhpMyAdmin est une interface Web pour administrer un serveur MySQL. 5.1 Installez le paquet phpmyadmin. Ce programme aura besoin du mot de passe administrateur pour MySQL, fournissez le quand on vous le demande. Une fois l'installation terminée, vériez que la page http://localhost/phpmyadmin existe, et que vous pouvez vous connecter soit avec votre compte administrateur, soit avec votre compte utilisateur. 5.2 Reprenez les questions 3.4 à 3.8 (en changeant test en test2, et en changeant éventuellement de voisin). 5