TP : SERVEUR WEB DYNAMIQUE

Transcription

TP : SERVEUR WEB DYNAMIQUE
TP : SERVEUR WEB DYNAMIQUE
I
CONTEXTE
Vous venez d’être embauché comme administrateur réseau dans une entreprise qui fabrique des
bijoux. L’informaticien chargé du développement des applications vient de réaliser un site web
dynamique présentant le catalogue des produits vendus par l’entreprise. Ce dernier vient de rédiger les
consignes d’installation de ce site web. Ce document vous est fourni en Annexe 1. Votre travail
consiste maintenant à installer et à rendre opérationnel ce site web.
Ce TP va donc se décomposer en trois parties. Dans la première partie, vous réaliserez installation de
l’environnement technique. Dans un second temps vous installerez et configurerez le CMS SPIP. Puis
dans un troisième temps vous installez le contenu du site et son interface graphique.
II
RAPPEL : ARCHITECTURE MISE EN PLACE DANS LE CADRE D’UN SITE STATIQUE
Figure 1 : Serveur web statique
Le fichier /etc/apache2/sites-available/default indique à apache2 comment fonctionner avec le site web
par défaut. Commencez par le modifier pour annuler le travail fait la semaine dernière. Vous devez
obtenir :
1
Marie-pascale Delamare
III MISE EN PLACE DE L’ENVIRONNEMENT TECHNIQUE
À la lecture des consignes d’installation, listez tous les produits dont vous allez avoir besoin pour
mettre en place l’environnement technique nécessaire.
III.1
INSTALLATION DU SGBD MYSQL
Pour installer mysql, en console et en root :
apt-get update
apt-get install mysql-server
Conservez tous les autres paquets proposés par le système. N’oubliez pas de saisir le mot de passe de
l’administrateur du SGBD Mysql (root de mysql) au moment de l’installation. Si vous avez oublié,
veuillez procéder comme décrit ci-dessous :
Lancez la commande : mysql –u root
Ceci vous permet de vous connecter sous mysql en root (mais attention ici il s’agit du compte
root du SGBD mysql et non pas du compte root du système linux). Si vous obtenez le prompt
mysql c’est que le SGBD mysql est bien installé.
Sécurisez alors votre SGBD en donnant un mot de passe au compte root de mysql. Pour cela
sortez avec « quit ». Et tapez la commande : mysqladmin password votre_mot_de_passe.
Pour vous connecter à mysql, vous devez désormais faire :
mysql –u root –p
et tapez le mot de passe que vous venez de préciser.
Pour sortir tapez la commande :
quit
Le SGBD mis en place, il reste à installer les outils d’administration et d’interrogation des bases de
données hébergées dans MYSQL.
2
Marie-pascale Delamare
En mode console et en root :
apt-get install mysql-admin mysql-query-browser
Comme d’habitude, acceptez toutes les dépendances. Ces deux outils sont désormais disponibles dans
le menu « Développement ».
Voici la fenêtre de connexion à MySQL
Administrator
III.2
Voici la fenêtre de connexion à MySQL Query
Browser
INSTALLATION DE PHP5
PHP5 est un langage interprété qui va construire dynamiquement les pages web demandées. Il sert en
quelque sorte d’interface entre apache (le serveur web) et mysql (le gestionnaire de base de données),
lorsque les pages demandées portent l’extension « .php », « .phtml », « .php3 », « .phps ».
Figure 2: Serveur web dynamique
Vous devez donc installer le langage PHP5, mais aussi le module d’apache qui pourra communiquer
avec PHP5 et le module PHP5 qui va permettre de communiquer avec mysql. Donc en root et en mode
console tapez la commande suivante :
3
Marie-pascale Delamare
apt-get install php5 php5-mysql
Le système vous propose automatiquement d’installer libapache2-mod-php5. Acceptez toutes les
dépendances.
Il faut maintenant vérifier que PHP5 fonctionne et peut communiquer avec mysql. Pour cela, dans un
éditeur de texte quelconque, tapez les lignes suivantes :
<?php
print phpinfo() ;
?>
Enregistrez votre document sous le nom test.php et copiez le dans le répertoire racine de votre site
Web.
Puis exécutez ce script php via votre serveur web Apache, et donc interrogez le via votre navigateur en
tapant URL suivante : http://localhost/test.php. Si vous obtenez ce qui suit votre serveur Lamp (Linux
Apache Mysql Php) est opérationnel.
Nota : N’oubliez pas que toute modification dans la configuration d’Apache, nécessite un
redémarrage.
Figure 3 : Résultat du script test.php
4
Marie-pascale Delamare
IV INSTALLATION DU CMS SPIP
IV.1
PRÉSENTATION DE SPIP 1.8.3
SPIP est un CMS (Content Management system), c’est à dire un gestionnaire de contenu web. Il utilise
PHP et une base de données Mysql. Il est totalement gratuit et peut vous permettre de développer très
rapidement un site web dynamique.
SPIP n’est pas le seul CMS gratuit disponible, il existe aussi JOOMLA, PLUME CMS ou encore EZPUBLISH, ce dernier permettant de construire rapidement plusieurs types de sites dynamiques en
autre des sites marchands avec gestion du panier et paiements sécurisés.
L’intérêt de SPIP est qu’il a été développé par une équipe de français et donc toute la documentation,
très pédagogique et que je vous recommande, est en français.
Une description plus précise de SPIP est présentée en Annexe 2. Il est conseillé de la lire.
IV.2
INSTALLATION DE SPIP 1.8.3
L’installation de SPIP est très simple. Il s’agit juste d’installer un site web, ce que vous avez déjà fait
au cours du TP précédent.
Sous la racine de votre serveur web, décompressez le paquet SPIP-v1.8.3.zip que vous trouverez en
\\172.16.4.150\SPIP, avec la commande « unzip nom_du_paquet_à_dezipper ». Renommez le
répertoire obtenu en « spip ». Modifiez le user propriétaire et le group propriétaire en « www-data » et
ceci de façon récursive (c’est à dire pour le répertoire SPIP et pour tous les sous-répertoires contenus).
Modifiez maintenant le fichier /etc/apache2/sites-available/default, pour pointer vers ce nouveau
répertoire. Faites attention à la valeur de votre directive DirectoryIndex, si vous l’avez laissée.
Relancez apache2 et testez l’accès à ce nouveau site web. Si vous obtenez le message « site en
travaux » alors tout fonctionne. Il ne reste plus qu’à paramétrer correctement SPIP.
IV.3
CRÉATION DE LA BASE DE DONNÉES
Pour commencer nous devons créer la base de données Mysql qui va stocker les informations gérées
dans SPIP. Pour cela en console et en root tapez « mysql –u root –p ». Lorsque le prompt mysql
apparaît tapez l’instruction sql suivante : « create database spipdb ». Il nous reste à créer un utilisateur
qui sera spécifique à notre site web et qui pourra créer et mettre à jour les tables de cette base de
données. Pour cela faire « grant all privileges on spipdb.* to spipuser@localhost identified by
‘pwdspip’ ». Avec cette commande sql nous venons de donner tous les droits sur tous les éléments de
la base spipdb à l’utilisateur spipuser qui se connectera depuis la machine locale avec le mot de passe
pwdspip.
Vous pouvez vérifier le résultat de votre travail en utilisant « Mysql Administrator ».
Nota : Vous devez bien comprendre ici, que si les utilisateurs de votre site, se connectent depuis
n’importe où, seul le serveur web via php accédera à la base de données. Or le serveur web et php sont
hébergés sur la même machine que mysql d’où le « localhost » comme nom de machine. Reportezvous à la « Figure 2 : Serveur web dynamique » si ceci n’est pas clair pour vous.
IV.4
PARAMÉTRAGE DE SPIP
Nous pouvons maintenant paramétrer SPIP. Pour cela dans votre navigateur tapez url suivante :
« localhost/ecrire ».
La page suivante va vous permettre d’indiquer la machine où se situe la base de données mysql à
utiliser et quel user peut y accéder. Si vous avez une erreur au moment de la connexion à la base de
données, vérifiez vos paramètres.
5
Marie-pascale Delamare
Ensuite vous devez préciser le nom de la base de données. Choisissez « spipdb », la base de données
que vous venez de créer.
Sur la dernière page, vous donnez le nom de votre site, par exemple st3a2.gsi.local, votre email, un
user de connexion à la partie privée de SPIP qui peut être différent du user de la base de données
mysql. Ici pour être cohérent avec la restauration des données que vous effectuerez plus tard choisissez
« zenta », mot de passe « mdp_zenta ».
Si tout s’est bien passé, vous arrivez sur la page de connexion à l’espace privé.
IV.5
CONFIGURATION DE SPIP DANS L’ESPACE PRIVÉ
Pour commencer, passez en interface complète en cliquant sur l’icône adéquate dans la barre hachurée.
Cliquez ensuite sur l’icône configuration, puis renseignez le nom de votre site, par exemple Le site de
marie, et son adresse url du type http://st3a1.gsi.local. Attention à mettre à jour votre fichier
/etc/hosts ou à utiliser le serveur DNS situé à l’adresse 172.16.4.170.
Dans la gestion des mots-clefs, activez « Utiliser la configuration avancée des groupes de mots-clefs »
et désactivez, dans la partie documents joints, « Autoriser les documents joints aux articles ».
Dans la partie « Référencement de sites et syndication », désactivez l’annuaire de sites web.
Sur la page « Interactivité », désactivez l’utilisation des forums publics.
Sur la page « Fonctions avancées », dans la partie « Méthode de fabrication des vignettes », cliquez
sur l’image et choisissez « Générer automatiquement les miniatures des images ». Dans la partie
« Prévisualisation », activez « Seuls les administrateurs peuvent prévisualiser le site ».
Le site est multilingue, cliquez sur l’icône « Gestion des langues » et sur la page « Multilinguisme »,
cliquez « Activez le menu de langue sur les rubriques » et « …seulement pour les rubriques situées à
la racine ? ». Activez ensuite les langues anglaise et italienne.
La configuration de SPIP est maintenant conforme aux besoins exprimés dans les consignes
d’installation. Il vous reste maintenant à installer les données du site web, càd le contenu des tables de
la base de données mysql et à mettre en place l’interface graphique du site.
V
INSTALLER LE CONTENU DU SITE WEB
Avant d’injecter les données dans la base de données, nous allons restaurer, dans le site web, le
répertoire IMG, qui contient toutes les images associées aux articles à restaurer. Vous trouverez ce
répertoire IMG dans le répertoire \\172.16.4.150\SPIP.
En mode commande et en root, positionnez-vous dans le répertoire /var/www/spip/IMG. Videz ce
répertoire de manière récursive.
En mode commande tapez d’abord « smbclient //172.16.4.150/SPIP –U ig2 ». Tapez ensuite de
password de ig2 soit ig2. Au prompt « smb> » tapez la commande « dir », puis la commande cd pour
vous positionnez dans le répertoire « IMG ». Activez le mode récursif en tapant la commande
« recurse », puis pour vous évitez de taper « y » comme « yes » à chaque demande de transfert tapez
« prompt OFF » et enfin pour obtenir tout le contenu du répertoire IMG, tapez la commande « mget
* ».
Pour restaurer la base de données, vous allez utiliser « Mysql Query Browser ». Dans l’onglet
« Script », ouvrez le fichier « sauvegarde.sql », que vous trouverez dans le répertoire
\\172.16.4.150\SPIP. Exécutez ce fichier.
Les tables de la base de données SPIP sont maintenant remplies. Vous pouvez vérifier cela en écrivant
rapidement une requête sur une des tables de la base de données « spipdb », après l’avoir sélectionnée
en faisant « Fichier>Select Schema ».
6
Marie-pascale Delamare
Interrogez votre site web. Celui est maintenant rempli, mais il manque toujours l’interface graphique
du site.
Nota : Vous devez reprendre certains paramètres dans la partie privée de votre site, URL de votre site
et adresse mel (icône configuration).
VI INSTALLER L’INTERFACE GRAPHIQUE DU SITE
L’interface graphique d’un site web SPIP s’effectue en rédigeant ce qui s’appelle un squelette. Pour
rédiger un squelette, il faut apprendre le langage de boucle propre à SPIP et savoir rédiger une feuille
de style. Si le site nécessite du javascript, c’est aussi dans ce squelette qu’on rangera les fonctions
javascript utiles.
Le service Développement a fait ce travail, il vous reste à tout mettre en place. Récupérez dans le
répertoire \\172.16.4.150\SPIP, le répertoire « squelettes » et copiez le sous la racine de votre site web.
Attention ce répertoire doit être accessible par le serveur web, pensez à changer le user et le groupe
propriétaire.
Interrogez de nouveau votre site, après avoir vidé le cache de votre navigateur et cliqué sur le bouton
« recalculer cette page » si vous ne voyez pas apparaître la nouvelle interface graphique.
VII POUR ALLER PLUS LOIN
Regardez donc un peu la documentation de SPIP et faites quelques recherches sur les CMS.
Vous pouvez aussi installer la base de données mysql sur une autre machine et chercher ce qu’il faut
changer dans le paramétrage de SPIP et/ou de mysql pour que tout fonctionne de la même façon que si
tout était installé sur la même machine.
7
Marie-pascale Delamare
Annexe 1 Les consignes d’installation
ENVIRONNEMENT TECHNIQUE NÉCESSAIRE
Le site est réalisé grâce à un CMS (SPIP 1.8.3). SPIP est lui-même écrit en PHP et s'appuie sur des
bases de données MYSQL. L'environnement technique nécessaire est donc le suivant :
PHP 4 version minimum 4.0.8 (avec la librairie preg installée) jusqu'à PHP5 (attention les fichiers
ont une extension « .PHP3 » qui doit être reconnue par l'hébergeur) ;
MYSQL à partir de la version 3.22 et testée jusqu'aux 4.1.x . Il faut donc créer une base de
données MYSQL et un compte MYSQL et son mot de passe ;
Pour la gestion des images et de leurs miniatures, le serveur web APACHE doit comprendre la
librairie GD1 ou GD2 ou Imagick ou Convert ;
Pour faciliter l’administration des bases de données MYSQL, on installera « MSQL
Administrator » et « MYSQL Query Browser ».
INSTALLATION DU SITE
Installer SPIP 1.8.3 ;
Paramétrer correctement SPIP (voir la partie IV.5 Configuration de SPIP dans l’espace privé) ;
Remplacer le répertoire contenant les images (IMG) par sa sauvegarde ;
Restaurer la sauvegarde de la base de données ;
Modifier suite à la restauration, certains des paramètres de configuration ;
Installer le répertoire contenant le squelette (squelettes) ;
Modifier les droits de tous les répertoires du site web (propriétaire www-data, groupe www-data) ;
Tester le bon fonctionnement du site.
8
Marie-pascale Delamare
Annexe 2 - SPIP
I
FONCTIONNEMENT DE SPIP
SPIP est un Système de Publication pour l’Internet. Il s’agit d’un ensemble de fichiers, installés sur
votre compte Web, qui vous permettent de bénéficier d’un certain nombre d’automatismes : gérer un
site à plusieurs, mettre en page vos articles sans avoir à taper de HTML, modifier très facilement la
structure de votre site... Avec le même logiciel qui sert à visiter un site (Netscape, Microsoft Explorer,
Mozilla, Opera...), SPIP permet de fabriquer et de tenir un site à jour, grâce à une interface très simple
d’utilisation.
Figure 4 : Fonctionnement de SPIP
II
L’INTÉRÊT DE SPIP
gérer un site Web de type magazine, c’est-à-dire composé principalement d’articles et de
brèves insérés dans une arborescence de rubriques imbriquées les unes dans les autres.
séparer entièrement, et distribuer entre différentes personnes, trois types de tâches : la
composition graphique, la contribution rédactionnelle via proposition d’articles et de brèves,
et la gestion éditoriale du site (tâche qui comprend l’organisation des rubriques, la validation
des articles proposés...).
dispenser le webmestre et tous les participants à la vie du site d’un certain nombre d’aspects
fastidieux de la publication sur le Web, ainsi que de connaissances techniques trop longues à
acquérir. L’installation de SPIP se réalise au moyen d’une interface simple et pas à pas, au
terme de laquelle vous pouvez commencer à créer vos rubriques et articles.
III LES INCONVÉNIENTS DE SPIP
Pour l’instant, la souplesse de SPIP implique qu’un peu d’efforts d’apprentissage sont
nécessaires au webmestre pour modifier la présentation par défaut. Contrairement à des
9
Marie-pascale Delamare
systèmes très contraints comme phpNuke où vous pouvez changer les couleurs et le logo en
pressant simplement un bouton (mais c’est tout ce que vous avez le droit de faire), le
webmestre sous SPIP doit apprendre les quelques rudiments d’un pseudo-HTML lui
permettant ensuite de faire à peu près ce qu’il veut.
SPIP est livré avec un format d’interface de navigation complet ; dès que vous aurez
commencé à créer le contenu de votre site, il pourra être immédiatement visité, et adoptera
l’interface graphique fournie par défaut. Le webmestre du site peut bien entendu fabriquer sa
propre interface graphique s’il le désire.
IV LA STRUCTURE D’UN SITE SOUS SPIP
Il existe d’autres possibilités que celles présentées ci-dessous. Pour plus d’informations, reportez-vous
au site officiel de SPIP. Enfin seules quelques-unes des possibilités de SPIP ont été utilisées dans le
site web que vous êtes chargé d’installer.
La structure d’un site sous SPIP est construite sur une hiérarchie de rubriques. Il n’y a virtuellement
pas de limite au nombre de rubriques : une rubrique peut contenir autant de sous-rubriques que
nécessaires, qui elles-mêmes contiennent des sous-rubriques, etc. On construit ainsi la structure de son
site en imbriquant des rubriques et des sous-rubriques.
IV.1
LES ARTICLES
L’objet principal permettant de publier des informations sous SPIP est l’article. On peut placer autant
d’articles que nécessaire, dans n’importe quelle rubrique.
La rédaction des articles est très simple, elle se déroule via une interface graphique sur le Web.
Un article est constitué de plusieurs éléments qui permettent de le structurer : titre, surtitre, soustitre,
descriptif, chapeau, texte principal, post-scriptum.
Les règles de base de la typographie française sont appliquées automatiquement (espaces insécables
avant les points d’interrogation, d’exclamation, etc.).
Des raccourcis mnémotechniques facilitent l’enrichissement typographique, la création de liens
hypertexte, de notes de bas de page...
L’interface graphique permet d’inclure simplement des images dans les articles, et chaque article peut
être signalé par son propre logo.
On peut indiquer, pour chaque article, un ou plusieurs mots-clés.
La date de mise en ligne se gère automatiquement.
IV.2
LES BRÈVES
En complément des articles, SPIP intègre un système de brèves, qui facilite la publication de courtes
notes d’information, telles des revues de presse (ou des revues de Web).
Afin de faciliter la structuration et le positionnement des brèves, on ne peut installer des brèves que
dans les principales rubriques du site (les rubriques placées à la racine du site).
La structure des brèves est simplifiée : un titre et le texte de la brève ; chaque brève peut être
complétée très simplement d’un lien hypertexte.
La gestion de la publication d’une brève est simplifiée (deux boutons : publier ou refuser).
Chaque brève peut être signalée par son propre logo. L’administrateur du site peut décider de
désactiver l’usage des brèves sur l’ensemble du site.
10
Marie-pascale Delamare
IV.3
LES FORUMS
SPIP intègre un système de forums.
Les forums peuvent être associés aux articles (un forum par article), aux rubriques ou aux brèves. Le
webmestre pourra programmer son interface pour que chaque article dispose de son propre forum, ou
pour que plusieurs articles d’une même rubrique partagent le même forum, etc.
SPIP permet de choisir entre plusieurs types de forums : les forums « libres » (modérés à postériori,
les contributions apparaissent immédiatement, les administrateurs peuvent éventuellement supprimer
ensuite un message indésirable) ; les forums modérés à priori (les contributions n’apparaissent
qu’après avoir été validées par un administrateur du site) ; les forums sur abonnement (chaque
intervenant doit, pour pouvoir poster, d’abord indiquer son adresse email pour recevoir un mot de
passe lui permettant de poster ses contributions).
SPIP intègre également un système de forums privés, consacré à la discussion entre les différents
rédacteurs du site, et cela dans l’espace privé.
IV.4
INTERFACE GRAPHIQUE DU SITE PUBLIC
L’interface graphique du site public est très souple. Grâce à un langage très simple (mais propre à
SPIP), on peut réaliser à peu près n’importe quelle interface graphique.
Il n’est en particulier pas nécessaire de connaître PHP et MySQL pour réaliser une interface graphique
originale sous SPIP.
IV.5
INTERFACE DU SITE PRIVÉ
La partie privée qui permet de gérer le site dispose d’une interface graphique complète, très simple
d’utilisation.
Cette interface s’adapte en fonction des activités de chaque rédacteur ou administrateur, et en fonction
de l’activité du site. Ainsi chaque auteur a-t-il accès rapidement à ses propres articles, et les articles
proposés à la publication sont signalés à tous les utilisateurs. De même l’interface est différente selon
que l’on est rédacteur ou administrateur.
Chaque utilisateur peut personnaliser son interface. Il peut choisir entre une interface simplifiée, qui
n’offre que les fonctions principales, et une interface complète. Il peut également modifier quelque
peu l’habillage graphique de l’interface.
Lorsqu’un site accueille plusieurs rédacteurs, SPIP devient un outil de travail coopératif : débats
autour des articles, système de validation, travail à plusieurs sur un même article...
IV.6
PARAMÉTRAGE DU SITE
Si l’interface graphique du site public et la gestion du contenu sont, dans SPIP, strictement séparées
(par exemple, on ne fixe pas la couleur du fond d’écran du site public dans l’espace privé), il est
cependant possible de configurer certains comportements du site dans l’espace privé :
accepter ou refuser certains éléments du contenu des articles : ainsi on peut décider d’interdire
l’utilisation des surtitre, soustitre, descriptif, chapeau etc.
configurer (ou désactiver) les forums publics ;
désactiver le système de brèves (en effet, certains sites n’en ont pas l’usage ; le désactiver
permet de simplifier l’interface pour les rédacteurs) ;
activer ou désactiver les statistiques ;
activer ou désactiver le moteur de recherche.
11
Marie-pascale Delamare