Administration Linux - Apache © 2014 tv <tvaira@free.fr> - v.1.0 - produit le 1

Administration Linux - Apache © 2014 tv <tvaira@free.fr> - v.1.0 - produit le 19 mars 2014 Sommaire Introduction 2 Mise en situation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Apache HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Manipulations 5 Séquence 1 : Virtual Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Séquence 2 : Configuration des Virtual Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Séquence 3 : Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Séquence 4 : Journalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Séquence 5 : Moteur de réécriture d’URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Séquence 6 : HTTP sécurisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Séquence 7 : Module PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Un compte-rendu au format texte (UTF-8) devra être rédigé et envoyé à l’adresse tvaira@free.fr La convention de nommage pour les compte-rendus est la suivante : admin-linux-apache-nom.txt 1 INTRODUCTION Introduction Mise en situation Vous devez disposer d’un PC possédant un système d’exploitation Linux ou Windows et du logiciel de virtualisation VirtualBox. Le système invité sera une installation du serveur Ubuntu 12.10. Apache HTTP Server Le logiciel libre Apache HTTP Server (Apache) est un serveur HTTP créé et maintenu au sein de la fondation Apache. C’est le serveur HTTP le plus populaire du World Wide Web. La version 2 d’Apache propose entre autres le support de plusieurs plates-formes (Windows, Linux et UNIX, Solaris, BSD, MAC OS X), le support de processus légers UNIX (threads), une nouvelle API et le support IPv6. [Source : http ://fr.wikipedia.org/] Installation Deux versions du logiciel Apache (1.3 et 2.2) sont disponibles. On installera la version plus récente. L’installation du paquet apache2 entraîne l’installation par défaut de apache2-mpm-worker, une version particulière de ce serveur web. # apt-get install apache2 Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Les paquets supplémentaires suivants seront installés : apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1- dbd-sqlite3 libaprutil1-ldap ssl-cer ... Le paquet apache2 ne contient rien, il sert simplement à s'assurer qu'une des versions de Apache 2 est eectivement installée. Les différentes versions d’Apache 2 se distingue par la politique qu’ils emploient pour gérer le traitement parallèle d’un grand nombre de requêtes. On connaît trois modes de fonctionnement qui changent notamment les performances du serveur HTTP : les modes Prefork, Worker et Event. – Historiquement, Apache fonctionne en Prefork, ce qui signifie qu’un processus père démarre préalable- ment des processus enfants qui traiteront chacun un certain nombre de requêtes clients. Cependant, sous Linux, la multiplication des processus provoque une augmentation de consommation de ressources (mémoire, descripteurs de fichiers). – En mode Worker, Apache lance des threads (des processus légers) qui géreront les demandes entrantes. La différence est qu’il s’agit d’un mode plus préemptif dans lequel le processus père prépare les ressources pour ses threads. Certains modules développés par des tiers, ou des librairies utilisées par ces modules, peuvent parfois ne pas être prévus pour fonctionner dans un environnement multi-thread, et dans ce cas peuvent provoquer des problèmes si on les utilise en conjonction avec le mode Worker. – Depuis la version 2.4, le module Event est disponible en production. C’est un fonctionnement derivé du mode Worker à ceci près que les threads ne desservent pas seulement une connexion client mais peuvent réaliser plusieurs tâches indépendamment de la connexion. Plus simplement, le thread dessert une requête et non pas une connexion. Administration Linux - Apache 2 / 18 © 2014 tv <tvaira@free.fr> INTRODUCTION Une fois l’installation terminée, on peut vérifier l’état du serveur HTTP Apache : # /etc/init.d/apache2 status Apache2 is running (pid 4060). # apachectl status # service apache2 status Configuration La configuration d’Apache est située dans le répertoire /etc/apache2/ : /etc/apache2/ |-- apache2.conf | ‘-- ports.conf |-- mods-enabled | |-- *.load | ‘-- *.conf |-- conf.d | ‘-- * ‘-- sites-enabled ‘-- * Comme toujours sous Linux, les chiers de con guration sont de simples chiers texte ASCII éditables avec un éditeur de texte comme vim, emacs, nano, ... La plupart de ces fichiers sont plus ou moins spécifiques à Debian/Ubuntu et permettent de séparer la configuration en plusieurs parties : – httpd.conf est le fichier utilisé par Apache 1, il est conservé vide dans Apache 2 pour assurer la rétrocompatibilité. On ne l’utilisera pas ; – apache2.conf est le fichier principal de configuration et il contient les directives de configuration. Il se charge aussi d’inclure les autres fichiers de configuration ; – ports.conf contient la directive Listen qui spécifie les adresses et les ports d’écoutes ; – envvars est utilisé pour définir des variables d’environnement propres à Apache, magic est lui utilisé pour déterminer le type de contenu d’un document en regardant les quelques premiers octets de ce contenu ; – conf.d est un répertoire qui contient plusieurs fichiers qui seront analysés par apache. Par exemple, le fichier charset permettra de spécifier l’encodage à utiliser par défaut pour tous les fichiers ; – mods-available contient la liste des modules d’apache disponibles ; – mods-enabled celle des modules activés ; – sites-available contient la liste des vhosts (Virtual Host) disponibles ; – sites-enabled celle des vhosts (Virtual Host) activés. L’ensemble de ces fichiers définissent une configuration par défaut qui rend le serveur HTTP Apache fonctionnel dès le départ. // Port d’écoute du serveur ? # cat /etc/apache2/ports.conf | grep -i "listen" Listen 80 // Racine des documents web du serveur ? # cat /etc/apache2/sites-enabled/000-default | grep -i "root" DocumentRoot /var/www Administration Linux - Apache 3 / 18 © 2014 tv <tvaira@free.fr> INTRODUCTION Conclusion : par défaut, le serveur web écoute sur le port 80 (Listen) et renvoie les pages web depuis le répertoire /var/www/ (DocumentRoot). Pour l’instant, il est accessible à partir de localhost (using 127.0.1.1 for ServerName). Modules Apache est un serveur modulaire et la plupart des fonctionnalités sont implémentées dans des modules externes que le programme charge pendant son initialisation. La configuration par défaut n’active que les modules les plus courants et les plus utiles. La liste complète des modules standards d’Apache est disponible sur le site : http ://httpd.apache.org/docs/2.2/mod/index.html La commande a2enmod <module> permet d’activer un nouveau module tandis que a2dismod <module> désactive uploads/Litterature/admin-linux-apache.pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager