Pratique et administration des systèmes



Documents pareils
CREATION WEB DYNAMIQUE

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

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

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

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

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

Olivier Mondet

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

Architecture de la plateforme SBC

CASE-LINUX MAIL - ROUNDCUBE

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

Mysql avec EasyPhp. 1 er mars 2006

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

Bases de données relationnelles

PHP. PHP et bases de données

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

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

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

Installation et configuration d OCS/GLPI sur un Serveur Debian

Installation et Mise en œuvre de MySQL

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

1. La plate-forme LAMP

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

1 Introduction et installation

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

BTS SIO Dossier BTS. PURCHLA Romain

Supervision avec OCS Inventory NG

Programmation Web. Introduction

OCS Inventory & GLPI

TP Contraintes - Triggers

Tutoriel compte-rendu Mission 1

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

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

I. MySQL : Serveur et SGBD

OpenPaaS Le réseau social d'entreprise

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

Compte rendu d'activité PTI n 2

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

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

Transfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb

Les BASES de DONNEES dans WampServer

PHP 4 PARTIE : BASE DE DONNEES

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

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

windows. deb etch main deb-src etch main

Le langage SQL (première partie) c Olivier Caron

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Installation GLPI-OCSNG-SSL Linux Debian Sarge

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

SECURIDAY 2013 Cyber War

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Documentation d'installation Plateforme femme actuelle

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

Open Source Job Scheduler. Installation(s)

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Mysql. Les requêtes préparées Prepared statements

Le protocole FTP (File Transfert Protocol,

TP Service HTTP Serveur Apache Linux Debian

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Bases de Données et Internet

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

SQL Historique

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

PPE GESTION PARC INFORMATIQUE

L installation du module Webmail nécessite également quelques prérequis, à savoir :

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

Installation de Zabbix

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

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

Application web de gestion de comptes en banques

contact@nqicorp.com - Web :

Procédure d'installation

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

Programmation Internet Cours 4

PPE Installation d un serveur FTP

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

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Installation d un hébergement Web à domicile

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Stockage du fichier dans une table mysql:

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

SUPPORT DE COURS / PHP PARTIE 3

Eyes Of Network 4.0. Documentation d installation et de configuration

CREATION d UN SITE WEB (INTRODUCTION)

Transcription:

Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de présenter l architecture Linux, Apache, MySQL and PHP (LAMP). Vous installerez et configurerez de façon minimal ces différents services afin d obtenir un serveur web de contenu dynamique. 2 Introduction LAMP est un ensemble de logiciels Open Source permettant de créer un serveur web de contenu dynamique. Cet ensemble est composé de : Linux en tant que système d exploitation. Apache en tant que serveur web. MySQL en tant que serveur de base de données. PHP en tant que langage de scripts. Cette architecture est déployée à grande échelle dans les entreprises. Son succès est dû au bas coûts d acquisition ainsi qu à l intéropérabilité et à l ubiquité des différents composants. 3 Linux Cette partie ne sera pas approfondie dans ce TP, étant donné que nous avons déjà travaillé sur l installation et l utilisation des systèmes Linux. Pour toute informations sur ce sujet, référez-vous aux TP précédents. 4 Apache Apache server (vient de : "A patchy server") est un serveur web très performant multi-threadé et multi-platformes. Les sources de ce projet peuvent être téléchargées depuis http ://httpd.apache.org/ ou installées depuis le package correspondant de votre distribution Linux. Dans ce TP, nous allons utiliser la seconde méthode et installer le serveur au moyen de la commande suivante : prompt> apt-get update prompt> apt-get install apache2 Une fois l installation terminée, vous pouvez constater que le service web fonctionne sur votre machine. Pour le vérifier commencez par lister les processus : pstree -p. Vous verrez alors les multiples threads nommés apache2 en cours d exécution. La deuxième vérification est d ouvrir un navigateur avec l adresse de votre machine locale : lynx http ://localhost. Vous verrez alors le message suivant : Not Found The requested URL / was not found on this server. ----------------------------------------------------------- 1

Apache/2.2.8 (Debian) Server at localhost Port 80 Ce message signifie que le service fonctionne correctement, mais que vous n avez pas encore défini de page d accueil par défaut (index.html) dans /var/www. Créez donc ce fichier et éditer le pour avoir le contenu suivant : <title>mon serveur Apache fonctionne</title> <h1>mon serveur Apache fonctionne correctement.</h1> 5 MySQL MySQL est un système de gestion de base de données (SGBD) (ou database management system (DBMS)) qui est multi-threadé et multi-utilisateurs. Les sources de ce projet peuvent être téléchargées depuis http ://www.sun.com/mysql ou installées depuis le package correspondant de votre distribution Linux. Dans ce TP, nous allons utiliser la seconde méthode est installer le serveur au moyen de la commande suivante : prompt> apt-get install mysql-server Une fois l installation du package terminé, vous pouvez constater que le service de gestion de base de données fonctionne sur votre machine. Pour le vérifier commencez par lister les processus : pstree -p. Vous verrez alors les multiples threads nommés mysqld en cours d exécution. Pour avoir un service réellement fonctionnel vous devez : Créez un mot de passe pour le root (si cela n a pas été fait lors de l installation.) prompt> mysqladmin -u root password new-password Vous connectez au serveur en temps qu utilisateur root (option user) et en activant la vérification du mot de passe (option -p). prompt> mysql --user=root -p Une fois connectez votre prompt change en "mysql>", ce qui signifie que vous êtes dans l interpréteur de commandes de MySQL. Il vous faut ensuite créer la base de données qui vous servira à contenir vos différentes tables. mysql> create database pas; Pour vérifier que votre base de données a bien été créée, utilisez la commande suivante : mysql> show databases; Si votre base de données a été créée avec succès, vous pouvez désormais la sélectionner comme base à utiliser : mysql> use pas; Une fois dans la base de données "pas", vous allez devoir créer au moins une table : mysql> create table bulletin (uid int(50) not null auto_increment primary key, nom varchar(35), prenom varchar(35), note int(20)); Vérifiez que votre table a bien été créée avec la commande : mysql> show tables; Une fois que votre table existe, vous pouvez renseigner des enregistrements. Comme par exemple mysql> insert into bulletin values (1, "Lucas", "Vincent", 0); mysql> insert into bulletin values (2, "Pelov", "Alexander", 20); Pour vérifier l existence de ces nouvelles données dans votre table, vous pouvez effectuer la requête : mysql> select * from bulletin; Une fois vos bases de données complétées, vous pouvez quittez l interpréteur de commande MySQL avec la commande : 2

mysql> exit MySQL est un système basé sur le langage SQL (Structured Query Language) créé pour l interrogation et l administration de bases de données. Ainsi les requêtes précédentes sont identiques pour tous les SGBD (MySQL, PostgreSQL, Oracle, SQL server, etc.). 6 PHP PHP (Personnal Home Page) est un langage de scripts conçu pour créez simplement des pages web dynamiques. Ces scripts sont exécutés côté serveur, contrairement aux scripts comme le java-script qui sont exécutés côté client. Par conséquent, le client ne peut avoir accès au code source ayant servi à générer les différentes pages web. Pour le moment les services Apache et MySQL fonctionne de façon indépendante. PHP va nous permettre de faire le lien entre ces 2 services. Pour cela, PHP sera installé sous forme d un module pour Apache qui interprétera le code PHP. Ce code contiendra les requêtes SQL (identiques à celles utilisées dans l interpréteur de commandes de MySQL) utilisées pour interroger la base de donnée MySQL. Les sources de ce projet peuvent être téléchargées depuis http ://www.php.net ou installées depuis le package correspondant de votre distribution Linux. Dans ce TP, nous allons utiliser la seconde méthode est installer le package au moyen de la commande suivante : prompt> apt-get install php5 prompt> apt-get install php5-mysql Une fois installé, il faut redémarrez le service Apache pour qu il active le module PHP nouvellement installé. prompt> /etc/init.d/apache2 restart Pour tester le bon fonctionnement du module PHP, nous allons renommer et modifier le fichier "/var/www/index.html" pour générer une balise HTML au moyen d un script PHP. Pour que le fichier soit reconnu comme contenu un script PHP nous allons commencer par renommer le fichier "/var/www/index.html" en "/var/www/index.php" : prompt> mv /var/www/index.html /var/ww/index.php Ensuite, nous allons éditer ce même fichier qu il contienne le code source suivant (vous remarquerez que le code PHP est contenu dans les balises commençant par "<?php" et se terminant par " ") : <title>mon serveur Apache fonctionne</title> <h1>mon serveur Apache fonctionne correctement.</h1> echo <p>... et PHP aussi</p> ; Ouvrez de nouveau un navigateur sur la page de votre serveur web avec lynx http ://localhost. Affichez le code source de la page que vous êtes en train de visualiser avec la touche "\". Vous pouvez constater que le code PHP n est pas affiché et qu il a été remplacé par les balises HTML générées. Pour avoir une vraie page web dynamique, nous allons modifiez le fichier "index.php" pour que ce dernier : Se connecte à la base de données. Interroge la base de données avec une requête SQL, pour y récupérer des données. Génère des balises HTML présentant les données récupérées. Se déconnecte de la base de données. 3

Au final, le fichier doit être éditer pour contenir le code suivant (les commentaires sont précédés de "//") : // 1) Phase de connexion à la base de données. // Nom de la machine hébergeant le serveur MySQL. $dbhost = localhost ; // Nom de l utilisateur utilisé pour se connecter à la base de données. $dbuser = root ; // Mot de passe de l utilisateur utilisé pour se connecter à la base de // données. Ce mot de passe n apparaîtra pas sur les navigateur des clients // car le script PHP est interprété côté serveur. $dbpass = toto ; // Connexion à la base de données. $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ( Error connecting to mysql ); // Choix de la table à utiliser. $dbname = pas ; mysql_select_db($dbname); <title>[pas] Bulletin de notes</title> <h1>[pas] Bulletin de notes</h1> <table border="1"> <tr> <td> Nom </td> <td> Prénom </td> <td> <strong> Note </strong> </td> </tr> // 2) Création de la requête SQL et interrogation de la base de // données. $query = "SELECT * from bulletin"; $result = mysql_query($query); // 3) Génération des balises HTML en fonction des données // récupérées. while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<tr>". "<td> {$row[ nom ]} </td>". "<td> {$row[ prenom ]} </td>". "<td> <strong> {$row[ note ]} </strong> </td>". "</tr>"; } 4

</table> // 4) Déconnection de la base de données. mysql_close($conn); Ouvrez une dernière fois un navigateur sur la page de votre serveur web avec lynx http ://localhost. Affichez le code source de la page que vous êtes en train de visualiser avec la touche "\". Vous pouvez constater que le code PHP n est pas affiché et qu il a été remplacé par les balises HTML générées. Après cela, rajoutez un ou plusieurs enregistrements en passant par l invite de commande MySQL. Rafraîchissez la page web, cette dernière doit alors affiche de façon dynamique tous les enregistrements (y compris les nouveaux). 7 Conclusion Ce TP vous a permis de découvrir comment mettre en place un serveur LAMP avec une configuration minimale (pas de prise en compte de la sécurité, etc.). Vous pouvez désormais indiquer quelle machine et quel service interprète le code PHP ainsi que les requêtes SQL. 5