Serveur Web et  Gestion de Sites Web Saïd Radhouani Université de Genève janvier 2005
Arborescence des répertoires <ul><li>Le serveur Apache donne accès aux répertoires suivants : </li></ul><ul><ul><li>conf :...
Le répertoire conf <ul><li>Configuration d'Apache :  </li></ul><ul><ul><li>définie dans 3 fichiers au format texte (rep. C...
Fichiers de configuration - httpd.conf <ul><li>Le fichier principale pour la configuration du serveur Apache </li></ul><ul...
Les fichiers de configuration - httpd.conf <ul><li>Définir le chemin o ù se trouve le serveur Apache : </li></ul><ul><ul><...
Les fichiers de configuration - httpd.conf <ul><li>Définition du nom du serveur : </li></ul><ul><ul><li>ServerName   nom_d...
Les fichiers de configuration - httpd.conf <ul><li>Définition de la page qui sera prise par défaut par le serveur : </li><...
Contr ôle d’accès <ul><li>Possiblilité de restreindre l’accès à certains répertoires au sein de l’arborescence d’un serveu...
Contr ôle d’accès <ul><li>Au lieu d’utiliser des fichiers  .htaccess , on peut contr ôler l’accès aux répertoires à partir...
Contr ôle d’accès <ul><li>Les valeurs possibles sont : </li></ul><ul><li>Deny, Allow : l’accès est autorisé par défaut, un...
Contrôle d’accès <ul><li>Le fichier de mot de passe est un fichier texte </li></ul><ul><li>Il est administré avec le progr...
Contrôle d’accès <ul><li>Gestion du fichier UserFile à l’aide du programme  htpasswd  présent dans le répertoire  bin  de ...
Contrôle d’accès <ul><li>AuthGroupFile  chemin/du/fichier : fichier dans lequel sont listés les groupes avec les utilisate...
Exemple <ul><li>Pour interdire l’accès à tous les utilisateurs sauf à vous m ême : </li></ul><ul><li><Directory «C:/Progra...
Les fichiers .htaccess <ul><li>Sont des fichiers de configuration d’Apache qui permettent de : </li></ul><ul><ul><li>Défin...
Principe des fichiers .htacces <ul><li>Le fichier .htaccess est placé dans le répertoire là o ù il doit agir </li></ul><ul...
Emp êcher l’accès à des ressources <ul><li>Un fichier .htacces est composé de deux sections : </li></ul><ul><li>Section co...
Exemple <ul><li>Protéger un répertoire par un login et mot de passe </li></ul><ul><li>Syntaxe : </li></ul><ul><ul><li>Auth...
Exemples <ul><li>AuthType Basic </li></ul><ul><li>AuthName « Licence de physique » </li></ul><ul><li>AuthUserFiles /…/pass...
Exemple de restriction d'accès <ul><li>Empêcher l'accès à un répertoire par un domaine   </li></ul><ul><li>AuthUserFile /r...
Exemple <ul><li>Empêcher l'accès à un fichier particulier   </li></ul><ul><li>Par défaut, Apache applique les restrictions...
Exemple <ul><li>Empêcher l'accès à un type de fichier par un domaine   </li></ul><ul><ul><li><Files  *.png >  </li></ul></...
Exemple <ul><li>Autoriser l'accés à un groupe de fichiers par un domaine et un pays </li></ul><ul><li><Files  php* >  </li...
Exemple <ul><li>Obliger l'utilisateur à satisfaire à, au moins, une des conditions </li></ul><ul><li>La syntaxe est la sui...
.htacces - Gérer les types de fichiers <ul><li>Un type MIME est un ensemble de types de fichiers standard, permettant d'as...
Gérer les types de fichier <ul><li>Forcer tous les fichiers d'un répertoire à un mime-type </li></ul><ul><ul><li>Syntaxe :...
Personnalisation de messages d'erreures <ul><li>Même principe que dans le cas du fichier httpd.conf </li></ul><ul><li>Perm...
Changer le fichier index par défaut <ul><li>Le fichier index est le fichier qui est affiché lorsque aucun nom de fichier n...
Le répertoire  logs  : Logs et Statistiques <ul><li>Votre site est-il beaucoup visité ? </li></ul><ul><li>Quelles pages ? ...
Les fichiers logs <ul><li>Les accès et erreurs générés sur votre serveur sont tous consignés dans deux fichiers situés dan...
Le répertoire www <ul><li>Chemin : C:Program FilesEasyPHPwww </li></ul><ul><li>Ce répertoire est la racine du site Web </l...
Le répertoire  bin <ul><li>Ce répertoire contient des fichiers exécutables </li></ul><ul><li>Exemples : </li></ul><ul><ul>...
Cgi-bin <ul><li>Répertoire par défaut pour les programmes de génération de pages dynamiques CGI </li></ul><ul><li>Permet d...
Cgi-bin <ul><li>Pour configurer le serveur Apache, il faut : </li></ul><ul><ul><li>« activer » les cgi : modifier le fichi...
Le répertoire modules <ul><li>Il  contient un certain nombre de bibliothèques dynamiques ou modules </li></ul><ul><li>Leur...
Modules - exemples <ul><li>mod_status.so :  permet de faire des statistiques sur le serveur (les requ êtes qui lui ont été...
Prochain SlideShare
Chargement dans…5
×

Serveur Web (1)

1 576 vues

Publié le

Apache configuration, EasyPHP, Proxy,

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 576
Sur SlideShare
0
Issues des intégrations
0
Intégrations
29
Actions
Partages
0
Téléchargements
79
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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.
  • Serveur Web (1)

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

    ×