SlideShare une entreprise Scribd logo
Serveur Web et  Gestion de Sites Web Saïd Radhouani Université de Genève janvier 2005
Arborescence des répertoires Le serveur Apache donne accès aux répertoires suivants : conf : les fichiers de configuration logs : les fichiers logs (statistiques) modules : les modules www : les pages accèssible dpuis internet icons : le jeu des icons cgi-bin : les cgi ( des scripts tels écrits en perl, en C, etc.) bin : contient des exécutables
Le répertoire conf Configuration d'Apache :  définie dans 3 fichiers au format texte (rep. Conf), on peut les éditer à tout moment, un certain nombre de variables à positionner, prise en compte des modifications : relancer le serveur, ces variables ont une valeur par défaut, pour répondre à un besoin bien précis : savoir quelle variable on doit positionner, Ces 3 fichiers sont : httpd.conf  : Spécification de tous les paramètres &quot;techniques&quot; du serveur:  nom du serveur, port de communication… srm.conf  : Configuration d'utilisation : format des données à partager, racine des documents HTML, possibilité d'utiliser les scripts CGI, les comptes utilisateurs (/~<nom>/) … (presque jamais utilisé) access.conf  : Liste des droits d'accès aux différentes parties de l'arborescence pour définir une région bien précise de l'arborescence => utiliser des balises (même &quot;style&quot; que le HTML) on peut redéfinir des permissions au niveau des répertoires à l'aide de fichier  .htaccess
Fichiers de configuration - httpd.conf Le fichier principale pour la configuration du serveur Apache Modifier la configuration : éditer son contenu + relancer le processus Apache père Il permet de  paramétrer  le comportement du serveur Apache Par défaut, il contient plusieurs lignes commentés qui contiennent des commandes Pour activer les commandes, il suffit de décommenter les lignes qui les contiennent …  dans la suite, quelques paramètres
Les fichiers de configuration - httpd.conf Définir le chemin o ù se trouve le serveur Apache : ServerRoot   «C:/Program Files/EasyPHP1-7/apache» (par défaut) Port de communication : Indiquer le port utilisé par le serveur Apache 80, par défaut On peut utiliser un autre port à condition qu’il n’est pas déjà utilisé Port  80 Indiquer l’adresse e-mail de l’administrateur du serveur ServerAdmin  admin@unige.ch On peut le modifier à tout moment
Les fichiers de configuration - httpd.conf Définition du nom du serveur : ServerName   nom_du_serveur Si le serveur est destiné à  être utilisé en local, il faudrait l’appeler  localhost Répertoire principale de votre serveur : là o ù vos pages Web seront mises DocumentRoot   répertoire principale DocumentRoot  «C:/Program Files/EasyPHP1-7/www», par défaut KeepAlive off KeepAliveTimeout 15 Timeout 300
Les fichiers de configuration - httpd.conf Définition de la page qui sera prise par défaut par le serveur : DirectoryIndex   index.html Pour mettre plusieurs pages, il faut mettre un espace Définition du nom du fichier qui sert à contr ôler les accès à un répertoire (par défaut, .htaccess) : AccessFileName  .htaccess Personnalisation des messages d’erreurs : Syntaxe :  ErrorDocument (code-à-3-chiffres [nom du fichier ou texte ou url]) 1- taper le texte qu’on veut afficher pour une erreur directement dans le fichier de configuration : Exemple :  ErrorDocument   403  «Votre message» 2- faire une redirection  locale  sur une page Web personnalisée créée auparavant: Exemple :  ErrorDocument   403  /page.html 3- faire une redirection  extérieur  pour afficher le message d’erreur : Exemple :  ErrorDocument   403  http://www.machin.truc/page.html
Contr ôle d’accès Possiblilité de restreindre l’accès à certains répertoires au sein de l’arborescence d’un serveur Web Placer les bonnes instructions dans le fichier de configuration  et  Créer un  fichier  particulier dans l’arborescence pour spécifier les critères de contr ôle Ce  fichier  s’appelle en général .htaccess (ce nom est re-configurable) => définit le domaine d’autorisation des clients dans l’arborescence de serveur Ces contrôles peuvent être également définis au niveau du fichier httpd.conf => méthode est moins souple :  intervention dans cette partie délicate redémarrage du serveur chaque fois que l’on veut modifier les contrôles
Contr ôle d’accès Au lieu d’utiliser des fichiers  .htaccess , on peut contr ôler l’accès aux répertoires à partir du fichier httpd.conf <Directory «chemin/du/repertoire»> Options </Directory> Les sections <Directory>   s’appliquent à un répertoire et ses sous-répertoires Exemples d’options : Allow/Deny  :  Allow from All  : définit une limitation d’accès en fonction du host du client ( Allow from  domain.com) Order  Deny, Allow  : définit l’ordre dans lequel les directives Deny et Allow sont évaluées
Contr ôle d’accès Les valeurs possibles sont : Deny, Allow : l’accès est autorisé par défaut, une station qui n’apparaît pas dans une directive Deny ou qui apparaît dans une directive Allow est autorisée Allow, Deny : l’accès est bloqué par défaut, une station qui n’apparaît pas dans une directive Allow ou qui apparaît dans une directive Deny est bloquée Autres directives : AuthName  absent  : contexte dans lequel va s’appliquer l’authentification. Ce message apparaît dans la fen être de login/mot de passe afin d’aider l’utilisateur quel login utiliser AuthType  Basic  : définit le mode d’authentification utilisé AuthUserFile  chemin/du/fichier : fichier dans lequel sont listés les utilisateurs et les mots de passe qui peuvent se connecter au site (voir suite)
Contrôle d’accès Le fichier de mot de passe est un fichier texte Il est administré avec le programme  htpasswd sur chacune des ses lignes le nom de chaque utilisateur suivi de deux points (:), puis du mot de passe crypté (solution recommandée) ou en clair Sa syntaxe est la suivante: Login 1 : mot de passe crypté Login2 : mot de passe crypté  Exemple de fichier de mot de passe non crypté JFPillou:Toto504  Damien:Robert(32)  Le même fichier contenant des mots de passe cryptés :  JFPillou:$apr1$Si0.....$teyL5Y7BR4cHj0sX309Jj0 Damien:$apr1$TD1.....$sfPTHjoufoNsda4HsD1oL0
Contrôle d’accès Gestion du fichier UserFile à l’aide du programme  htpasswd  présent dans le répertoire  bin  de l’arborescence Apache Utilisation de  htpasswd  :  Création  d’un nouveau fichier de mots de passe :  htpasswd -c {chemin du fichier de mot de passe} utilisateur Ajout d’un nouvel utilisateur/motde passe à un fichier existant :  htpasswd {chemin du fichier de mot de passe} utilisateur  Suppression d’un utilisateur : éditer le fichier et supprimer la ligne correspondante à l’utilisateur Le fichier GroupFile s’édite avec tout éditeur texte
Contrôle d’accès AuthGroupFile  chemin/du/fichier : fichier dans lequel sont listés les groupes avec les utilisateurs qui leurs sont affectés La syntaxe de ce fichier est : Group1: user1, user2 Group2: user1, user3 Require  : définit les utilisateurs autorisés à accéder à ce répertoire Syntaxes : Require user  user1   user2 : les utilisateurs listés et présents dans le fichier  UserFile  peuvent accéder au site Require   group  group1 : les utilisateurs listés dans  group1  et présent dans le fichier  UserFile  peuvent accéder au site Require valid-user : tous les utilisateurs présents dans le fichier UserFile peuvent accéder au site
Exemple Pour interdire l’accès à tous les utilisateurs sauf à vous m ême : <Directory «C:/Program Files/EasyPHP1-7/www»>   AllowOverride None   #Cela laisse les permissions de tous les répertoires par défaut et n'autorise pas d'accès spéciaux même si un .htaccess existe   Order allow,deny   #L’ordre de prise en compte des «permissions»   Allow from 127.0.0.1   #Seul l’IP 127.0.0.1 est autorisée à accéder </Directory> Allow from all : tout le monde peut avoir accès au serveur Web
Les fichiers .htaccess Sont des fichiers de configuration d’Apache qui permettent de : Définir les limites d’accès aux fichiers, répertoires et leurs sous-répertoires Spécifier des fichiers de mots de passe dans lequel sont rangés les couples « nom d’utilisateur, mot de passe » autorisés Restreindre l’accès selon des critères spécifiques : nom de réseau, mot de passe,… Intér êts des fichiers .htaccess : Gérer l’accès à certains fichiers et répertoires Protéger l’accès à un répertoire par un mot de passe Protéger l’accès à un fichier par un mot de passe
Principe des fichiers .htacces Le fichier .htaccess est placé dans le répertoire là o ù il doit agir Il agit sur les permissions du répertoire qui le contient et de tous ses sous-répertoires On peut placer un autre fichier .htaccess dans un sous répertoire d’un répertoire déjà contrôlé par un fichier .htaccess Le fichier .htaccess du répertoire parent reste en « activité » tant que les fonctionnalités n’ont pas été réécrites Création de fichiers .htaccess à l’aide d’un simple éditeur de texte
Emp êcher l’accès à des ressources Un fichier .htacces est composé de deux sections : Section contenant les chemins vers les fichiers contenant les définitions de groupes et d’utilisateurs : AuthUserFile  /repertoire/de/votre/fichier/.FichierDeMotDePasse AuthGroupFile  /repertoire/de/votre/fichier/.FichierDeGroupe AuthName  « Accès protégé » AuthType Basic  (précise qu'il faut utiliser AuthUserFile pour l'authentification) Section contentant la définition des conditions d’accès : <Limit GET POST>  :  GET et/ou POST définit le type de méthode du protocole HTTP auxquelles la restriction s'applique Require valid-user  :  précise que l'on autorise uniquement les personnes identifiées. Il est possible de préciser explicitement le nom des personnes autorisées à s'identifier : Require user {username} (instructions d’accès à satisfaire) </Limit>
Exemple Protéger un répertoire par un login et mot de passe Syntaxe : AuthUserFile  (emplacement du fichier de mots de passe) AuthGroupFile  (emplacement du fichier de groupes) AuthName  « Accès protégé » AuthType Basic <Limit GET POST> Require valid-user </Limit> Quand l’utilisateur demande à accéder à un fichier ou un répertoire contenu dans le répertoire qui contient .htaccess, une cartouche est affichée. Elle fait apparaître : Le texte défini par AuthName Deux champs à remplire pour un login et un mot de passe qui est masqué
Exemples AuthType Basic AuthName « Licence de physique » AuthUserFiles /…/passwd <Limit GET POST> Require user prof </Limit> => seul l’utilisateur prof, parmi tous ceux déclarés dans le fichier passwd, peut accéder au répertoire Création d’une intranet : AuthType Basic Order deny, allow <Limit GET POST> Allow from  mon-domaine.org </Limit> => Seuls les postes clients appartenants au domaine  mon-domaine.org  peuvent accéder à l’information
Exemple de restriction d'accès Empêcher l'accès à un répertoire par un domaine   AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse  AuthGroupFile /dev/null  (l'authentification ne se base pas sur le fichier .htgroup) AuthName &quot;Accès sécurisé au site ABC&quot;  AuthType Basic  <LIMIT GET POST>  order deny,allow  deny from all  allow from 193.48.172.2  require user TOTO  </LIMIT> Dans ce cas, l'accès ne sera possible que pour l'utilisateur TOTO à partir de l'adresse IP 193.48.172.2 et avec le bon mot de passe
Exemple Empêcher l'accès à un fichier particulier   Par défaut, Apache applique les restrictions du fichier .htaccess à l'ensemble des fichiers du répertoire dans lequel il se trouve ainsi qu'à tous les fichiers contenus dans ses sous-répertoires Il est possible de restreindre l'accès pour un ou plusieurs fichiers du répertoire grâce à la balise <Files> Exemple de restriction au fichier admin.php :  <Files  admin.php >  AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse  AuthGroupFile /dev/null  AuthName &quot;Accès sécurisé au site X&quot;  AuthType Basic  <LIMIT GET POST>  require user JFPillou  </LIMIT>  </Files>
Exemple Empêcher l'accès à un type de fichier par un domaine   <Files  *.png >  Order Deny, Allow  Deny from .LeNomDuDomaine.com  </Files> Toutes les personnes (requêtes) provenant du domaine .LeNomDuDomaine.com ne pourront avoir accès aux images, dont l'extension est .png, comprises dans le répertoire et ses sous-répertoires
Exemple Autoriser l'accés à un groupe de fichiers par un domaine et un pays <Files  php* >  Order Allow, Deny  Deny from all  Allow from .phpfrance.com  Allow from .fr  </Files> Toutes les personnes (requêtes) provenant du domaine  .phpfrance.com  ou des domaines ayant la terminaison  .fr  pourront avoir accès aux fichiers commençant par  php  (eg, les fichiers phpbonjour.html, phpaurevoir.abc) compris dans le répertoire et ses sous-répertoires
Exemple Obliger l'utilisateur à satisfaire à, au moins, une des conditions La syntaxe est la suivante : Satisfy  any, all Exemple : Order Allow, Deny Deny from all Allow from .free.fr Require User Damien Comma PumpPHP Jeff Rastapaye Satisfy  Any => L'accès au répertoire sera bloqué pour tout le monde à l'exception des personnes qui s'identifient et des requêtes provenant du domaine .free.fr
.htacces - Gérer les types de fichiers Un type MIME est un ensemble de types de fichiers standard, permettant d'associer une extension de fichier donnée à une application, afin d'automatiser le lancement de l'application Ajout d’un mime-type à un répertoire : Syntaxe : AddType (mime/type [liste d'extension]) Exemple de mise en oeuvre du fichier .htacces  AddType image/x-photoshop PSD  => Le serveur enverra au navigateur Internet le fichier en lui disant de lancer le programme PhotoShop (s'il est installé sur sa machine) et de lui donner le fichier Cette commande permet aussi d'annuler tout élément prédéfini. Ainsi, vous pouvez enregistrer un fichier .wav avec une extension .gif et préciser au navigateur de considérer les fichiers .gif comme des fichiers audio !
Gérer les types de fichier Forcer tous les fichiers d'un répertoire à un mime-type Syntaxe : ForceType (mime/type) Par exemple avec la ligne suivante, tous les fichiers du répertoire contenant le fichier .htaccess seront considérés comme étant des fichiers .jpg quelque soit leur extension :  ForceType image/jpg Définir l'extension de fichiers par défaut Syntaxe  : DefaultType mime/type Exemple :   DefaultType text/html Cette option permet de définir le comportement par défaut du navigateur face à des extensions lui étant inconnues (eg. lazy) Ici, il prendra tout fichier inconnu (par exemple 'bonjour', ‘Hello.salut’) en tant que document HTML
Personnalisation de messages d'erreures Même principe que dans le cas du fichier httpd.conf Permet de définir des messages d’erreur personnalisés => Donner un message d'erreur personnalisé remplaçant les fichiers fournis avec le navigateur Syntaxe : ErrorDocument (code-à-3-chiffres [nom du fichier ou texte ou url]) Exemple : définir les pages d'erreurs personnalisées au cas où l'accès à un document serait interdit ou bien que le document n'existe pas :  ErrorDocument 403 /erreurs/403.php3  ErrorDocument 404 /erreurs/404.php3
Changer le fichier index par défaut Le fichier index est le fichier qui est affiché lorsque aucun nom de fichier n'est défini dans l'URL (par exemple http://www.serveur.com/repertoire) => Permet d'éviter que le navigateur liste l'ensemble des fichiers contenus dans le répertoire (pour des raisons de confidentialité) Syntaxe : DirectoryIndex  fichiers Exemple : DirectoryIndex index.php index.html /erreurs/403.php3 Lorsque vous essayez d'accéder au répertoire sans préciser la page à afficher, Apache va avoir recours à la directive DirectoryIndex. En général, par défaut, cette directive pointe vers index.html puis index.htm Dans l'exemple ci-dessus, Apache va commencer par chercher index.php, puis index.html. Si aucun de ces fichiers existent, la page 403.php3 (se trouvant dans la racine) sera affichée pour éviter de lister le répertoire
Le répertoire  logs  : Logs et Statistiques Votre site est-il beaucoup visité ? Quelles pages ? Par qui ? Quel navigateur ? Depuis quelles pages ? Quand ?… Ces informations sont déduites des fichiers logs qui enregistrent les requ êtes HTTP (et surtout les entêtes) Les fichiers logs sont rangés sous le répertoire  logs .  Cet emplacement peut être modifié dans le fichier de configuration
Les fichiers logs Les accès et erreurs générés sur votre serveur sont tous consignés dans deux fichiers situés dans le répertoire  logs  : access_log  : Garde trace de toutes les requêtes effectuées sur le serveur Ce fichier est souvent à l'origine d'analyses statistiques Voir exemple error_log  : Enregistre toutes les erreurs rencontrées par le serveur Lors du débuggage de cgi-bin ou au démarrage du serveur, il est indispensable de jeter un coup d'oeil à ce fichier Voir exemple Possibilité de personnaliser les logs : Exemple : afficher la version du client et le referer (page de référence) Démo  : voir l’évolution du contenu des fichiers access.log et error.log Contr ôle de l’activité du serveur avec les fichiers log et les outils d’analyse des fichiers logs Outil téléchargeable gratuitement http://awstats.sourceforge.net   Démo
Le répertoire www Chemin : C:rogram FilesasyPHPww Ce répertoire est la racine du site Web Il contient la page d’accueil du site Il contient les fichiers accessibles depuis Internet = tous les répertoires du site Web Par défaut, vous devez mettre vos fichiers PHP et HTML dans le répertoire www. Ce sont ces fichiers qui seront appelés lorsque vous entrerez l'URL localhost/ ou 127.0.0.1 Pour que les pages PHP soient interprétées, il faut les placer  dans ce répertoire
Le répertoire  bin Ce répertoire contient des fichiers exécutables Exemples : L’utilitaire htpasswd qui permet de créer des fichiers de mots de passe Un programme exécutable qui permet de démarrer le serveur MySQL …
Cgi-bin Répertoire par défaut pour les programmes de génération de pages dynamiques CGI Permet de configurer notre serveur Web afin d’activer les CGI et exploiter les SSI CGI (Common Gateway Interface) : Une CGI est un programme dont le flux de sortie sera renvoyé au client via le serveur web SSI (Server Side Include) : les SSI sont des instructions que l’on peut inclure dans une page web qui sera analysée par le serveur avant d’ être envoyée au client Ce répertoire peut contenir des sous-répertoires qui seront également autorisés à lancer des programmes
Cgi-bin Pour configurer le serveur Apache, il faut : « activer » les cgi : modifier le fichier htpd.conf en ajoutant la ligne suivante si elle n’existe pas encore :  ScriptAlias /cgi-bin/ «C:/Program Files/EasyPHP1-7/cgi-bin/» => spécifier le répertoire qui contiendra les cgi AddHandler cgi-script .pl AddHandler cgi-script .cgi => ces lignes permettent au serveur de savoir que les fichiers ayant des extensions en .pl et .cgi sont des CGI à exécuter Ensuite, il faut créer les fichier .cgi et .pl
Le répertoire modules Il  contient un certain nombre de bibliothèques dynamiques ou modules Leur nom comprend obligatoirement l’extension «.so» et étend les fonctionnalités du serveur Dans sa configuration de base, le serveur ne peut pas faire grand-chose : sans module pas de CGI par exemple Cette modularité des fonctionnalités permet de gérer très souplement le fonctionnement d’un serveur La liste des modules disponibles s’agrandit à chaque nouvelle version A chaque module correspondent des instructions spécifiques qui, ajoutées dans le fichier de configuration d’Apache, configurent le fonctionnement du module correspondant
Modules - exemples mod_status.so :  permet de faire des statistiques sur le serveur (les requ êtes qui lui ont été adressées, etc.) mod_access.so Permet de contrôler quelles machines peuvent accéder à un répertoire du site mod_actions.so Contrôle l’exécution de scripts CGI mod_auth.so Permet de contrôler l’authentification des utilisateurs et l’usage des ressources mod_log_agent.so Autorise le recueil d’informations relatives aux clients utilisateurs mod_mime.so Pour l’organisation des différents types MIME

Contenu connexe

Tendances

08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)
Noël
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linux
Noël
 
Apache server configuration & sécurisation -
Apache server configuration & sécurisation  -Apache server configuration & sécurisation  -
Apache server configuration & sécurisation -
achraf_ing
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
SAIDRAISS2
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
Khalid ALLILI
 
Installation et configuration d'apache tomcat
Installation et configuration d'apache tomcatInstallation et configuration d'apache tomcat
Installation et configuration d'apache tomcat
Manassé Achim kpaya
 
Installation et-configuration-d-un a175
Installation et-configuration-d-un a175Installation et-configuration-d-un a175
Installation et-configuration-d-un a175
Maryem Maryemtii
 
Samba 4
Samba 4Samba 4
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfs
Noël
 
Installation Et Configuration De Nutch
Installation Et Configuration De NutchInstallation Et Configuration De Nutch
Installation Et Configuration De Nutch
Mohamed Ben Bouzid
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
Noël
 
07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns
Noël
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
PASCAL Jean Marie
 
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cacheMeetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Aurelien Navarre
 

Tendances (16)

Atelier 5
Atelier 5Atelier 5
Atelier 5
 
08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linux
 
Apache server configuration & sécurisation -
Apache server configuration & sécurisation  -Apache server configuration & sécurisation  -
Apache server configuration & sécurisation -
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
Installation et configuration d'apache tomcat
Installation et configuration d'apache tomcatInstallation et configuration d'apache tomcat
Installation et configuration d'apache tomcat
 
Installation et-configuration-d-un a175
Installation et-configuration-d-un a175Installation et-configuration-d-un a175
Installation et-configuration-d-un a175
 
Samba 4
Samba 4Samba 4
Samba 4
 
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfs
 
Installation Et Configuration De Nutch
Installation Et Configuration De NutchInstallation Et Configuration De Nutch
Installation Et Configuration De Nutch
 
Atelier 2
Atelier 2Atelier 2
Atelier 2
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
 
07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cacheMeetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
 

En vedette

Déployer avec les tests
Déployer avec les testsDéployer avec les tests
Déployer avec les tests
neuros
 
Behat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdfBehat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdf
seleniumbootcamp
 
Securite informatique
Securite informatiqueSecurite informatique
Securite informatique
Souhaib El
 
V604( Oreraring Manual)
V604( Oreraring Manual)V604( Oreraring Manual)
V604( Oreraring Manual)
guest4fdc29
 
Präsentation SCSI - SCSI Neue Medien - Systemhaus KEC
Präsentation SCSI - SCSI Neue Medien - Systemhaus KECPräsentation SCSI - SCSI Neue Medien - Systemhaus KEC
Präsentation SCSI - SCSI Neue Medien - Systemhaus KEC
SCSI_Schulungscenter
 
Comment motiver vos clients à la recherche d’emploi
Comment motiver vos clients à la recherche d’emploiComment motiver vos clients à la recherche d’emploi
Comment motiver vos clients à la recherche d’emploi
Entreprise d’entraînement Mitis-Neigette
 
Modelo evaluador y su metodologia
Modelo evaluador y su metodologiaModelo evaluador y su metodologia
Modelo evaluador y su metodologia
jose enrique tellez pacheco
 
NFCity : chasse au trésor 2.0 (par Youri Jedlinski)
NFCity : chasse au trésor 2.0 (par Youri Jedlinski)NFCity : chasse au trésor 2.0 (par Youri Jedlinski)
NFCity : chasse au trésor 2.0 (par Youri Jedlinski)
Arnaud Robin
 
esolang
esolangesolang
esolang
guestad8342
 
Masculin et féminin
Masculin et fémininMasculin et féminin
Masculin et féminin
DianaM2010
 
Projekt "Die Bibliothek in der Kiste"
Projekt "Die Bibliothek in der Kiste"Projekt "Die Bibliothek in der Kiste"
Projekt "Die Bibliothek in der Kiste"
Guenter K. Schlamp
 
Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...
Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...
Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...
Minnovarc
 
Offre création site web :Excellentes Solutions de Création Web pour les Pme
Offre création site web :Excellentes Solutions de Création Web pour les PmeOffre création site web :Excellentes Solutions de Création Web pour les Pme
Offre création site web :Excellentes Solutions de Création Web pour les Pme
Oolong Media
 
Los beneficios de los portafolios
Los beneficios de los portafoliosLos beneficios de los portafolios
Los beneficios de los portafolios
jose enrique tellez pacheco
 
Orientaciã³n para la evaluaciã³n
Orientaciã³n para la evaluaciã³nOrientaciã³n para la evaluaciã³n
Orientaciã³n para la evaluaciã³n
jose enrique tellez pacheco
 
ORIENTACION Y TENDENCIAS DE EDUCACION VIRTUAL
ORIENTACION Y TENDENCIAS DE EDUCACION VIRTUALORIENTACION Y TENDENCIAS DE EDUCACION VIRTUAL
ORIENTACION Y TENDENCIAS DE EDUCACION VIRTUAL
Edith Dionet Chavez
 
Message 9 septembre 2012 à Lausanne
Message 9 septembre 2012 à LausanneMessage 9 septembre 2012 à Lausanne
Message 9 septembre 2012 à Lausanne
adsarclemanique
 
Unidad 4 Recursos Informáticos
Unidad 4 Recursos InformáticosUnidad 4 Recursos Informáticos
Unidad 4 Recursos Informáticos
Angela Vargas
 
Réunions des propriétaires chambres d'hôtes (Novembre 2013)
Réunions des propriétaires chambres d'hôtes (Novembre 2013)Réunions des propriétaires chambres d'hôtes (Novembre 2013)
Réunions des propriétaires chambres d'hôtes (Novembre 2013)
SMTR
 

En vedette (20)

Déployer avec les tests
Déployer avec les testsDéployer avec les tests
Déployer avec les tests
 
Behat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdfBehat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdf
 
Securite informatique
Securite informatiqueSecurite informatique
Securite informatique
 
V604( Oreraring Manual)
V604( Oreraring Manual)V604( Oreraring Manual)
V604( Oreraring Manual)
 
Präsentation SCSI - SCSI Neue Medien - Systemhaus KEC
Präsentation SCSI - SCSI Neue Medien - Systemhaus KECPräsentation SCSI - SCSI Neue Medien - Systemhaus KEC
Präsentation SCSI - SCSI Neue Medien - Systemhaus KEC
 
Comment motiver vos clients à la recherche d’emploi
Comment motiver vos clients à la recherche d’emploiComment motiver vos clients à la recherche d’emploi
Comment motiver vos clients à la recherche d’emploi
 
Modelo evaluador y su metodologia
Modelo evaluador y su metodologiaModelo evaluador y su metodologia
Modelo evaluador y su metodologia
 
NFCity : chasse au trésor 2.0 (par Youri Jedlinski)
NFCity : chasse au trésor 2.0 (par Youri Jedlinski)NFCity : chasse au trésor 2.0 (par Youri Jedlinski)
NFCity : chasse au trésor 2.0 (par Youri Jedlinski)
 
esolang
esolangesolang
esolang
 
Masculin et féminin
Masculin et fémininMasculin et féminin
Masculin et féminin
 
Projekt "Die Bibliothek in der Kiste"
Projekt "Die Bibliothek in der Kiste"Projekt "Die Bibliothek in der Kiste"
Projekt "Die Bibliothek in der Kiste"
 
Dussehra afm
Dussehra afmDussehra afm
Dussehra afm
 
Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...
Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...
Projet Diaphano : système d'imagerie laser par diaphanoscopie pour la détecti...
 
Offre création site web :Excellentes Solutions de Création Web pour les Pme
Offre création site web :Excellentes Solutions de Création Web pour les PmeOffre création site web :Excellentes Solutions de Création Web pour les Pme
Offre création site web :Excellentes Solutions de Création Web pour les Pme
 
Los beneficios de los portafolios
Los beneficios de los portafoliosLos beneficios de los portafolios
Los beneficios de los portafolios
 
Orientaciã³n para la evaluaciã³n
Orientaciã³n para la evaluaciã³nOrientaciã³n para la evaluaciã³n
Orientaciã³n para la evaluaciã³n
 
ORIENTACION Y TENDENCIAS DE EDUCACION VIRTUAL
ORIENTACION Y TENDENCIAS DE EDUCACION VIRTUALORIENTACION Y TENDENCIAS DE EDUCACION VIRTUAL
ORIENTACION Y TENDENCIAS DE EDUCACION VIRTUAL
 
Message 9 septembre 2012 à Lausanne
Message 9 septembre 2012 à LausanneMessage 9 septembre 2012 à Lausanne
Message 9 septembre 2012 à Lausanne
 
Unidad 4 Recursos Informáticos
Unidad 4 Recursos InformáticosUnidad 4 Recursos Informáticos
Unidad 4 Recursos Informáticos
 
Réunions des propriétaires chambres d'hôtes (Novembre 2013)
Réunions des propriétaires chambres d'hôtes (Novembre 2013)Réunions des propriétaires chambres d'hôtes (Novembre 2013)
Réunions des propriétaires chambres d'hôtes (Novembre 2013)
 

Similaire à Serveur Web (1)

Serveur Web (2)
Serveur Web (2)Serveur Web (2)
Serveur Web (2)
Saïd Radhouani
 
Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...
Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...
Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...
Sylvie CECI
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
Amal Abid
 
Actnc2b01 bts1
Actnc2b01 bts1Actnc2b01 bts1
Actnc2b01 bts1
nicolastireur
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
Amir Souissi
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
Souhaib El
 
Powershell
PowershellPowershell
Powershell
UGAIA
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
Christophe Rochefolle
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
Khalil BOUKRI
 
Hadoop MapReduce.docx
Hadoop  MapReduce.docxHadoop  MapReduce.docx
Hadoop MapReduce.docx
IssamHamdi
 
Cours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linuxCours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linux
AdiliKarim
 
Cours 8 squid.pdf
Cours 8 squid.pdfCours 8 squid.pdf
Cours 8 squid.pdf
FayalBougherbal
 
serveur ftp administration reseau sous linux
serveur ftp administration reseau sous linuxserveur ftp administration reseau sous linux
serveur ftp administration reseau sous linux
S4m1rSecur1ty
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
adiouf2
 
presentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptxpresentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptx
BrahimKarimi
 
Le système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaLe système d&rsquo;E/S en Java
Le système d&rsquo;E/S en Java
Korteby Farouk
 
s de base
s de bases de base
s de base
alimesbahi3
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
cecile59
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
guest6c050e
 

Similaire à Serveur Web (1) (20)

Serveur Web (2)
Serveur Web (2)Serveur Web (2)
Serveur Web (2)
 
Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...
Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...
Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
 
Actnc2b01 bts1
Actnc2b01 bts1Actnc2b01 bts1
Actnc2b01 bts1
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
 
Powershell
PowershellPowershell
Powershell
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
 
Hadoop MapReduce.docx
Hadoop  MapReduce.docxHadoop  MapReduce.docx
Hadoop MapReduce.docx
 
Cours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linuxCours Linux , bases de l'administration linux
Cours Linux , bases de l'administration linux
 
Cours 8 squid.pdf
Cours 8 squid.pdfCours 8 squid.pdf
Cours 8 squid.pdf
 
serveur ftp administration reseau sous linux
serveur ftp administration reseau sous linuxserveur ftp administration reseau sous linux
serveur ftp administration reseau sous linux
 
hassclic270.ppt
hassclic270.ppthassclic270.ppt
hassclic270.ppt
 
presentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptxpresentation de html partie par partie et detaillee.pptx
presentation de html partie par partie et detaillee.pptx
 
Le système d&rsquo;E/S en Java
Le système d&rsquo;E/S en JavaLe système d&rsquo;E/S en Java
Le système d&rsquo;E/S en Java
 
s de base
s de bases de base
s de base
 
Lp web tp3_idse
Lp web tp3_idseLp web tp3_idse
Lp web tp3_idse
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 

Plus de Saïd Radhouani

Anatomy of Search Relevance: From Data To Action
Anatomy of Search Relevance: From Data To ActionAnatomy of Search Relevance: From Data To Action
Anatomy of Search Relevance: From Data To Action
Saïd Radhouani
 
PhD Defense Presentation - Soutenance de thèse
PhD Defense Presentation - Soutenance de thèse PhD Defense Presentation - Soutenance de thèse
PhD Defense Presentation - Soutenance de thèse
Saïd Radhouani
 
PhD Dissertation - Manuscrit de thèse de doctorat
PhD Dissertation - Manuscrit de thèse de doctoratPhD Dissertation - Manuscrit de thèse de doctorat
PhD Dissertation - Manuscrit de thèse de doctorat
Saïd Radhouani
 
Conception de sites Web
Conception de sites WebConception de sites Web
Conception de sites Web
Saïd Radhouani
 
Publication de documents sur le Web
Publication de documents sur le WebPublication de documents sur le Web
Publication de documents sur le Web
Saïd Radhouani
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
Saïd Radhouani
 
Introduction à l\'e-learnining
Introduction à l\'e-learniningIntroduction à l\'e-learnining
Introduction à l\'e-learnining
Saïd Radhouani
 
Documents intéractifs
Documents intéractifsDocuments intéractifs
Documents intéractifs
Saïd Radhouani
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
Saïd Radhouani
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)
Saïd Radhouani
 
SPIP
SPIPSPIP
PHP &amp; MySQL
PHP &amp; MySQLPHP &amp; MySQL
PHP &amp; MySQL
Saïd Radhouani
 
Introduction à PHP
Introduction à PHPIntroduction à PHP
Introduction à PHP
Saïd Radhouani
 
Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)
Saïd Radhouani
 
Introduction aux technologies du Web (1)
Introduction aux technologies du Web (1)Introduction aux technologies du Web (1)
Introduction aux technologies du Web (1)
Saïd Radhouani
 
Apprendre Solr en deux heures
Apprendre Solr en deux heuresApprendre Solr en deux heures
Apprendre Solr en deux heures
Saïd Radhouani
 
Introduction à la Recherche d'information
Introduction à la Recherche d'informationIntroduction à la Recherche d'information
Introduction à la Recherche d'information
Saïd Radhouani
 

Plus de Saïd Radhouani (17)

Anatomy of Search Relevance: From Data To Action
Anatomy of Search Relevance: From Data To ActionAnatomy of Search Relevance: From Data To Action
Anatomy of Search Relevance: From Data To Action
 
PhD Defense Presentation - Soutenance de thèse
PhD Defense Presentation - Soutenance de thèse PhD Defense Presentation - Soutenance de thèse
PhD Defense Presentation - Soutenance de thèse
 
PhD Dissertation - Manuscrit de thèse de doctorat
PhD Dissertation - Manuscrit de thèse de doctoratPhD Dissertation - Manuscrit de thèse de doctorat
PhD Dissertation - Manuscrit de thèse de doctorat
 
Conception de sites Web
Conception de sites WebConception de sites Web
Conception de sites Web
 
Publication de documents sur le Web
Publication de documents sur le WebPublication de documents sur le Web
Publication de documents sur le Web
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
Introduction à l\'e-learnining
Introduction à l\'e-learniningIntroduction à l\'e-learnining
Introduction à l\'e-learnining
 
Documents intéractifs
Documents intéractifsDocuments intéractifs
Documents intéractifs
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
Active Server Pages (ASP)
Active Server Pages (ASP)Active Server Pages (ASP)
Active Server Pages (ASP)
 
SPIP
SPIPSPIP
SPIP
 
PHP &amp; MySQL
PHP &amp; MySQLPHP &amp; MySQL
PHP &amp; MySQL
 
Introduction à PHP
Introduction à PHPIntroduction à PHP
Introduction à PHP
 
Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)Introduction aux technologies du Web (2)
Introduction aux technologies du Web (2)
 
Introduction aux technologies du Web (1)
Introduction aux technologies du Web (1)Introduction aux technologies du Web (1)
Introduction aux technologies du Web (1)
 
Apprendre Solr en deux heures
Apprendre Solr en deux heuresApprendre Solr en deux heures
Apprendre Solr en deux heures
 
Introduction à la Recherche d'information
Introduction à la Recherche d'informationIntroduction à la Recherche d'information
Introduction à la Recherche d'information
 

Serveur Web (1)

  • 1. Serveur Web et Gestion de Sites Web Saïd Radhouani Université de Genève janvier 2005
  • 2. Arborescence des répertoires Le serveur Apache donne accès aux répertoires suivants : conf : les fichiers de configuration logs : les fichiers logs (statistiques) modules : les modules www : les pages accèssible dpuis internet icons : le jeu des icons cgi-bin : les cgi ( des scripts tels écrits en perl, en C, etc.) bin : contient des exécutables
  • 3. Le répertoire conf Configuration d'Apache : définie dans 3 fichiers au format texte (rep. Conf), on peut les éditer à tout moment, un certain nombre de variables à positionner, prise en compte des modifications : relancer le serveur, ces variables ont une valeur par défaut, pour répondre à un besoin bien précis : savoir quelle variable on doit positionner, Ces 3 fichiers sont : httpd.conf : Spécification de tous les paramètres &quot;techniques&quot; du serveur: nom du serveur, port de communication… srm.conf : Configuration d'utilisation : format des données à partager, racine des documents HTML, possibilité d'utiliser les scripts CGI, les comptes utilisateurs (/~<nom>/) … (presque jamais utilisé) access.conf : Liste des droits d'accès aux différentes parties de l'arborescence pour définir une région bien précise de l'arborescence => utiliser des balises (même &quot;style&quot; que le HTML) on peut redéfinir des permissions au niveau des répertoires à l'aide de fichier .htaccess
  • 4. Fichiers de configuration - httpd.conf Le fichier principale pour la configuration du serveur Apache Modifier la configuration : éditer son contenu + relancer le processus Apache père Il permet de paramétrer le comportement du serveur Apache Par défaut, il contient plusieurs lignes commentés qui contiennent des commandes Pour activer les commandes, il suffit de décommenter les lignes qui les contiennent … dans la suite, quelques paramètres
  • 5. Les fichiers de configuration - httpd.conf Définir le chemin o ù se trouve le serveur Apache : ServerRoot «C:/Program Files/EasyPHP1-7/apache» (par défaut) Port de communication : Indiquer le port utilisé par le serveur Apache 80, par défaut On peut utiliser un autre port à condition qu’il n’est pas déjà utilisé Port 80 Indiquer l’adresse e-mail de l’administrateur du serveur ServerAdmin admin@unige.ch On peut le modifier à tout moment
  • 6. Les fichiers de configuration - httpd.conf Définition du nom du serveur : ServerName nom_du_serveur Si le serveur est destiné à être utilisé en local, il faudrait l’appeler localhost Répertoire principale de votre serveur : là o ù vos pages Web seront mises DocumentRoot répertoire principale DocumentRoot «C:/Program Files/EasyPHP1-7/www», par défaut KeepAlive off KeepAliveTimeout 15 Timeout 300
  • 7. Les fichiers de configuration - httpd.conf Définition de la page qui sera prise par défaut par le serveur : DirectoryIndex index.html Pour mettre plusieurs pages, il faut mettre un espace Définition du nom du fichier qui sert à contr ôler les accès à un répertoire (par défaut, .htaccess) : AccessFileName .htaccess Personnalisation des messages d’erreurs : Syntaxe : ErrorDocument (code-à-3-chiffres [nom du fichier ou texte ou url]) 1- taper le texte qu’on veut afficher pour une erreur directement dans le fichier de configuration : Exemple : ErrorDocument 403 «Votre message» 2- faire une redirection locale sur une page Web personnalisée créée auparavant: Exemple : ErrorDocument 403 /page.html 3- faire une redirection extérieur pour afficher le message d’erreur : Exemple : ErrorDocument 403 http://www.machin.truc/page.html
  • 8. Contr ôle d’accès Possiblilité de restreindre l’accès à certains répertoires au sein de l’arborescence d’un serveur Web Placer les bonnes instructions dans le fichier de configuration et Créer un fichier particulier dans l’arborescence pour spécifier les critères de contr ôle Ce fichier s’appelle en général .htaccess (ce nom est re-configurable) => définit le domaine d’autorisation des clients dans l’arborescence de serveur Ces contrôles peuvent être également définis au niveau du fichier httpd.conf => méthode est moins souple : intervention dans cette partie délicate redémarrage du serveur chaque fois que l’on veut modifier les contrôles
  • 9. Contr ôle d’accès Au lieu d’utiliser des fichiers .htaccess , on peut contr ôler l’accès aux répertoires à partir du fichier httpd.conf <Directory «chemin/du/repertoire»> Options </Directory> Les sections <Directory> s’appliquent à un répertoire et ses sous-répertoires Exemples d’options : Allow/Deny : Allow from All : définit une limitation d’accès en fonction du host du client ( Allow from domain.com) Order Deny, Allow : définit l’ordre dans lequel les directives Deny et Allow sont évaluées
  • 10. Contr ôle d’accès Les valeurs possibles sont : Deny, Allow : l’accès est autorisé par défaut, une station qui n’apparaît pas dans une directive Deny ou qui apparaît dans une directive Allow est autorisée Allow, Deny : l’accès est bloqué par défaut, une station qui n’apparaît pas dans une directive Allow ou qui apparaît dans une directive Deny est bloquée Autres directives : AuthName absent : contexte dans lequel va s’appliquer l’authentification. Ce message apparaît dans la fen être de login/mot de passe afin d’aider l’utilisateur quel login utiliser AuthType Basic : définit le mode d’authentification utilisé AuthUserFile chemin/du/fichier : fichier dans lequel sont listés les utilisateurs et les mots de passe qui peuvent se connecter au site (voir suite)
  • 11. Contrôle d’accès Le fichier de mot de passe est un fichier texte Il est administré avec le programme htpasswd sur chacune des ses lignes le nom de chaque utilisateur suivi de deux points (:), puis du mot de passe crypté (solution recommandée) ou en clair Sa syntaxe est la suivante: Login 1 : mot de passe crypté Login2 : mot de passe crypté Exemple de fichier de mot de passe non crypté JFPillou:Toto504 Damien:Robert(32) Le même fichier contenant des mots de passe cryptés : JFPillou:$apr1$Si0.....$teyL5Y7BR4cHj0sX309Jj0 Damien:$apr1$TD1.....$sfPTHjoufoNsda4HsD1oL0
  • 12. Contrôle d’accès Gestion du fichier UserFile à l’aide du programme htpasswd présent dans le répertoire bin de l’arborescence Apache Utilisation de htpasswd : Création d’un nouveau fichier de mots de passe : htpasswd -c {chemin du fichier de mot de passe} utilisateur Ajout d’un nouvel utilisateur/motde passe à un fichier existant : htpasswd {chemin du fichier de mot de passe} utilisateur Suppression d’un utilisateur : éditer le fichier et supprimer la ligne correspondante à l’utilisateur Le fichier GroupFile s’édite avec tout éditeur texte
  • 13. Contrôle d’accès AuthGroupFile chemin/du/fichier : fichier dans lequel sont listés les groupes avec les utilisateurs qui leurs sont affectés La syntaxe de ce fichier est : Group1: user1, user2 Group2: user1, user3 Require : définit les utilisateurs autorisés à accéder à ce répertoire Syntaxes : Require user user1 user2 : les utilisateurs listés et présents dans le fichier UserFile peuvent accéder au site Require group group1 : les utilisateurs listés dans group1 et présent dans le fichier UserFile peuvent accéder au site Require valid-user : tous les utilisateurs présents dans le fichier UserFile peuvent accéder au site
  • 14. Exemple Pour interdire l’accès à tous les utilisateurs sauf à vous m ême : <Directory «C:/Program Files/EasyPHP1-7/www»> AllowOverride None #Cela laisse les permissions de tous les répertoires par défaut et n'autorise pas d'accès spéciaux même si un .htaccess existe Order allow,deny #L’ordre de prise en compte des «permissions» Allow from 127.0.0.1 #Seul l’IP 127.0.0.1 est autorisée à accéder </Directory> Allow from all : tout le monde peut avoir accès au serveur Web
  • 15. Les fichiers .htaccess Sont des fichiers de configuration d’Apache qui permettent de : Définir les limites d’accès aux fichiers, répertoires et leurs sous-répertoires Spécifier des fichiers de mots de passe dans lequel sont rangés les couples « nom d’utilisateur, mot de passe » autorisés Restreindre l’accès selon des critères spécifiques : nom de réseau, mot de passe,… Intér êts des fichiers .htaccess : Gérer l’accès à certains fichiers et répertoires Protéger l’accès à un répertoire par un mot de passe Protéger l’accès à un fichier par un mot de passe
  • 16. Principe des fichiers .htacces Le fichier .htaccess est placé dans le répertoire là o ù il doit agir Il agit sur les permissions du répertoire qui le contient et de tous ses sous-répertoires On peut placer un autre fichier .htaccess dans un sous répertoire d’un répertoire déjà contrôlé par un fichier .htaccess Le fichier .htaccess du répertoire parent reste en « activité » tant que les fonctionnalités n’ont pas été réécrites Création de fichiers .htaccess à l’aide d’un simple éditeur de texte
  • 17. Emp êcher l’accès à des ressources Un fichier .htacces est composé de deux sections : Section contenant les chemins vers les fichiers contenant les définitions de groupes et d’utilisateurs : AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse AuthGroupFile /repertoire/de/votre/fichier/.FichierDeGroupe AuthName « Accès protégé » AuthType Basic (précise qu'il faut utiliser AuthUserFile pour l'authentification) Section contentant la définition des conditions d’accès : <Limit GET POST> : GET et/ou POST définit le type de méthode du protocole HTTP auxquelles la restriction s'applique Require valid-user : précise que l'on autorise uniquement les personnes identifiées. Il est possible de préciser explicitement le nom des personnes autorisées à s'identifier : Require user {username} (instructions d’accès à satisfaire) </Limit>
  • 18. Exemple Protéger un répertoire par un login et mot de passe Syntaxe : AuthUserFile (emplacement du fichier de mots de passe) AuthGroupFile (emplacement du fichier de groupes) AuthName « Accès protégé » AuthType Basic <Limit GET POST> Require valid-user </Limit> Quand l’utilisateur demande à accéder à un fichier ou un répertoire contenu dans le répertoire qui contient .htaccess, une cartouche est affichée. Elle fait apparaître : Le texte défini par AuthName Deux champs à remplire pour un login et un mot de passe qui est masqué
  • 19. Exemples AuthType Basic AuthName « Licence de physique » AuthUserFiles /…/passwd <Limit GET POST> Require user prof </Limit> => seul l’utilisateur prof, parmi tous ceux déclarés dans le fichier passwd, peut accéder au répertoire Création d’une intranet : AuthType Basic Order deny, allow <Limit GET POST> Allow from mon-domaine.org </Limit> => Seuls les postes clients appartenants au domaine mon-domaine.org peuvent accéder à l’information
  • 20. Exemple de restriction d'accès Empêcher l'accès à un répertoire par un domaine AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse AuthGroupFile /dev/null (l'authentification ne se base pas sur le fichier .htgroup) AuthName &quot;Accès sécurisé au site ABC&quot; AuthType Basic <LIMIT GET POST> order deny,allow deny from all allow from 193.48.172.2 require user TOTO </LIMIT> Dans ce cas, l'accès ne sera possible que pour l'utilisateur TOTO à partir de l'adresse IP 193.48.172.2 et avec le bon mot de passe
  • 21. Exemple Empêcher l'accès à un fichier particulier Par défaut, Apache applique les restrictions du fichier .htaccess à l'ensemble des fichiers du répertoire dans lequel il se trouve ainsi qu'à tous les fichiers contenus dans ses sous-répertoires Il est possible de restreindre l'accès pour un ou plusieurs fichiers du répertoire grâce à la balise <Files> Exemple de restriction au fichier admin.php : <Files admin.php > AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse AuthGroupFile /dev/null AuthName &quot;Accès sécurisé au site X&quot; AuthType Basic <LIMIT GET POST> require user JFPillou </LIMIT> </Files>
  • 22. Exemple Empêcher l'accès à un type de fichier par un domaine <Files *.png > Order Deny, Allow Deny from .LeNomDuDomaine.com </Files> Toutes les personnes (requêtes) provenant du domaine .LeNomDuDomaine.com ne pourront avoir accès aux images, dont l'extension est .png, comprises dans le répertoire et ses sous-répertoires
  • 23. Exemple Autoriser l'accés à un groupe de fichiers par un domaine et un pays <Files php* > Order Allow, Deny Deny from all Allow from .phpfrance.com Allow from .fr </Files> Toutes les personnes (requêtes) provenant du domaine .phpfrance.com ou des domaines ayant la terminaison .fr pourront avoir accès aux fichiers commençant par php (eg, les fichiers phpbonjour.html, phpaurevoir.abc) compris dans le répertoire et ses sous-répertoires
  • 24. Exemple Obliger l'utilisateur à satisfaire à, au moins, une des conditions La syntaxe est la suivante : Satisfy any, all Exemple : Order Allow, Deny Deny from all Allow from .free.fr Require User Damien Comma PumpPHP Jeff Rastapaye Satisfy Any => L'accès au répertoire sera bloqué pour tout le monde à l'exception des personnes qui s'identifient et des requêtes provenant du domaine .free.fr
  • 25. .htacces - Gérer les types de fichiers Un type MIME est un ensemble de types de fichiers standard, permettant d'associer une extension de fichier donnée à une application, afin d'automatiser le lancement de l'application Ajout d’un mime-type à un répertoire : Syntaxe : AddType (mime/type [liste d'extension]) Exemple de mise en oeuvre du fichier .htacces AddType image/x-photoshop PSD => Le serveur enverra au navigateur Internet le fichier en lui disant de lancer le programme PhotoShop (s'il est installé sur sa machine) et de lui donner le fichier Cette commande permet aussi d'annuler tout élément prédéfini. Ainsi, vous pouvez enregistrer un fichier .wav avec une extension .gif et préciser au navigateur de considérer les fichiers .gif comme des fichiers audio !
  • 26. Gérer les types de fichier Forcer tous les fichiers d'un répertoire à un mime-type Syntaxe : ForceType (mime/type) Par exemple avec la ligne suivante, tous les fichiers du répertoire contenant le fichier .htaccess seront considérés comme étant des fichiers .jpg quelque soit leur extension : ForceType image/jpg Définir l'extension de fichiers par défaut Syntaxe : DefaultType mime/type Exemple : DefaultType text/html Cette option permet de définir le comportement par défaut du navigateur face à des extensions lui étant inconnues (eg. lazy) Ici, il prendra tout fichier inconnu (par exemple 'bonjour', ‘Hello.salut’) en tant que document HTML
  • 27. Personnalisation de messages d'erreures Même principe que dans le cas du fichier httpd.conf Permet de définir des messages d’erreur personnalisés => Donner un message d'erreur personnalisé remplaçant les fichiers fournis avec le navigateur Syntaxe : ErrorDocument (code-à-3-chiffres [nom du fichier ou texte ou url]) Exemple : définir les pages d'erreurs personnalisées au cas où l'accès à un document serait interdit ou bien que le document n'existe pas : ErrorDocument 403 /erreurs/403.php3 ErrorDocument 404 /erreurs/404.php3
  • 28. Changer le fichier index par défaut Le fichier index est le fichier qui est affiché lorsque aucun nom de fichier n'est défini dans l'URL (par exemple http://www.serveur.com/repertoire) => Permet d'éviter que le navigateur liste l'ensemble des fichiers contenus dans le répertoire (pour des raisons de confidentialité) Syntaxe : DirectoryIndex fichiers Exemple : DirectoryIndex index.php index.html /erreurs/403.php3 Lorsque vous essayez d'accéder au répertoire sans préciser la page à afficher, Apache va avoir recours à la directive DirectoryIndex. En général, par défaut, cette directive pointe vers index.html puis index.htm Dans l'exemple ci-dessus, Apache va commencer par chercher index.php, puis index.html. Si aucun de ces fichiers existent, la page 403.php3 (se trouvant dans la racine) sera affichée pour éviter de lister le répertoire
  • 29. Le répertoire logs : Logs et Statistiques Votre site est-il beaucoup visité ? Quelles pages ? Par qui ? Quel navigateur ? Depuis quelles pages ? Quand ?… Ces informations sont déduites des fichiers logs qui enregistrent les requ êtes HTTP (et surtout les entêtes) Les fichiers logs sont rangés sous le répertoire logs . Cet emplacement peut être modifié dans le fichier de configuration
  • 30. Les fichiers logs Les accès et erreurs générés sur votre serveur sont tous consignés dans deux fichiers situés dans le répertoire logs : access_log : Garde trace de toutes les requêtes effectuées sur le serveur Ce fichier est souvent à l'origine d'analyses statistiques Voir exemple error_log : Enregistre toutes les erreurs rencontrées par le serveur Lors du débuggage de cgi-bin ou au démarrage du serveur, il est indispensable de jeter un coup d'oeil à ce fichier Voir exemple Possibilité de personnaliser les logs : Exemple : afficher la version du client et le referer (page de référence) Démo : voir l’évolution du contenu des fichiers access.log et error.log Contr ôle de l’activité du serveur avec les fichiers log et les outils d’analyse des fichiers logs Outil téléchargeable gratuitement http://awstats.sourceforge.net Démo
  • 31. Le répertoire www Chemin : C:rogram FilesasyPHPww Ce répertoire est la racine du site Web Il contient la page d’accueil du site Il contient les fichiers accessibles depuis Internet = tous les répertoires du site Web Par défaut, vous devez mettre vos fichiers PHP et HTML dans le répertoire www. Ce sont ces fichiers qui seront appelés lorsque vous entrerez l'URL localhost/ ou 127.0.0.1 Pour que les pages PHP soient interprétées, il faut les placer dans ce répertoire
  • 32. Le répertoire bin Ce répertoire contient des fichiers exécutables Exemples : L’utilitaire htpasswd qui permet de créer des fichiers de mots de passe Un programme exécutable qui permet de démarrer le serveur MySQL …
  • 33. Cgi-bin Répertoire par défaut pour les programmes de génération de pages dynamiques CGI Permet de configurer notre serveur Web afin d’activer les CGI et exploiter les SSI CGI (Common Gateway Interface) : Une CGI est un programme dont le flux de sortie sera renvoyé au client via le serveur web SSI (Server Side Include) : les SSI sont des instructions que l’on peut inclure dans une page web qui sera analysée par le serveur avant d’ être envoyée au client Ce répertoire peut contenir des sous-répertoires qui seront également autorisés à lancer des programmes
  • 34. Cgi-bin Pour configurer le serveur Apache, il faut : « activer » les cgi : modifier le fichier htpd.conf en ajoutant la ligne suivante si elle n’existe pas encore : ScriptAlias /cgi-bin/ «C:/Program Files/EasyPHP1-7/cgi-bin/» => spécifier le répertoire qui contiendra les cgi AddHandler cgi-script .pl AddHandler cgi-script .cgi => ces lignes permettent au serveur de savoir que les fichiers ayant des extensions en .pl et .cgi sont des CGI à exécuter Ensuite, il faut créer les fichier .cgi et .pl
  • 35. Le répertoire modules Il contient un certain nombre de bibliothèques dynamiques ou modules Leur nom comprend obligatoirement l’extension «.so» et étend les fonctionnalités du serveur Dans sa configuration de base, le serveur ne peut pas faire grand-chose : sans module pas de CGI par exemple Cette modularité des fonctionnalités permet de gérer très souplement le fonctionnement d’un serveur La liste des modules disponibles s’agrandit à chaque nouvelle version A chaque module correspondent des instructions spécifiques qui, ajoutées dans le fichier de configuration d’Apache, configurent le fonctionnement du module correspondant
  • 36. Modules - exemples mod_status.so : permet de faire des statistiques sur le serveur (les requ êtes qui lui ont été adressées, etc.) mod_access.so Permet de contrôler quelles machines peuvent accéder à un répertoire du site mod_actions.so Contrôle l’exécution de scripts CGI mod_auth.so Permet de contrôler l’authentification des utilisateurs et l’usage des ressources mod_log_agent.so Autorise le recueil d’informations relatives aux clients utilisateurs mod_mime.so Pour l’organisation des différents types MIME

Notes de l'éditeur

  1. Timeout définit, en seconde, la durée pendant laquelle le serveur attend des réception et des émissions en cours de communication (requ ête GET, reception paquet TCP, ACK) KeepAlive : autorise ou non plus d’une requête par connexion.