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