Aministration de Apache
► S'inscrire maintenant
Formation basée sur la documentation officielle : http://httpd.apache.org/docs/2.2/
- Apache : Introduction
- Cycle Requête/Réponse
- Cycle de vie du serveur Apache
- Historique
- Le protocole HTTP
- Étapes de traitement d'une requête
- Composition d'Apache
- Exercice en classe : installer le paquet Apache
- Contrôle d'Apache
- Démarrage d'Apache
- Apache2ctl, script de lancement fourni par Apache
- /etc/init.d/apache2, script de lancement fourni par Linux
- Arrêt d'Apache
- ReDémarrage d'Apache: redémarrage complet versus rechargement de la configuration à chaud
- Effet d'un kill
- Exercice en classe : redémarrer Apache en ligne de commande
- Fichiers de configuration
- Fichier httpd.conf (Apache 1) ou apache2.conf et fichiers secondaires (Apache 2)
- Découpage des fichiers de configuration en plusieurs fichiers pour Apache 2
- Effet de la directive Include
- Architecture du répertoire de configuration /etc/apache2/conf.d/, liste des fichiers et rôles
- Contrôle raffiné des répertoires et fichiers : Directory, Files, Location
- Options de AllowOverride
- Le fichier access.conf pour le contrôle des accès
- Définir les permissions générales restrictives
- Relacher les permissions pour un sous-groupe spécifique
- Les directives, utiliser la documentation en ligne
- DocumentRoot, la racine du site
- Listen, pour choisir le port sur lequel Apache écoute
- Include, pour combiner les divers fichiers de configuration
- Exercices en classe : Modifier le port d'écoute, modifier le DocumentRoot
- Hôtes virtuels (plusieurs domaine hébergés sur un serveur)
- La liste des domaines hébergés dans /etc/apache2/sites-enabled/, inclure automatiquement cette liste dans le fichier principal
- Structure minimale d'un fichier d'hôte virtuel
- Notion de Racine du site DocumentRoot
- Notion de Nom de serveur ServerName
- Établir un lien entre un nom de serveur et une localisation physique racine
- Directives supplémentaires souhaitables
- La commande a2ensite et le rechargement de la configuration à chaud
- Exercice en classe : configurer des DNS avec plusieurs domaines résolvant sur le même serveur et configurer Apache pour que des sites web différents soient présenté selon l'URL accédée
- Redirections de requêtes
- Négociation de contenu (basé sur la langue)
- Utiliser un fichier type-map
- Correspondances d'url avec système de fichiers
- Le web dans les répertoires des usagers (/home)
- Redirection d'URL - Si on veut informer l'usager
- Exercice en classe : configurer le web dans le répertoire des usagers linux, chaque usager du système créé sa page web qui est accessible maintenant avec http://ip-de-la-machine/~nom_usager/
- Réécriture d'url à la volée avec mod_rewrite
- Besoins de réécriture des URL, influence sur l'indexation par les moteurs de recherche
- Configuration initiale, installation et chargement du module, activation de l'engin avec RewriteEngine on
- Notions d'expressions régulières (utilisées dans la formulation des règles)
- Les directives : RewriteCond, RewriteRule
- Applications pratiques
- Balancement de surcharge (Load balancing)
- Réécriture d'URL avec paramètres en noms de fichiers HTML significatifs
- URL canoniques
- Hôtes canoniques
- DocumentRoot déplacé
- Bloquer les robots indésirables
- Réécriture dépendante du temps
- Bloquer l'utilisation des images du serveur par les autres sites web
- Contenu dépendant du Navigateur
- Exercices : Tester quelques applications pratiques de mod_rewrite : la réécriture des paramètres et le balancement de surcharge
- Configurations des CGI
- La directive ScriptAlias
- Variétés de configurations possibles : analyse critique, identification des meilleures configurations
- Exercice : activer les CGI dans un répertoire et tester avec un CGI. Attention, les interpréteurs à utiliser (par exemple perl ou python) doivent être aussi installés.
- SSI - Server Side Include
- Syntaxe des instructions SSI
- Date d'aujourd'hui
- Afficher la date de modification d'un fichier
- Inclure le résultat d'un programme CGI
- Afficher la date de dernière modification
- Inclure une en-tête, un pied de page ou un menu standard
- Exercices : Activer les SSI Réaliser chaque instruction SSI une fois
- Authentification, Authorisation et Contrôle des accès
- Création du fichier d'usagers et mots de passe avec l'utilitaire htpasswd
- Configuration de l'authentification pour un répertoire avec les directives Auth
- Indiquer dans la configuration l'emplacement de la liste des usagers
- .htaccess
- Quand utiliser un fichier .htaccess
- Configuration locale des usagers et mots de passe (Permission accordée aux développeurs web)
- Activation locale des SSI
- Ajout de nouveaux types de fichiers
- Désavantage de l'utilisation des fichiers .htaccess
- Contenu du fichier .htaccess dans le /www/htdocs/example
- Section du fichier httpd.conf ou apache2.conf générique, équivalence entre .htdocs et déclaration du fichier générique
- Options de AllowOverride dans le fichier principal
- Application des directives - les poupées russes
- Fusion de l'utilisation des .htaccess avec le fichier de configuration principal
- Exercice en classe : Activation et désactivation de l'utilisation des .htaccess dans un répertoire, permettre la configuration de l'authentification par ce .htaccess pour ce répertoire, configurer un usager pour un répertoire.
- Authentification
- DSO - Dynamic Shared Objects avec le module mod_so
- Techniques pour construire le DSO mod_toto.so à partir de mod_toto.c
- APXS (APache eXtenSion)
- SSL - Secure Socket Layer
- Utiliser la version 2 de SSL
- Permettre seulement les plus forts ciphers:
- Configuration générique, déclinée par répertoire pour parfois plus de contrôle
- Configuration de php avec Apache - php.ini ou php.conf
- Sécurité de la programmation, classification des variables reçues
- Variable register_globals dans php.ini, plus de détails...
- Affichage d'information sensible
- Configuration des extensions php dans Apache, dans httpd.conf ou apache2.conf
- Limiter les risques
- Configuration et analyse des Logs
- Activer et diriger les logs Apaches vers divers fichiers
- Contrôler le formatage de nos logs Apache
- Analyse critique des logs
- DOS - Denial of Service
- Masquer l'identité du serveur
- Options de configuration pertinentes, directives du fichier de configuration pour contrôler les nombre de connections, la charge, etc.
- Gestion des droits d'accès - Analyse de scénarios catastrophes
- Au niveau d'Apache
- Au niveau du système d'exploitation
► S'inscrire maintenant