Apache sur SUSE Linux s'exécute "prêt à utiliser" avec une configuration standard prédéfinie. En suivant les instructions de ce chapitre, vous pouvez mettre en service le serveur Web Apache en peu de temps. Vous devez être un utilisateur root pour installer et configurer Apache.
Le système de fichiers et la disposition des applications du paquetage SUSE Linux apache2 sont légèrement différents de ceux des paquetages logiciels standard disponibles sur le site Web d'Apache (http://httpd.apache.org). La section suivante décrit précisément l'installation du paquetage SUSE Linux apache2 et indique les différences, si nécessaire.
Pour installer un serveur Web simple, procédez comme suit :
Procédure 46.1. Installation rapide
Démarrez YaST dans l'interface graphique ou en mode ligne de commande.
Sélectionnez +.
Cliquez sur pour confirmer l'installation des paquetages apache2 et apache2-prefork.
Lorsque l'installation est terminée, l' apparaît et vous pouvez alors commencer la configuration du serveur Web.
L'inconvénient de la procédure mentionnée ci-dessus est qu'il n'y a pas de prise en charge PHP, ni de la base de données. Pour installer un serveur Web avec prise en charge PHP et prise en charge de la base de données, procédez comme suit :
Procédure 46.2. Installation d'un serveur Web simple
Démarrez YaST dans l'interface graphique ou en mode ligne de commande.
Sélectionnez +.
Choisissez dans la zone , puis activez l'option .
Cliquez sur .
Confirmez l'installation des paquetages dépendants pour achever l'installation de SUSE Linux Apache2.
Pour les utilisateurs experts, SUSE Linux offre une option d'installation personnalisée du paquetage. Pour installer un serveur Web de manière personnalisée, procédez comme suit :
Procédure 46.3. Installation du RPM Apache par défaut avec YaST
Démarrez YaST dans l'interface graphique ou en mode ligne de commande. Sélectionnez +.
Dans , sélectionnez , puis entrez apache2 dans le champ de .
Sélectionnez apache2 pour l'installation.
Utilisez les étapes 2 et 3 pour la sélection des modules. (voir Section 46.5, « Modules Apache »).
Une fois la sélection effectuée, cliquez sur .
Vous êtes alors invité à choisir l'une des dépendances pour le paquetage apache2-MPM nécessaire : apache2-prefork ou apache2-worker. Consultez laSection 46.2.2, « Modules de multitraitement » pour connaître les différences qui les distinguent. En cas de doute, sélectionnez le paquetage apache2-prefork, paquetage par défaut des systèmes d'exploitation basés sur Unix, puis cliquez sur .
Confirmez l'installation des paquetages dépendants pour achever l'installation de SUSE Linux Apache2.
![]() | Démarrage d'un serveur Web |
|---|---|
L'installation d'Apache ne démarre pas le serveur Web automatiquement. Pour plus d'informations sur le contrôle du démarrage et de l'arrêt d'Apache, consultez la Section 46.3.3, « Activation, démarrage et arrêt d'Apache ». | |
Comme indiqué dans Installation du RPM Apache par défaut avec YaST, SUSE Linux offre deux modules de multitraitement différents (MPM) utilisables avec Apache. Le rôle des MPM est d'accepter et de gérer les requêtes au serveur Web. Ils représentent le noyau du logiciel serveur Web.
Les modules prefork MPM implémentent un serveur Web preforking sans thread. De ce fait, le serveur Web se comporte de façon semblable à la version 1.x d'Apache en ce qu'il isole chaque requête et la gère en dupliquant un processus enfant séparé. Ainsi les requêtes problématiques n'ont-elles pas d'incidence sur les autres, ce qui évite de verrouiller le serveur Web.
Tout en apportant de la stabilité avec cette approche basée sur les processus, le module prefork MPM consomme davantage de ressources système que son équivalent, le module worker MPM. Le module prefork MPM est considéré comme le MPM par défaut pour les systèmes d'exploitation de type Unix.
![]() | Les MPM dans ce document |
|---|---|
Ce document suppose qu'Apache est utilisé avec le module prefork MPM. | |
Le module worker MPM offre un serveur Web multithread. Un thread est une forme « plus légère » de processus. L'avantage d'un thread sur un processus tient à sa plus faible consommation de ressources. Plutôt que de ne dupliquer que les processus enfants, le module worker MPM sert les requêtes en utilisant des threads avec des processus serveur. Les processus enfant pré-dupliqués sont multithread.
Cette approche améliore les performances d'Apache en consommant moins de ressources système que le module prefork MPM. L'un des inconvénients majeurs est la stabilité du module worker MPM : si un thread est endommagé, tous les threads d'un processus peuvent être affectés. Dans le pire des cas, il peut en résulter le blocage du serveur. En particulier, lorsqu'on utilise CGI (décrit dans Section 46.5.1.2, « Common Gateway Interface : mod_cgi
») avec Apache sous une charge importante, des erreurs internes du serveur peuvent se produire du fait que des threads ne peuvent communiquer avec les ressources système.
Un autre argument en défaveur de l'utilisation du module worker MPM avec Apache est que tous les modules Apache disponibles (voir Section 46.5, « Modules Apache ») ne sont pas thread-safe et ne peuvent donc pas être utilisé conjointement avec ce module.
![]() | PHP en tant que module Apache (mod_php) |
|---|---|
Tous les modules PHP disponibles ne sont pas thread-safe. L'utilisation du module worker MPM avec | |
SUSE Linux place les fichiers du paquetage Apache dans des emplacements par défaut. Les emplacements des fichiers les plus importants sont indiqués ici.
La plupart des fichiers exécutables de SUSE Linux Apache sont accompagnés d'un 2. Ceci simplifie la différenciation des fichiers binaires pour l'installation parallèle d'Apache 1.x et d'Apache 2.x.
/usr/sbin/httpd2
Lien symbolique pointant vers le module de multitraitement choisi décrit dans Section 46.2.2, « Modules de multitraitement ». La valeur par défaut est httpd2-prefork. Le lien symbolique est géré par le script de démarrage conformément au paramètre de configuration système du MPM.
/usr/sbin/httpd2-prefork
L'exécutable Apache2.
/usr/sbin/apache2ctl
Script de contrôle pour démarrer et arrêter le serveur Web, fourni par le projet Apache HTTPD. Consultez Section 46.3.3, « Activation, démarrage et arrêt d'Apache » pour plus d'informations ou exécutez /usr/sbin/apache2ctl help.
/etc/init.d/apache2
Script de démarrage et d'arrêt offrant l'intégration complète dans l'installation de SUSE Linux et démarrant Apache lors de l'amorçage. Il vérifie la présence d'une configuration valide avant de démarrer et d'arrêter le serveur et remplace l'emplacement de la configuration. Il facilite l'inclusion d'autres fichiers de configuration, le chargement de modules, ou même le démarrage d'une instance séparée du serveur sans modification du script.
/usr/sbin/rcapache2
Un lien symbolique pour /etc/init.d/apache2, car /etc/init.d/ n'est pas le chemin par défaut. Utilisez simplement rcapache2 start pour démarrer Apache.
/usr/sbin/htpasswd2
Utilitaire permettant de générer des mots de passe codés pour l'authentification basée sur .htaccess. Reportez-vous à la page de manuel htpasswd2(1) pour plus de détails sur l'utilisation de cet utilitaire.
La plupart des fichiers de configuration résident sous /etc/apache2. Pour plus d'informations sur la modification des paramètres de configuration, consultez Section 46.3, « Configuration ».
/etc/apache2/httpd.conf
Fichier de configuration de niveau supérieur. Si possible, évitez de modifier ce fichier. Il inclut principalement d'autres fichiers de configuration et déclare les paramètres généraux.
/etc/apache2/*.conf
Certains modules externes Apache placent leurs fichiers de configuration dans le répertoire /etc/apache2/, généralement précédés par le nom du module lui-même (mod_*.conf).
/etc/apache2/conf.d/*
Répertoire contenant plusieurs autres fichiers de configuration qui accompagnent certains paquetages. Pour voir un exemple, consultez Section 46.5.3.2, « Service de PHP : mod_php4, mod_php5
».
/etc/apache2/vhosts.d/*
Répertoire contenant les fichiers de configuration facultatifs pour les hôtes virtuels. Pour plus de détails, reportez-vous à Section 46.4, « Hôtes virtuels ».
/etc/sysconfig/apache2
Fichier de configuration SUSE Linux associé à Apache2. Il contient tous les paramètres de configuration pertinents pour contrôler le serveur Web Apache. /etc/sysconfig/apache2 est utilisé par YaST pour configurer Apache comme décrit dans Section 46.3.1, « Configuration d'Apache avec YaST ». Il est également possible de le modifier manuellement comme décrit dans Section 46.3.2, « Configuration manuelle d'Apache ».
Par défaut, Apache fournit différentes informations concernant son état lors de l'exécution dans les fichiers suivants :
/var/log/apache2/error_log
Apache consigne les avertissements de démarrage et d'arrêt ainsi que toutes les erreurs d'exécution dans ce fichier.
/var/log/apache2/access_log
Toutes les requêtes vers le serveur Web sont enregistrées dans ce fichier. Le format par défaut des entrées est un format combiné, montrant des informations concernant l'hôte et l'agent utilisateur envoyant la requête et l'URI de référence.
Le répertoire physique /srv/www/htdocs est l'emplacement par défaut à partir duquel Apache sert les pages Web. Il agit comme « répertoire racine » pour une requête du client. Pour publier des pages Web avec Apache, stockez les fichiers de façon hiérarchique dans ou sous ce répertoire.
Une URL telle que http://www.example.com/index.html se réfère à /srv/www/htdocs/index.html dans la configuration Apache par défaut de SUSE Linux pour un domaine nommé example.com.
Apache a été conçu avec une approche modulaire, ce qui signifie que les modules offrent les possibilités du logiciel serveur Web lui-même. Par conséquent, Apache peut être enrichi par des utilisateurs avancés en écrivant des modules personnalisés. Reportez-vous aux pages de manuel mentionnées ci-dessous pour obtenir des informations plus détaillées.
Pour pouvoir développer des modules pour Apache ou compiler des modules tiers, le paquetage apache2-devel est nécessaire, ainsi que les outils de développement correspondants. apache2-devel contient également les outils apxs2, nécessaires pour compiler des modules supplémentaires pour Apache.
Les fichiers binaires apxs2 se trouvent sous /usr/sbin :
/usr/sbin/apxs2—permet de créer un module d'extension fonctionnant avec n'importe quel MPM. L'emplacement d'installation est /usr/lib/apache2.
/usr/sbin/apxs2-prefork—adapté aux modules prefork MPM. L'emplacement d'installation est /usr/lib/apache2-prefork.
/usr/sbin/apxs2-worker—adapté aux modules worker MPM.
apxs2 installe les modules pour les rendre utilisables pour tous les MPM. Les deux autres programmes installent les modules afin qu'ils soient utilisables seulement pour leurs MPM respectifs. apxs2 installe les modules dans /usr/lib/apache2 et apxs2-prefork installe les modules dans /usr/lib/apache2-prefork.
apxs2 permet la compilation et l'installation des modules à partir du code source (avec les modifications requises des fichiers de configuration), qui crée des objets partagés de façon dynamique (DSO - dynamic shared object) pouvant être chargés dans Apache lors de l'exécution. Installez un module à partir du code source avec les commandes cd /path/to/module/source; apxs2 -c -i mod_foo.c. D'autres options de apxs2 sont décrites dans la page de manuel apxs2(1). Les modules doivent être activés dans /etc/sysconfig/apache2 avec l'entrée APACHE_MODULES comme décrit dans Section 46.3.2, « Configuration manuelle d'Apache ».