Installation et configuration d Apache sous Linux RedHat 7.1. Pascal AUBRY Ambroise DIASCORN IFSIC Université de Rennes 1



Documents pareils
Module 7 : Configuration du serveur WEB Apache

Installation d un hébergement Web à domicile

UE5A Administration Réseaux LP SIRI

SERVEUR HTTP Administration d apache

CYBERGATE -TP-APACHE_2.DOC

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

Table des matières Hakim Benameurlaine 1

Les serveurs WEBUne introduction

Mandataires, caches et filtres

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

Différentes installations sur un serveur Windows 2000 ou 2003.

TP Service HTTP Serveur Apache Linux Debian

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

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

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

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

ADF Reverse Proxy. Thierry DOSTES

Préparation d un serveur Apache pour Zend Framework

Réaliser un inventaire Documentation utilisateur

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

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

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

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

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

TD 1 - Installation de système UNIX, partitionnement

Exemple : vous voulez tester votre site en local avant de l uploader via FTP chez votre hébergeur externe.

Utilisation de l espace personnel (Serveur DATA)

FreeNAS Shere. Par THOREZ Nicolas

Hébergement de site web Damien Nouvel

Présentation Serveur Apache et pour RePeGlio

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Comment configurer Kubuntu

2011 Hakim Benameurlaine 1

Serveur Subversion Debian GNU/Linux

Travaux Pratiques Introduction aux réseaux IP

Procédure d'installation

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

Tsoft et Groupe Eyrolles, 2005, ISBN :

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Dans l'épisode précédent

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

Atelier Le gestionnaire de fichier

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

REPARTITION DE CHARGE LINUX

Présentation du logiciel Free-EOS Server

Autorité de certification

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Configurer Squid comme serveur proxy

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

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

Gestion d identités PSL Exploitation IdP Authentic

Joomla! Création et administration d'un site web - Version numérique

Architecture de la plateforme SBC

Il est courant de souhaiter conserver à

Aubert Coralie, Ruzand Brice GTR 2002 Bonvarlet Manuel, Desroches Alexandre, Magnin Cyril DRT Notice technique 1

Administration de Parc Informatique TP07 : Installation de Linux Debian

Installation d un Contrôleur de Domaine Windows Server 2003

Administration de systèmes

Gestion d identités PSL Installation IdP Authentic

Pratique et administration des systèmes

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

Manuel utilisateur (Manuel_utilisateur_version pdf) Manuel Reprise des données (Manuel_Reprise_donnees_version

Guide d installation BiBOARD

Configuration du serveur Web Apache. Master 1 STIC-Informatique 1

TP création et publication d'un site web statique

TP N 1 : Installer un serveur trixbox.

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

ACTION PROFESSIONNELLE N 4. Fabien SALAMONE BTS INFORMATIQUE DE GESTION. Option Administrateur de Réseaux. Session Sécurité du réseau

Serveurs de noms Protocoles HTTP et FTP

Tutoriel compte-rendu Mission 1

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

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

Mission TICE : Thierry CHASSAIN - Guy PICOU AIDAT du Lot : Hélène CREUSOT Pierre LAGREZE. Réseaux pédagogiques sous Windows 2003 Server 12/01/2011

40èmes Olympiades des métiers

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Premiers contacts avec. Mac OS X Server. Informations sur l installation et la configuration de Mac OS X Server, version 10.2

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Cisco Certified Network Associate

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

MANUEL D INSTALLATION D UN PROXY

Systèmes informatiques

Technicien Supérieur de Support en Informatique

table des matières Administration système

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Hébergement de sites Web

Tutorial Terminal Server sous

Activité : TP Durée : 6H00. Un PC d assemblage de marque NEC Un casque avec micro Une clé USB. Un CD de Windows XP professionnel

Comment faire reconnaître l espace disque ajouté à votre OS?

Migration NT4 vers Windows 2003 Server

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

Architectures web/bases de données

Manuel du logiciel PrestaTest.

Module BD et sites WEB

Amiens Métier 39 : Gestion des réseaux informatiques. Jour 2, première partie. Durée : 3 heures

Transcription:

Installation et configuration d Apache sous Linux RedHat 7.1 Pascal AUBRY Ambroise DIASCORN IFSIC Université de Rennes 1 Octobre 2001 version 3.0 ESAT MSI 2 ème année Travaux pratiques (4 heures) L utilisation de ce document dans un but de formation de groupe, y compris dans le domaine universitaire, est soumise à une autorisation explicite et préalable de ses auteurs. Présentation Le but de ce TP est d appréhender les difficultés rencontrés par les administrateurs de sites web. Il vous permettra de voir comment on installe, configure et entretient un serveur HTTP, et de mieux comprendre à quoi correspondent les erreurs rencontrées en tant qu utilisateur. Vous n aurez plus lors de ce TP votre rôle habituel, celui d utilisateur du réseau, mais celui d administrateur (avec les avantages et les inconvénients que cela représente). Afin de se concentrer sur Apache en lui-même, vous n avez pas à installer le serveur et disposez d un PC préinstallé muni de la configuration suivante : Processeur : Intel PII 400 MHz Mémoire : 128 Mo Disque dur : IDE 6.4 Go (maître sur le port IDE 0) Adaptateur réseau : 10/100 Mbts 3Com 3C509B Lecteur CD-ROM : IDE (maître sur le port IDE 1) Les PC sont reliés au réseau de l IFSIC. Installation du serveur Voici la procédure d installation des PCs de la salle de TP. L installation de la version 7.1 de la distribution RedHat est faite via NFS. Une disquette de boot réseau (bootnet.img) permet de démarrer l installation et les paramètres sont les suivants : Langage : French Clavier : fr-latin1 Méthode d installation : NFS On choisit ensuite une assignation dynamique de l adresse IP, ce qui n est pas recommandé pour un serveur (car cela induit une dépendance vis-à-vis du serveur DHCP) mais qui sera suffisant pour le TP. Le serveur DHCP renseigne alors la machine sur les paramètres tels que la paserelle par défaut, le serveur DNS,... Site web : ajax Répertoire RedHat : /current Configuration du disque dur Bien qu installant un serveur, on choisit le type d installation Custom system car l installation est plus courte et encore une fois suffisante. On effectue un partitionnement automatique. Le disque est partionné de la manière suivante : Une partition de swap de 128Mo

Une partition principale sur laquelle on installe le système (montage de la racine /) occupant le reste du disque, soit environ 4Go. Le formatage de cette partition est fait sans contrôle des blocs défectueux (trop long). Paramétrage de LILO On installe LILO sans passer de paramètre au noyau, sur le Master Boot Record (MBR) du disque ; On garde l identifiant par défaut du démarrage du système (linux). Paramètres divers On garde le nom de machine (i207mxx.ifsic.univ-rennes1.fr) proposé par la procédure d installation (obtenu du serveur de noms à partir du numéro IP renvoyé par le serveur DHCP) Souris : Generic 3 Button Mouse (PS/2) Pas de parefeu Horloge : Conserver le choix proposé Utilisateurs On ne renseigne que le mot de passe du compte super-utilisateur (ne pas créer de compte utilsateur, ceci est fait par la finalisation de l installation) : Mot de passe super-utilisateur : rootmsi2 La configuration des utilisateurs se termine en indiquant les paramètres suivants : Shadow password : oui MD5 encoding : oui NIS : non LDAP : non Kerberos : non Paquetages à installer On sélectionne les catégories suivantes : X-Window system KDE WWW-mail-news Emacs Poste de travail en réseau Serveur SQL Serveur Web Si nécessaire, on demande finalement de satisfaire les dépendances manquantes. Création d une disquette de démarrage On passe cette étape. Configuration de X-Window Bien que l on installe en général pas d environnement graphique sur un serveur, nous le faisons car les machines servent à la fois de serveur et de machine cliente (pour les tests). On accepte alors les choix proposés par la procédure d installation : ATI Mach 64 Moniteur : Dell D1025HE Profondeur et résolution : garder le choix proposé Première connexion On se connecte comme super-utilisateur et on lance une fenêtre de commande pour exécuter : wget http://perso/diascorn/formation/msi2/apache/install.sh chmod +x install.sh./install.sh Ce script rapatrie divers fichiers et les installe sur la machine pour en parfaire l installation. Il crée également deux utilisateurs qui serviront pendant le TP : Le compte usager de test user_xx (par exemple user_04) est l usager sur lequel vous vous connecterez pendant le TP, et a pour mot de passe mdpu_xx (par exemple mdpu_04).

Le compte invité guest_xx (par exemple guest_04), sur lequel les autres utilisateurs pourront se connecter sur votre machine, et dont le mot de passe est mdpg_xx (par exemple mdpg_04). Préparation du TP Pour appréhender au mieux ce TP, il est conseillé de se connecter sur la machine (i207mxx) sous l utilisateur user_xx, et d adopter la configuration suivante : Configuration de base de Apache Apache est le nom du serveur HTTP installé par la distribution RedHat de Linux. Il lance un (en fait des) démon(s) qui scrute(nt) en permanence les requêtes sur le port 80 (par défaut). Démarrage Question 1. Vérifier que le service est bien lancé (à l aide du script ou par ps -aux grep httpd). S il n est pas démarré, le démarrer. Le service est lancé à l installation du paquetage. Pour le lancer, il faudrait exécuter : /etc/rc.d/init.d/httpd start Question 2. Vérifier que le service sera bien lancé à chaque démarrage du serveur à l aide de l utilitaire /usr/sbin/ntsysv. Cet utilitaire permet de décider les services qui seront démarrés au boot de la machine. Question 3. Vérifier que le service fonctionne bien en lançant un navigateur (netscape-navigator, par l utilisateur user_xx) et en atteignant l URL http://i207mxx/, ou http://localhost, ou http://i207mxx.ifsic.univrennes1.fr, ou http://148.60.5.(81+xx)/ (le numéro IP de i207mxx).

La réponse indique que tout fonctionne. Mise à disposition de documents Le fichier de configuration d Apache est dans le répertoire /etc/http/conf, et est nommé httpd.conf : Il ne suffit pas de modifier ce fichier pour modifier le comportement du serveur HTTP (utiliser /etc/rc.d/init.d/httpd). index des répertoires Question 4. Au contenu de quel fichier correspond l affichage visible à l URL http://i207mxx.ifsic.univ-rennes1.fr/? Il s agit de /var/www/html/index.html : DocumentRoot /var/www/html DocumentIndex index.html # httpd.conf # httpd.conf Question 5. Visualiser le contenu du fichier /var/www/html/public/test.tp. Inspecter l URL http://i207mxx/public. Comment faire en sorte que cette URL renvoie le contenu du fichier test.tp? DirectoryIndex test.tp index.html # httpd.conf types de documents La réponse du serveur à une requête HTTP est constituée de plusieurs éléments, dont trois essentiels (se référer à la RFC 2616 pour une description précise du protocole HTTP) : le code de retour le type (MIME) de la réponse le contenu de la réponse Question 6. Comment est interprétée la séquence <BR> du fichier test.tp? Que cela signifie-t-il? Elle n est pas interprétée, ce qui signifie que le contenu n est pas considéré comme du HTML. Question 7. récupérer le fichier /var/www/html/public/test.ps à l aide du navigateur. Qu observez-vous? Le navigateur demande un chemin pour sauvegarder la réponse sur disque. Question 8. Placez-vous dans le répertoire /tmp et récupérez le fichier test.ps à l aide du programme wget : cd /tmp wget http://i207mxx/public/test.ps Quel est le type MIME de la réponse à la requête HTTP? Le type de la réponse est application/postscript. Dans toute la suite, wget peut être utilisé pour obtenir des documents via HTTP.

Question 9. Comment faire pour visualiser directement le contenu du fichier? Il faut configurer le navigateur (Edit, Preferences, Navigator, Applications, PostScript Document, Edit, Application, ghostview %s). Question 10. Qu en déduisez-vous sur le navigateur Netscape? Le type des documents qui lui sont renvoyés est donné par le serveur. Il effectue des opérations différentes suivant le type (affichage textuel, au format HTML, sauvegarde sur disque, lancement d une application externe,...). Question 11. Quel est la directive qui permet à Apache de savoir quel type MIME il doit renvoyer en fonction du fichier à servir? Quel est le fichier concerné? Sur quel propriété des fichiers dont il doit renvoyer le contenu se base Apache pour décider du type de la réponse? TypesConfig /etc/mime.types # httpd.conf Apache se base sur l extension des fichiers. Question 12. Comment peut-on faire pour qu Apache se base sur le contenu des fichiers? Il faut utiliser la directive MimeMagicFile. Question 13. Que se passe-t-il lorsque l on ne précise pas le type MIME à renvoyer? Cela dépend de la directive DefaultType. Question 14. Comment ajouter un nouveau type? Comment faire en sorte que la séquence <BR> de test.tp soit interprétée comme un saut de ligne? En utilisant la directive : AddType text/html.tp Protection des données Par le système de fichier Question 15. Quel est l utilisateur qui exécute le démon httpd ( ps aux grep httpd)? C est apache. Question 16. Quelle directive permet de changer d utilisateur (httpd.conf)?

La directive User. Question 17. À quel utilisateur appartient le fichier /var/www/html/index.html? Quel sont les permissions du fichier? Il appartient à apache (groupe apache), permissions rw-r--r--. Question 18. À quel utilisateur appartient le fichier /var/www/html/index2.html? Quel sont les permissions du fichier? Il appartient à root (groupe root), permissions rw-rw----. Question 19. Que se passe-t-il lorsque l on essaie d atteindre l URL http://i207mxx/index2.html? On obtient une erreur 403 Forbidden, car apache ne peut plus lire le contenu du ficher index2.html. Question 20. Quelles permissions faut-il donner à index2.html pour que l URL soit lisible? Il faut que l utilisateur apache puisse lire le fichier. Par le serveur Apache, par répertoire Un mécanisme utilisé est celui des fichiers.htaccess, qui décrit la protection des fichiers des répertoires dans lesquels on les trouve. On préfère souvent une protection par des directives, ce qui permet une centralisation des règles de protection dans les fichiers de configuration. C est ce dernier mécanisme que nous allons étudier. Noter que la protection par le serveur Apache s ajoute à celle du système de fichiers, sans la remplacer. Le premier type de protection est une protection par répertoire. Question 21. Peut-on accéder à tous les fichiers du serveur via le protocole HTTP? Non, pas par défaut (à cause de la directive <Directory />...</Directory>. Question 22. Comment faire en sorte que l on puisse lire tous les fichiers de /etc? En donnant les mêmes directives de contrôle à ce répertoire du système qu au répertoire /var/www/html. En fait on ne peut pas voir la racine ; il faut indiquer un nom de répertoire. Question 23. Est-ce conseillé? Pourquoi? Certainement pas, car cela donne accès à des fichiers sensibles, tels /etc/passwd. Question 24. Le mécanisme de protection par les fichiers.htaccess est-il actif par défaut? Non, grâce à la directive AllowOverride None. Par le serveur Apache, par client Le deuxième type de protection des données par le serveur Apache se base sur la machine émettant la requête HTTP, le client.

Pour tester la protection basée sur l émetteur de la requête, vous ouvrirez une session sur une autre machine de la salle (i207myy), en tant qu utilisateur user_yy (rsh i207myy -l user_yy). Le plus simple est ensuite de lancer le programme wget, ou bien un navigateur graphique (netscape-navigator). Question 25. Comment faire pour n autoriser l accès au répertoire /var/www/html qu au serveur lui-même? Modifier la configuration du serveur et tester. Utliser des directives du type : order allow,deny allow from 148.60.5.(81+xx) Question 26. Comment faire pour interdire l accès au répertoire /var/www/html à partir de la machine i207myy? Tester. Ajouter simplement : deny from 148.60.5.(81+yy) Par le serveur Apache, en utilisant l authentification de HTTP Le troisième type de protection consiste en le rajout d une authentification nominative par le client. Comme super-utilisateur, créer un fichier de mot passe users.passwd dans /var/www/html/private à l aide du programme htpasswd. Donner ensuite les droits de lecture sur ce fichier à l utilisateur apache (seulement). chgrp apache /var/www/html/private/users.passwd chmod 640 /var/www/html/private/users.passwd Ajouter la protection suivante pour le répertoire /var/www/html/private : <Directory /var/www/html/private> AuthType Basic AuthUserFile /var/www/html/private/users.passwd AuthName "private directory" require valid-user </Directory> Question 27. Que se passe-t-il lorsque vous accédez de nouveau au serveur? Que se passe-t-il si vous vous trompez dans le mot de passe? Une autentification est demandée. En cas d échec, on obtient une erreur 401 Unauthorized. Authentification = un royaume + un user + un password Il faut faire un échec!! Question 28. L autentification est-elle nécessaire ensuite? Pourquoi? Non, ces informations d authentification sont mémorisées par le navigateur et transportées par le protocole HTTP. Par le serveur Apache, en utilisant les deux Créer le répertoire private2 dans /var/www/html, un fichier de d authentification users.passwd dans ce répertoire (différent du fichier précédent), puis ajouter la protection du répertoire /var/www/html/private2 de la façon suivante : <Directory /var/www/html/private2> order allow,deny deny from all allow from 148.60.5.(81+xx) AuthType Basic AuthUserFile /var/www/html/private2/users.passwd AuthName "private2 directory"

require valid-user satisfy any </Directory> Question 29. Qu observez-vous depuis i207mxx? depuis i207myy? L authentification n est demandée que depuis i207myy. Exécution de programmes via HTTP Nous ne verrons dans ce TP que deux modes d exécution de programmes via HTTP à savoir CGI (Common Gateway Interface), et PHP. Ce choix est basé sur le fait que ces deux modes se basent en continu sur le protocole HTTP (et non pas seulement pour initialiser un processus communiquant avec le serveur sur un autre port que le port HTTP).Les deux autres langages les plus connus fonctionnant sous ce mode sont ASP et JSP. Les programmes CGI Question 30. Peut-on exécuter des programme CGI par défaut? Comment faire? Oui, les programmes CGI doivent se trouver dans le répertoire /var/www/cgi-bin (voir la directive ScriptAlias). Question 31. Essayer d atteindre l URL http://i207mxx/cgi-bin/test.sh. Que doivent être les permissions des programmes pour être exécutables via HTTP? Il doivent être lisibles et exécutables par l utilisateur apache. Question 32. Pour répondre à la question suivante, modifier le contenu du programme test.sh pour appeler le programme id. Lorsqu un programme est exécuté, sous quelle identité l est-il? C est l utilisateur apache qui exécute les programmes CGI. Question 33. Quels problèmes cela pose-t-il? Des problèmes de sécurité. On peut ainsi exécuter des programmes sur le serveur sans authentification. Question 34. Comment peut-on changer l utilisateur d exécution des programmes? En faisant exécuter par apache un programme suid root qui change ensuite d identité pour exécuter un autre programme (cgiwrap, SuExec). Les programmes PHP Le but de cette partie est l observation de la configuration d un module d Apache (PHP4). Question 35. Observer via le système de fichiers au fichier /var/www/html/test.php. Puis accéder via HTTP au fichier /var/www/html/test.php. Qu observez-vous? Pourquoi? Le fichier n est pas chargé comme page statique mais il est exécuté.

Question 36. Quelles directives indiquent à Apache comment gérer les scripts PHP? AddType application/x-httpd-php php LoadModule php_module modules/libphp.so AddModule mod_php.c Base de données Le but de cette partie est d installer un gestionnaire de bases de données (PostgreSQL, logiciel libre, qui a été installé lors de la première partie de ce TP) et de voir comment on peut simplement l interfacer avec Apache pour créer des applications accessibles par le protocole HTTP. Installation Le démon (/usr/sbin/postmaster) est géré par le script /etc/rc.d/init.d/postgresql (démarrage, arrêt, statut, redémarrage, rechargement de la configuration). Question 37. Vérifier que le service est bien lancé (à l aide du script ou par ps -aux grep postmaster). S il n est pas démarré, le démarrer. Que se passe-t-il? Le service n est pas lancé à l installation du paquetage. Lorsque l on essaie de le lancer, le système crée une base de données template1 à laquelle on peut ensuite se connecter. Question 38. Vérifier que le service sera bien lancé à chaque démarrage du serveur à l aide de l utilitaire ntsysv. PostgreSQL n est pas lancé par défaut au démarrage. Il faut le faire pour les prochains reboots du serveur. Question 39. Essayer de lancer l interpréteur psql pour se connecter à la base de données template1 (psql template1). Que se passe-t-il? L utilisateur root n est pas déclaré dans la base de données. (La base de données possède sa propre base d utilisateurs) Passer sous l identité postgres : [root@i207mxx ~]# su - postgres [postgres@i207mxx pgsql]$ Se connecter à la base template1 : [postgres@i207mxx pgsql]$ psql template1 template1=> Créer une nouvelle base de données : template1=> create database newdb ; CREATEDB template1=> Se connecter à la nouvelle base : template1 => \c newdb newdb=> Créer une table dans la base newdb : newdb=> create table MyTable (cle integer,constraint MyTable_pk primary key(cle),valeur text ); newdb=> Quitter psql : newdb=> \q [postgres@i207mxx pgsql]$ exit

[root@i207mxx ~]# Utilisation Question 40. Exécuter le fichier /tmp/script.sql (psql newdb < /tmp/script.sql). Que se passe-t-il? Expliquer. La troisième ligne duplique l index de la table. Question 41. Atteindre l URL http://i207mxx/script.php. Que se passe-t-il? Expliquer. L utilisateur apache n a pas le droit de se connecter à la base de données. Question 42. Résoudre le problème en déclarant l utilisateur apache dans la base de données (la création des utilisateurs dans la base de données se fait à l aide de l utilitaire createuser). Que se passe-t-il alors? L utilisateur apache n a pas le droit de lire la table MyTable. Question 43. Résoudre ce dernier problème sous psql avec la commande grant. Cela marche-t-il? [postgres@i207mxx pgsql]$ psql newdb newbd=> grant select on MyTable to apache ; newdb=> \q [postgres@i207mxx pgsql]$ Oui ;-) Hébergement de sites Cette dernière partie montre comment une seule machine peut répondre à des requêtes apparament adressées à des machines différentes. Notamment utilisé par les hébergeurs et fournisseurs d accès, ce mécanisme est également utilisé à l IFSIC (pour les sites des associations d étudiants par exemple). Ajouter les directives suivantes à la fin du fichier /etc/httpd/conf/httpd.conf : NameVirtualHost 148.60.5.(80+xx) <VirtualHost i207mxx.ifsic.univ-rennes1.fr> ServerName i207mxx.ifsic.univ-rennes1.fr ServerAlias i207mxx DocumentRoot /var/www/html </VirtualHost> <VirtualHost serv_ixx.ifsic.univ-rennes1.fr> ServerName serv_ixx.ifsic.univ-rennes1.fr ServerAlias serv_ixx DocumentRoot /var/www/auberge/serv_ixx.ifsic.univ-rennes1.fr </VirtualHost> Créer le répertoire /var/www/auberge/serv_ixx.ifsic.univ-rennes1.fr. Question 44. Atteindre l URL http://serv_xx. Expliquer. Apache offre un mécanisme qui lui permet de se faire passer pour plusieurs machines. Question 45. Que faut-il faire pour que cela marche depuis n importe quelle machine de l internet? Il faut que la machine serv_ixx.ifsic.univ-rennes1.fr soit déclarée dans le DNS et ait pour numéro IP celui de i207mxx.

Ce qui manque Le but de ce TP n est évidemment pas de former un administrateur HTTP ; il n est que de donner une représentation pratique aux concepts vu en cours. Les manques principaux à ce vernis de webmaster sont : L exécution de programmes sous HTTP, longtemps limitée aux programmes CGI, revêt maintenant de nombreuses formes (Javascript, Python, ASP,...). La navigation sous HTTP comporte de nombreux mécanismes de cache (applicatifs, locaux, distants). Enfin, le développement d applications via HTTP doit répondre à des impératifs de sécurité que HTTP seul ne peut pas remplir. HTTPS (HTTP + SSL) permet par exemple le cryptage des communications client/serveur. Références La distribution Linux RedHat : http://www.redhat.com Le protocole HTTP : http://www.w3.org/protocols/ Le serveur HTTP Apache : http://www.apache.org La programmation CGI : http://hoohoo.ncsa.uiuc.edu/cgi/overview.html Le wrapper cgiwrap : http://www.unixtools.org/cgiwrap/ La fonctionnalité SuExec d Apache : http://www.apache.org/docs/suexec.html Le langage PHP : http://www.php.net Le gestionnaire de bases de données PostgreSQL : http://www.postgresql.org Le cache Squid : http://squid_cache.org Le cryptage par SSL : http://www.netscape.com/eng/ssl3/