Programmation WEB. Généralités. Programmation licence. 25 septembre 2013. IUT de Fontainebleau

Documents pareils
SERVEUR HTTP Administration d apache

2011 Hakim Benameurlaine 1

Module 7 : Configuration du serveur WEB Apache

L3 informatique TP n o 2 : Les applications réseau

Dans l'épisode précédent

UE5A Administration Réseaux LP SIRI

CYBERGATE -TP-APACHE_2.DOC

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

Table des matières Hakim Benameurlaine 1

Application Web et J2EE

Programmation Internet Cours 4

Serveurs de noms Protocoles HTTP et FTP

Le serveur Web : Apache

Les serveurs WEBUne introduction

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Protocoles Applicatifs

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

TP Service HTTP Serveur Apache Linux Debian

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

Installation d un hébergement Web à domicile

Hébergement de site web Damien Nouvel

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

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

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

Préparation d un serveur Apache pour Zend Framework

Travaux Pratiques Introduction aux réseaux IP

Introduction. Adresses

Introduction aux Technologies de l Internet

REPARTITION DE CHARGE LINUX

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

Maîtriser Apache. Benjamin Drieu. version

Apache 2.4 Installation et configuration

L3 informatique Réseaux : Configuration d une interface réseau

Serveur Subversion Debian GNU/Linux

Couche application. La couche application est la plus élevée du modèle de référence.

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

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

Réseaux. 1 Généralités. E. Jeandel

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Présentation Internet

Serveurs et environnements de développement. Serveur Web

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Plan Général Prévisionnel (1/2) Internet et Outils L1/IO François Armand. Plan Général Prévisionnel (2/2) Unix, Réseau: Plan

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Chapitre : Les Protocoles

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

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

Cisco Certified Network Associate

Réseaux et protocoles Damien Nouvel

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

Les services usuels de l Internet

Procédure d'installation du serveur Apache HTTPD pour Windows

18 TCP Les protocoles de domaines d applications

(structure des entêtes)

Installation et présentation du serveur Apache

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Internet. Web Sécurité Optimisation

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Appropriation d'un serveur Apache

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Services Réseaux - Couche Application. TODARO Cédric

Plan. Programmation Internet Cours 3. Organismes de standardisation

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Introduction à HTTP. Chapitre HTTP 0.9

Installation GLPI-OCSNG-SSL Linux Debian Sarge

ADF Reverse Proxy. Thierry DOSTES

Protection des protocoles

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Cours CCNA 1. Exercices

INF8007 Langages de script

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

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

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

Développement Web. Les protocoles

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

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

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

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Outils de l Internet

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Hébergement de sites Web

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Administration Linux - Apache

A. Laisser le navigateur Web choisir l'encodage approprié...35 B. Changer le jeu de caractères utilisé par défaut par le Serveur Web Apache2...

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

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

L annuaire et le Service DNS

Présentation Serveur Apache et pour RePeGlio

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

SUJET DES FINALES NATIONALES Sujet jour 1 version 1

Le réseau Internet.

Développement des Systèmes d Information

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Les Serveurs sous Linux

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

Transcription:

Généralités IUT de Fontainebleau 25 septembre 2013

1 Introduction 2 3 4

1 Introduction 2 3 4

Cette année... 1 Introduction Cette année... 2 Internet Protocoles Le web Modèle client/serveur 3 4

Contenu Introduction Cette année... 1 Bases, rappels.. Rappel réseau : internet, tcp-ip, etc... Protocole HTTP. Installation, configuration d un serveur Apache. (x)html(5) et Css(2 3). 2 Javascript, DOM, Jquery, Ajax, échanges de données. 3 Scripts Cgi Paramétrisation d apache Exemples en Shell Utilisation de la librairie cgi en C (traitement formulaire, session). 4 Services WEB (approches REST, xml-rpc, soap) en php. 5 Outils web de gestion de projet : github, svn, git. 6 Ruby et le framework Ruby on rails.

Evaluation Introduction Cette année... Contrôles machines (2). Microprojets (2).

Internet Protocoles Le web Modèle client/serveur 1 Introduction Cette année... 2 Internet Protocoles Le web Modèle client/serveur 3 4

Internet Introduction Internet Protocoles Le web Modèle client/serveur Réseau de réseaux Applications offrant des services + protocoles associés, basé sur TCP/IP Mode Client/Serveur Comprend, entre autre : Couche réseau (transport) Gestion des noms et adresse Outils et protocoles dédiés Le(s) langage(s) HTML Beaucoup de technologies. Effort de normalisation par le World Wide Web Consortium (W3C). Interconnection des applications de toutes sortes, sur toutes platerformes et tournant sur tout type de matériel.

Historique Introduction Internet Protocoles Le web Modèle client/serveur 1959-1968 : ARPA Ministère américain de la défense : lance un réseau capable de supporter les consèquences d un conflit nucléaire. 1969 ARPANET, ancêtre d internet. universités américaines s équipent de gros ordinateurs et se connectent au réseau ARPANET. 1970-1982 Ouverture au monde. Première connexion avec la norvège et Londres. 1983 Naissance d internet. Protocole TCP/IP. interconnection. 1986 Autoroutes de l information. 1987-1992 Expansion. FAI apparaissent, connection des entreprises privées. 1993-201x Explosion. Ouverture au grand public. Web, courier electronique Web 2.0, 3.0

Pourquoi faire? Introduction Internet Protocoles Le web Modèle client/serveur Recherche d informations! Communication entre les gens. Commerce éléctronique, vente aux enchères. Gestion de comptes en banques. Démarches administratives (impôts, etc...) peer-to-peer Téléphonie, visiophonie, radio, vidéos, télévision,... Enseignement, travail à distance.

Protocoles Introduction Internet Protocoles Le web Modèle client/serveur Application ftp, http, smtp, telnet,... Transport tcp, udp (entre deux processus extrêmes) Réseau ip (routage) Transmission aucun spécifique TCP UDP IP Transport Control Protocol User Datagram Protocol Internet Protocol Extrait de /etc/services ftp 21/ tcp # File Transfer [ Control ] ftp 21/ udp fsp fspd ssh 22/ tcp # SSH Remote Login Protocol ssh 22/ udp telnet 23/ tcp # Telnet telnet 23/ udp smtp 25/ tcp mail # Simple Mail Transfer

Internet Protocoles Le web Modèle client/serveur Modèle OSI 7 application 6 présentation 5 Session Architecture TCP/IP ftp, telnet, http, smtp,... Messages 4 Transport TCP ou UDP Segment TCP ou Datagrame UD 3 Réseau Protocole de routage : IP Datagrammes 2 Liaison 802.x, PPP, HDLC,... trames 1 Phyique Physique

Internet Protocoles Le web Modèle client/serveur Exemple avec l iut : www.iut-fbleau.fr traceroute vers www.iut-fbleau.fr 1 b l n c r e t e i l 1. univ p a r i s 1 2. f r ( 1 9 4. 2 1 4. 1 6. 1 ) 2. 3 9 5 ms 2. 4 0 0 ms 2. 2 9 8 ms 2 1 0. 1. 6. 1 ( 1 0. 1. 6. 1 ) 1 1. 0 6 3 ms 1 1. 1 7 0 ms 1 1. 0 9 9 ms 3 1 0. 1. 9. 1 ( 1 0. 1. 9. 1 ) 1 4. 3 0 2 ms 4 8 0. 9 5 4 ms 4 0 2. 6 7 1 ms 4 1 0. 1. 1 0. 2 ( 1 0. 1. 1 0. 2 ) 4 4. 1 7 3 ms 1 3. 3 2 5 ms 1 3. 1 5 6 ms 5 fa4 4 c r e t e i l. c s s i. r e n a t e r. f r ( 1 9 3. 5 1. 1 8 3. 4 2 ) 1 3. 7 6 3 ms 1 4. 5 3 2 ms 1 3. 2 6 5 ms 6 gi3 0 0 10 cachan. c s s i. r e n a t e r. f r ( 1 9 3. 5 1. 1 8 0. 1 4 5 ) 5 4 8. 1 7 6 ms 2 9. 5 2 4 ms 2 4. 5 6 1 ms 7 1 9 3. 5 1. 1 7 9. 9 7 ( 1 9 3. 5 1. 1 7 9. 9 7 ) 1 6. 9 5 3 ms 1 6. 5 8 9 ms 1 5. 8 7 2 ms 8 gi1 0 0 170 n r i a. c s s i. r e n a t e r. f r ( 1 9 3. 5 1. 1 7 9. 8 9 ) 1 6. 8 8 9 ms 1 6. 5 8 3 ms 2 8. 5 8 2 ms 9 1 9 3. 5 1. 1 8 9. 3 8 ( 1 9 3. 5 1. 1 8 9. 3 8 ) 1 7. 1 6 4 ms 1 4. 8 9 7 ms 8 5. 3 1 0 ms 10 r e r i f n r i a. c s s i. r e n a t e r. f r ( 1 9 3. 5 1. 1 8 1. 1 3 3 ) 6 1. 6 4 4 ms 1 1 1. 7 4 4 m 1 4 7. 5 1 9 ms 11 1 9 3. 4 8. 5 3. 1 0 6 ( 1 9 3. 4 8. 5 3. 1 0 6 ) 2 4 7. 1 9 9 ms 1 8. 2 5 4 ms 2 0 8. 3 0 4 ms 12 1 9 3. 4 8. 5 3. 1 0 2 ( 1 9 3. 4 8. 5 3. 1 0 2 ) 1 6. 6 8 1 ms 3 7 8. 5 1 0 ms 3 5 2. 9 4 3 ms 13 1 9 3. 4 8. 5 3. 5 8 ( 1 9 3. 4 8. 5 3. 5 8 ) 2 4 6 0. 9 2 3 ms 2 4 5 7. 1 8 2 ms 14 e s s a i. i u t f b l e a u. f r ( 1 9 4. 1 9 9. 1 3 8. 4 ) 1 4 1 0. 0 4 0 ms 2 0 9 2. 9 0 1 ms 2 8 4 1. 1 7 1 ms

Requête HTTP Introduction Internet Protocoles Le web Modèle client/serveur http ://www.iut-fbleau.fr Firefox Application OS Carte réseau HTTP DNS TCP(80) UDP (53) IP Ethernet Physique Localisation de www.iut-fbleau.fr DNS répond : 194.199.138.4 appel d une requête HTTP GET Affiche le contenu de la réponse ouverture connexion TCP vers 194.199.138.4 sur le port 80 envoie GET www.iut-fbleau.fr HTTP/1.0 Reception réponse Envoie demande de connexion,reçoit l acceptation. envoie de données, reception ack. reception données, envoie ack. envoie de paquets à destination de 194.199.138.4 vers le premier routeur. reçoit des paquets encode une trame en bits puis en signaux, et l envoie sur le support physique. reçoit et décode les trames en retour.

Les services internet Internet Protocoles Le web Modèle client/serveur Service = application qui utilise un protocole et un numéro de port. Fonctionnement en mode client/serveur au dessus de TCP/IP. Exemples : client serveur protocole navigateur apache (httpd) http navigateur, client ftp ftpd ftp thunderbird (mail) serveur mail pop3, smtp, imap

Web Introduction Internet Protocoles Le web Modèle client/serveur Permet d accéder à des documents liés entre eux, sur des machines différentes. Architecture basée sur : La localisation Le protocole Le langage URL HTTP HTML Succés grâce : Interfaces graphiques conviviales. Grande diversité et quantité d information. Multi-platerformes. Interconnection d applications de toutes sortes, sur toutes platerformes et tournant sur tout type de matériel.

Comment ça marche? Internet Protocoles Le web Modèle client/serveur Le client dialogue avec un serveur web avec le protocole HTTP Le serveur vérifie la demande, les autorisations et transmet l information. Le navigateur intérprète le fichier reçu et l affiche. Il peut y avoir en plus : Des controles par compte, domaine,adresse ip,... Des exécutions de codes coté serveur et/ou client. bonjour requête http : GET bonjour.html réponse du serveur <html> <body> <b>bonjour</b> </body> </html> fichier sur le serveur

Adressage des documents Internet Protocoles Le web Modèle client/serveur Solution : URL : Uniform Resource Locator = adressage universelle de ressources. 3 parties : le protocole (comment), le nom (où) et le nom du document (quoi). URL URI Universal Resource Identifier. exemple : http://www.iut-fbleau.fr/licence/index.html Les composants de l URL : URL protocole://hostname:port/path/extrapath?arguments La racine / de path est définie par la configuration du serveur Web. (rien à voir avec la racine du système de fichier!!!) path peut contenir un point d ancrage (...) extrapath et arguments permettent de passer des informations à un programme qui s exécutent sur le serveur.

Adressage des documents Internet Protocoles Le web Modèle client/serveur URL relative : par défaut, une référence vers images/toto.png dans le document est relative à l endroit du document. (on peut utiliser../..) La balise <BASE href=url> permet de positioner la racine pour les urls relatives d un document. balise BASE <!DOCTYPE html> <html> <head> <base href="http://www.ici.fr/html/" target="_blank"> </head> <body> <a href="labas.html">aller la-bas</a> <body> </html>

Le Client Introduction Internet Protocoles Le web Modèle client/serveur Le Web est un ensemble de documents pouvant contenir des liens vers d autres documents. Consultation via un navigateur. Il récupére la page demandée. Interpréte les commandes de formatages et de mises en forme. Va chercher et affiche des images. Animation(javascript, gifs, etc...) Affiche enfin la page. Paramètrage à plusieurs niveaux. Valeurs par défaut du navigateur. Valeurs fixées par le document. Préférences de l utilisateur (stockées par le navigateur)

Le Serveur Introduction Internet Protocoles Le web Modèle client/serveur Il écoute en boucle les requêtes formulées par les clients. Il vérifie la validité de la requête. Satisfait la requête : envoie du fichier, des images, du code javascript, d un message d erreur, demande d authentification,... Il peut exécuter localement un programme qui va générer une réponse HTML (pages dynamiques).

1 Introduction Cette année... 2 Internet Protocoles Le web Modèle client/serveur 3 4

Requête HTTP 1 Une ligne de requête, précisant La méthode L URL La version du protocole utilisé par le client (généralement HTTP/1.0) 2 Les champs d en-tête de la requête : il s agit d un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la requête et/ou le client (Navigateur, système d exploitation,...). Chacune de ces lignes est composée d un nom qualifiant le type d en-tête, suivi de deux points ( :) et de la valeur de l en-tête 3 Le corps de la requête : c est un ensemble de lignes optionnelles devant être séparées des lignes précédentes par une ligne vide et permettant par exemple un envoi de données par une commande POST lors de l envoi de données au serveur par un formulaire

Méthodes GET Requête de la ressource située à l URL spécifiée HEAD Requête de l en-tête de la ressource située à l URL spécifiée POST Envoi de données au programme situé à l URL spécifiée PUT Envoi de données à l URL spécifiée DELETE Suppression de la ressource située à l URL spécifiée

Entêtes http Accept Type de contenu accepté par le browser (par exemple text/html). Voir types MIME Accept-Charset Jeu de caractères attendu par le browser Accept-Encoding Codage de données accepté par le browser Accept-Language Langage attendu par le browser (anglais par défaut) Authorization Identification du browser auprès du serveur Content-Encoding Type de codage du corps de la requête Content-Language Type de langage du corps de la requête Content-Length Longueur du corps de la requête Content-Type Type de contenu du corps de la requête (par exemple text/html). Voir types MIME Date Date de début de transfert des données Forwarded Utilisé par les machines intermédiaires entre le browser et le serveur From Permet de spécifier l adresse e-mail du client If-Modified-Since Permet de spécifier que le document doit être envoyé s il a été modifié depuis une certaine date Link Relation entre deux URL Orig-URL URL d origine de la requête Referer URL du lien à partir duquel la requête a été effectuée User-Agent Chaîne donnant des informations sur le client, comme le nom et la version du navigateur, du système d exploitation

Réponse http Introduction 1 Une ligne de statut : c est une ligne précisant la version du protocole utilisé et l état du traitement de la requête à l aide d un code et d un texte explicatif. La ligne comprend trois éléments devant être séparés par un espace : La version du protocole utilisé Le code de statut La signification du code 2 Les champs d en-tête de la réponse : il s agit d un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la réponse et/ou le serveur. Chacune de ces lignes est composée d un nom qualifiant le type d en-tête, suivi de deux points ( :) et de la valeur de l en-tête 3 Le corps de la réponse : il contient le document demandé

Entêtes réponse http Content-Encoding Type de codage du corps de la réponse Content-Language Type de langage du corps de la réponse Content-Length Longueur du corps de la réponse Content-Type Type de contenu du corps de la réponse (par exemple text/html). Voir types MIME Date Date de début de transfert des données Expires Date limite de consommation des données Forwarded Utilisé par les machines intermédiaires entre le browser et le serveur Location Redirection vers une nouvelle URL associée au document Server Caractéristiques du serveur ayant envoyé la réponse

Code de retour Code 10x Message Information 20x Réussite (200! OK, etc...) 30x Redirection 40x Erreur client (400! BAD REQUEST,404! NOT FOUND, etc...) 50x Erreur serveur (500! INTERNAL ERROR, etc...)

Exemple Introduction Requête telnet www 80 Trying 172.16.1.22... Connected to www. Escape character is ^]. GET http :// www. arda / sitebp / exemple. html HTTP /1.0 Réponse HTTP /1.1 200 OK Date : Tue, 06 Jul 2010 12:19:14 GMT Server : Apache /2.2.12 ( Unix ) mod_ssl /2.2.12 OpenSSL /0.9.9 - dev DAV /2 PHP /5.2.9 SVN /1.6.5 mod_perl /2.0.4 Per Last - Modified : Tue, 06 Jul 2010 12:17:09 GMT ETag : "34bc46-39 -48ab7084989fd " Accept - Ranges : bytes Content - Length : 57 Connection : close Content - Type : text / html <html > <body > <p>ceci est un exemple </p> </body > </html >

1 Introduction Cette année... 2 Internet Protocoles Le web Modèle client/serveur 3 4

Le serveur apache (version 2.2) La fondation apache, parmi tous ses projets, developpe et maintient un serveur HTTP open-source, qui reste le plus populaire, et ce sur la plupart des os. Il y a des alternatives : libres : lighttpd, Nginx, etc... propriétaires : ISS, etc... Par défaut, apache http écoute sur toutes les interfaces réseaux sur le port 80. Listen 80 La configuration du serveur est stocké dans le fichier httpd.conf. Voici les principaux paramètres de bases :

Identification du serveur et emplacement des fichiers Directives ServerName www.example.com:80 ServerAdmin root@localhost Nom du serveur S il a un problème, le serveur écrit un message à cette adresse ServerRoot /etc/httpd Il s agit du répertoire où le serveur trouvera son répertoire de configuration. On trouve dans /etc/httpd, un lien vers /var/log/httpd/access_log, le fichier-journal des accès aux ressources, réussis ou non (le consulter) et error_log celui des erreurs # DocumentRoot /var/www/html fixe la racine du serveur Web, c est-à-dire le répertoire de base où sont cherchées par défaut les pages html Types MIME reconnus : directive TypesConfig dans mime.types

Configuration réseau Directives # Listen 80 Apache écoute sur le port tcp usuel Timeout 300 Paramètre important qui fixe la durée (en secondes) d attente maximum du serveur d une réponse à une requete envoyée à un programme extérieur (comme un gestionnaire de base de données) KeepAliveon... Autorise les connexions persistantes d un client, afin de lui permettre l envoi de plusieurs requetes sans déconnexion, avec un plafond fixé pour un client, pour servir aussi d éventuels autres clients! et un temps d attente maxi de la requete suivante provenant du meme client. KeepAliveTimeout temps à partir duquel la connexion est coupée

Processus Introduction Directives # User http Group http Utilisateur et groupe sous lequel est exécuté le service httpd. MinSpareServers 4... Nombres maximum et minimum de processus serveurs devant etre en permannence disponibles, en attente de nouvelles connexion clientes StartServers 4 Nombre de processus serveurs démarrés à l initialisation, en plus du processus père. Ceci explique pourquoi la requete ps aux grep httpd renvoie 5 PID. MaxClients 150 Nombre maximum de processus qu Apache peut lancer et gérer simultanément. Ce nombre ne peut pas excéder 254 MaxRequestsPerChild 500 Nombre maximum de requetes HTTP traitées par un processus enfant avant qu il ne soit éliminé.

Le système de fichiers Directives DirectoryIndex index.html... Alias ScriptAlias AccessFileName.htaccess UserDir Il est courant d omettre le nom du fichier de la page d accueil d un site ou de l un de ses sous-répertoires. Pour ne pas retourner systématiquement une erreur 404 signalant une adresse erronnée, le serveur posséde une liste standard de noms de fichiers qu il s efforce de trouver dans le répertoire. Cette liste ordonnée est indiquée par la clause DirectoryIndex association d une URL à un répertoire local idem, mais uniquement pour les CGI Cette clause fixe le nom du fichier à trouver dans un répertoire pour donner à apache la manière de le servir spécifie le nom du répertoire web des utilisateurs (usuellement public_html)

Contrôle des traitements Directives Redirect AddHandler ErrorDocument redirection d une URL sur une autre. Exemple : Redirect /google http ://www.google.fr association d une extension à un gestionnaire. Exemple : AddHandler cgi-script.cgi spécifie le document à renvoyer si erreur. Exemple : Error- Document 404 /doc_missing.html

Contrôles d accès aux répertoires Chaque répertoire auquel Apache accéde peut être configuré particulièrement (ceci s applique aussi à ses sous-répertoires) Le paramétrage de rep se précise dans un conteneur, ensemble de clauses situées entre les balises <Directory rep> et </Directory>. Contrôles d accès # Politique par défaut : accès interdit à # tous à partir de la racine / <Directory /> order deny, allow deny from all Options None AllowOverride None </Directory>

Contrôles d accès # Pour la racine du serveur WEB, il faut bien permettre l accès <Directory /var/www/html> # Options possibles : "None", "All", ou plusieurs # combinaisons de: "Indexes", "Includes", # "FollowSymLinks", "ExecCGI", ou "MultiViews". Options Indexes Includes FollowSymLinks # AllowOverride = All pour donner # la priorité aux fichiers.htaccess AllowOverride All order allow,deny # allow from = all pour permettre à tout # le monde d accéder aux documents allow from all </Directory> Les clauses s appliquent aussi à tous les sous-répertoires, à moins d une redéfinition.

On peut préciser les hôtes dont les requêtes seront traitées, et ceux dont les requêtes seront rejetées (clause allow et deny). Les paramètres d Options permettent de contrôler l action d Apache sur les répertoires Options All None ExecCGI FollowSymLinks Includes IncludesNOEXEC Indexes toutes aucune option(s) permise(s) exécution de scripts autorisée le serveur suivra les liens symboliques rencontrés dans le répertoire permet l utilisation de SSI (Server Side Includes) permet l utilisation de SSI sauf les directives #exec et #include autorise l affichage du contenu d un répertoire (si un fichier par défaut n y est pas trouvé) AllowOverride précise la manière avec laquelle des directives contenues dans un fichier.htacces seront prises en compte, si ces directives supplantent ou non celles qui sont dans le présent conteneur.

Contrôles d accès aux répertoires <Limit PUT DELETE> Order deny,allow Deny from all </Limit> <Limit> a pour but de limiter les effets des contrôles d accès aux méthodes HTTP spécifiées. Est associée avec les directives : Order et Allow. de type require : require [group user] nom1,..., nomn require valid user AuthName : Information transmise à l utilisateur AuthType : Basic Digest AuthUserFile : chemin absolu vers le.htpasswd AuthGroupFile : chemin absolu vers le.htgroup

Contrôle d accès à des fichiers, des urls Files : limite la portée des directives qu elle contient aux fichiers précisés Location : limite la portée des directives contenues aux URLs définies par l argument URL. <Files "?at.*"> # Les directives insérées ici # s appliqueront aux fichiers # cat.html, bat.html, hat.php # et ainsi de suite. </Files> <Location /status> SetHandler server-status Order Deny,Allow Deny from all Allow from.example.com </Location>

Alias Introduction Il peut être utile de remplacer un chemin de répertoires par un nom symbolique. Ces répertoires alias peuvent etre paramétré comme les autres. Exemple significatif : Il s agit d accéder par l alias doc aux doc HTML du serveur Linux et de ses différentes applications et services installés, qui sont regroupées dans /usr/share/doc. On réserve cette consultation aux machines du réseau local. # pour accéder à la doc directement avec l url http://serveur/doc Alias /doc /usr/share/doc # pour accorder les permissions d accès limitées au site doc <Directory /usr/share/doc> order deny,allow deny from all # permission à partir de localhost allow from localhost, 127.0.0.1 # permission à partir des stations d un sous-domaine # de l établissement allow from domaine1.arda Options Indexes FollowSymLinks </Directory>

Repertoire et authentification AllowOverride autorise la redéfinition de directives locales à un répertoire dans un fichier.htaccess situé dans ce dernier : None : les fichiers.htaccess sont ignorés All : tout type de redéfinition est autorisé dans le.htaccess AuthConfig : autorise l authentification d utilisateurs FileInfo : autorise les directives liées aux types de documents Indexes : autorise l indexation des répertoires Limit : autorise les directives de gestion d accès Options : autorise les directives se rapportant aux fonctionnalités des répertoires

Répertoire et authentification Déclaration d authentification nécessaire <Directory /chez_moi> AuthUserFile /chez_moi/.htpasswd AuthGroupFile /dev/null AuthName "Acces Restreint" AuthType Basic <Limit GET POST> require valid-user </Limit> </Directory> Délégation au.htaccess <Directory /chez_toi> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec </Directory>

Le fichier.htaccess AuthName TEXTE AuthType Basic AuthUserFile <chemin absolu>/.htpasswd AuthGroupFile <chemin absolu >/.htgroup <Limit GET POST> require group groupe1... groupen require user utilisateur1... utilisateurn </Limit> La commande htpasswd permet de générer des fichiers.htpasswd. L authentification peut se faire sur ldap, etc...

Serveurs virtuels Plusieurs serveurs web sur une même machine Deux possibilités de serveurs virtuels basés sur les IP : une adresse IP pour chaque serveur virtuel basés sur les noms : même adresse IP, mais nom pour chaque serveur virtuel

Basés sur les ip Directive <VirtualHost nom IP >...</VirtualHost> Exemples Configuration des serveurs par ajout de directives internes. Chaque serveur virtuel doit connaître à la fois son IP et son nom. Directive <VirtualHost 173.194.37.104 > ServerAdmin canari@titi.fr DocumentRoot /titi/documents ServerName www.titi.fr ErrorLog /titi/logs/error_log TransferLog /titi/logs/access_log </VirtualHost> <VirtualHost 173.194.37.105> ServerAdmin matou@grosminet.fr DocumentRoot /grosminet /documents ServerName www.grosminet.fr ErrorLog /grosminet/logs/error_log TransferLog /grosminet/logs/access_log </VirtualHost>

basés sur les noms Directives NameVirtualHost IP[ :Port] <VirtualHost nom IP >...</VirtualHost> Exemple NameVirtualHost 193.254.105.78 <VirtualHost 193.254.105.78 > ServerAdmin canari@titi.fr DocumentRoot /titi /documents ServerName www.titi.fr ErrorLog /titi/logs/error_log TransferLog /titi/logs/access_log </VirtualHost> <VirtualHost 193.254.105.78 > ServerAdmin matou@grosminet.fr DocumentRoot /grosminet/documents ServerName www.grosminet.fr ErrorLog /grosminet/logs/error_log TransferLog /grosminet/logs/access_log </VirtualHost>