Africa Computing - Cours Administration Linux - Mise en oeuvre d’un serveur Apache.

Rubrique : Accueil > Admin. Linux > Mise en oeuvre d’un serveur Apache
 

Chapitre 6 : Mise en oeuvre d’un serveur Apache





6.1. Apache et l’internet



6.1.1. Pourquoi Apache est-il devenu un standard ?

  • Coût nul
  • Code source disponible et modifiable permet un développement rapide du serveur, la création de modules spécifiques et une très grande réactivité dans la correction de tout bogue identifié.
  • Très grande flexibilité du serveur grâce à sa structure modulaire l’ajout d’un nouveau module permet d’ajouter de nouvelles fonctionnalités.

Sa flexibilité combinée à sa stabilité, à ses performances, ainsi qu’à la disponibilité du code source ont fait du logiciel Apache, le serveur WEB le plus populaire sur Internet.



6.1.2. Quel type de matériel faut-il pour un serveur Apache sous Linux ?

Faibles exigences matérielles :

Apache s’exécute sur n’importe quel type de machine. Pour un serveur de sites WEB peu exigeants, un simple 486 fera parfaitement l’affaire. Pour des sites très exigeants utilisant de nombreuses bases de données, un Pentium multiprocesseur peut être envisagé.

Concernant la mémoire : plus il y a de mémoire vive et plus la quantité de donnée en mémoire est importante ce qui a pour conséquence d’accélérer les accès.

Concernant le disque dur : un disque dur rapide permet d’améliorer les performances d’accès aux données des sites WEB. A noter que dans le cas de sites à grande audience, il est préférable d’utiliser plusieurs disques de tailles moyennes plutôt qu’un seul disque à grande capacité (un disque dur ne pouvant lire qu’à un seul endroit à la fois).

Concernant la carte réseau, une carte Ethernet 100baseT est préférable à une carte 10baseT (du moins en théorie car il faut encore que votre fournisseur d’accès offre une bande passante suffisante). Si le serveur doit également être connecté à un Intranet local, on peut envisager d’utiliser deux cartes réseaux : une dédiée au réseau interne et l’autre au réseau Internet. Ce qui permet d’augmenter la sécurité et d’éviter que l’encombrement du serveur WEB diminue la bande passante du réseau interne.

Exigence fondamentale : utiliser une machine dédiée :

Exécuter Apache sur une machine dédié à l’hébergement Internet. Pour assurer une disponibilité permanente des sites hébergés et compte tenu des faibles exigences matériels d’Apache, il est judicieux d’utiliser une machine spécialement dédiée à Apache et d’éviter le partage des ressources avec d’autres applications.

Connexion Internet :

Pour héberger des sites Internet, une liaison permanente haut-débit ainsi qu’une adresse IP fixe sont indispensables. Ce sont surtout les caractéristiques de votre connexion Internet plus que les caractéristiques de la machine qui vont définir les performances de votre serveur WEB. Lors du choix du fournisseur d’accès Internet (FAI ou ISP en anglais pour Internet Server Provider), il faut se poser des questions sur sa fiabilité, la qualité de la connexion Internet proposé ainsi que sur le nombre de clients qui se partagent la bande passante disponible (le débit de la bande passante fournie reste purement théorique puisque celle-ci est partagée par les utilisateurs).



6.1.3. Le protocole HTTP

HTTP ou HyperText Transfer Protocol est un protocole de requêtes et de réponses. Le dialogue entre un client web (un navigateur tel que Netscape) et un serveur (Apache) se traduit par une requête du client à laquelle le serveur répond en effectuant le traitement intermédiaire adéquat.

6.2. Installation et exécution d’Apache



6.2.1. Tester le serveur Apache

L’approche la plus simple et la plus naturelle pour tester le bon fonctionnement d’Apache consiste à lancer un navigateur web et d’utiliser http://localhost comme adresse. Après installation et lancement d’Apache, si tout se passe bien, vous devriez voir apparaître la page web par défaut d’Apache.

Si aucune page n’apparaît vérifier tout d’abord si le serveur est bien lancé en affichant les processus :


$ ps - aux | grep httpd

Dans le cas où le fichier de configuration d’Apache comporte une erreur, un message signale l’emplacement de l’erreur lors du lancement du serveur.



6.2.2. Installer Apache à partir d’un paquetage préconstruit

Se référer au site http://www.funix.org pour les détails de l’installation.

6.2.3. Installer Apache à partir des sources

Se référer au site http://www.funix.org pour les détails de l’installation.

6.2.4. Lancer, arrêter et redémarrer le serveur

L’exécutable Apache porte le nom httpd pour HyperText Transfer Protocol Daemon (selon la terminologie Unix, une application offrant des services au lieu de communiquer directement avec l’utilisateur s’appelle un démon - daemon en anglais).

Pour lancer Apache, il suffit d’exécuter httpd :


/etc/init.d/httpd start

Une fois lancé, Apache s’exécute en tâche de fond. Pour arrêter Apache :


/etc/init.d/httpd stop

Si le process apache ne réponds plus aux commandes il faut rechercher les processus httpd :


$ ps - aux | grep httpd

puis les détruire :


<blockquote>
$ kill -9 <pid>

est l’identificateur du processus Apache racine.

Dans le cas où on a simplement changé un fichier de configuration on peut exécuter la commande :


/etc/init.d/httpd graceful
qui demande au process apache courant de relire ses fichiers de configuration.

Dans ce mode, les transactions client ne sont pas interrompues et les processus Apache sont réactualisés au fur et à mesure que les requêtes en cours sont achevés.



6.2.5. Lancer automatiquement le serveur au démarrage de l’ordinateur

Il est important de s’assurer que les sites hébergés soient accessibles à tout moment ou presque. Dans le cas d’une coupure de courant prolongée dépassant la durée d’efficacité de l’onduleur, le serveur s’éteint. Lorsque le courant est rétabli, la machine redémarre. Il est crucial comme tout autre service réseau que le serveur Apache soit redémarré automatiquement afin que le temps d’indisponibilité des sites hébergés soit le plus court possible.

Si apache a été installé par un paquetage de la distribution le démarrage au boot doit être automatique.

Si apache a été compilé et installé depuis le code source il faut recopier le script apachectl dans le répertoire /etc/init.d/ et créer un lien dans le répertoire /etc/rcX.d correspondant au run-level désiré.