Si vous désirez télécharger et installer une version récente d'Apache ,veuillez consulter Compiler et Installer Apache 1.1.
Les utilisateurs d'UnixWare consulteront au préalable les remarques sur la compilation pour connaître les différentes versions d'UnixWare avant de compiler.
Les informations sur la dernière version d'Apache peuvent être trouvées sur le serveur Web d'Apache à l'adresse : http://www.apache.org/. Ce site réunit la version courante, toute version ultérieure encore en beta-test, ainsi que les informations concernant les sites miroirs et sites ftp anonymes où les distributions peuvent être obtenues.
Si vous téléchargez une distribution binaire, consultez directement la page Installer Apache. Sinon, lisez la section qui suit pour savoir comment compiler le serveur.
La compilation d'Apache se décompose en trois étapes : Premièrement, sélectionnez quels modules d'Apache vous voulez inclure dans le serveur. Deuxièmement, créez une configuration de compilation pour votre système d'exploitation. Troisièmement, compilez l'exécutable.
Toutes les configurations d'Apache sont présentées dans le répertoire src
de la distribution d'Apache. Entrez dans ce répertoire.
Configuration
. Les lignes AddModule hors commentaire correspondent aux modules optionnels qui seront compilés avec Apache. Vous pouvez bien sûr ajouter de nouvelles lignes correspondant à des modules additionnels que vous avez téléchargés ou écrit (Consulter API.html pour trouver les documentations préliminaires expliquant comment écrire les modules d'Apache). Les utilisateurs avertis pourront commenter certains modules activés par défaut s'ils sont sûrs qu'ils ne les utiliseront pas (soyez vigilants, plusieurs de ces modules de la configuration par défaut sont essentiels à un bon déroulement des opérations et pour la sécurité du serveur). Lisez également les instructions du fichier Configuration
afin de voir si vous n'avez besoin d'aucune des lignes Rule
.
Configure
comme décrit ci-dessous. Quoiqu'il en soit, si cela échoue ou si vous avez la moindre demande particulière (ex. inclure une librairie additionnelle demandée par un module optionnel ) vous devrez modifier au moins l'une des options suivantes dans le fichier Configuration
: EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES
. Exécuter le script Configure
:
% Configure Using 'Configuration' as config file + configured for <whatever> platform + setting C compiler to <whatever> * + setting C compiler optimization-level to <whatever> * + Adding selected modules + doing sanity check on compiler and options Creating Makefile in support Creating Makefile in main Creating Makefile in os/unix Creating Makefile in modules/standard
(*: Dépends de la Configuration et de votre système, Configure peut ne pas imprimer ces lignes}.
Cette action génère un fichier Makefile à utiliser à l'étape 3. Elle crée également un fichier Makefile le répertoire des sources, pour permettre la compilation des sources des programmes optionnels.
(Si vous désirez conserver les différentes configuration, vous pouvez utiliser une option de Configure
pour lui dire de lire un fichier de configuration particulier , telle que Configure -file Configuration.ai
).
Make
. Les modules que nous fournissons dans la distribution d'Apache sont ceux qui ont été testés et qui sont régulièrement utilisés par les membres du groupe de développement d'Apache. Les modules additionnels rajoutés par des membres ou des tiers pour des besoins ou des fonctions spécifiques sont disponibles sur <URL:http://www.apache.org/dist/contrib/modules/>. Vous y trouverez des instructions pour lier ces modules au code du noyau Apache.
Vous devez trouver un exécutable binaire nommé httpd
dans le répertoire src
. Une distribution d'Apache directement sous forme binaire vous fournira ce fichier.
L'étape suivante consiste à installer le programme et à le configurer. Apache est destiné à être configuré et exécuté à partir du même jeu de répertoires où il a été compilé. Si vous désirez l'exécuter à partir d'un autre endroit, créez un répertoire et copiez y les répertoires conf
, logs
et -icons
.
L'étape qui suit consiste à éditer les fichiers de configuration du serveur. Cela consiste à configurer des directives dans trois fichiers de configuration centralisés. Par défaut, ces fichiers sont situés dans le répertoire conf
et sont appelés srm.conf
, access.conf
et httpd.conf
. Pour vous aider à démarrer, les mêmes fichiers apparaissent dans le répertoire conf
de la distribution, appelés srm.conf-dist
, access.conf-dist
et httpd.conf-dist
. Copiez ou renommez ces fichiers en enlevant le suffixe -dist
. Puis éditez chacun de ces fichiers. Lisez attentivement les commentaires dans chaque fichier . Une erreur dans ces fichiers peut conduire à une instabilité de votre serveur, voir empêcher ce dernier de fonctionner. Un fichier additionnel nommé mime.types
peut être inscrit dans le répertoire conf
. Normalement, ce fichier ne doit pas être édité.
En premier lieu, éditez httpd.conf pour définir les attributs généraux du serveur : le numéro du port, le nom de l'utilisateur qui l'utilise, etc. Ensuite éditez le fichier srm.conf ; ceci définira la racine des répertoires ou se trouvent les documents, validera des fonctions spéciales telles que les SSI ou mapping d'image, etc. Enfin, éditez le fichier access.conf pour définir les schémas d'autorisation d'accès de base.
En plus de ces trois fichiers, le comportement du serveur peut être configuré sur une base "répertoire par répertoire" par l'utilisation de fichiers .htaccess placés dans les répertoires individuels accessibles par le serveur.
Pour démarrer le serveur, lancez simplement httpd. Cette commande recherchera httpd.conf à l'endroit définit par défaut au moment de la compilation ( /usr/local/apache/conf/httpd.conf). Si ce fichier est ailleurs, vous pouvez en donner la véritable localisation avec l'argument -f. Par exemple:
/usr/local/etc/apache/src/httpd -f /usr/local/etc/apache/conf/httpd.conf
Si tout se déroule bien, le prompt de commande est renvoyé quasiment immédiatement, ce qui indique que le serveur est à présent opérationnel et peut être exploité. Si une quelconque faute se produit durant l'initialisation du serveur, vous verrez un message d'erreur à l'écran.. Si le serveur démarre comme il faut, vous pouvez alors utiliser votre navigateur pour vous connecter sur serveur et lire la documentation. Si vous êtes en train d'exécuter le navigateur sur la même machine que le serveur et que vous utilisez le port 80 par défaut, une URL adaptée pour entrer dans votre navigateur est
http://localhost/
Notez que lorsque le serveur démarre il crée un nombre de processus fils destinés à traiter les requêtes. Si vous avez démarré Apache sous l'utilisateur root , le processus père continuera à tourner sous root tandis que les fils commuteront sur l'utilisateur défini dans le fichier httpd.conf.
Si lorsque vous exécutez httpd, celui-ci indique qu'il est incapable de se "lier" à une adresse IP, alors il est fort possible qu'un autre processus utilise déjà le port pour lequel vous avez configuré Apache....., ou alors vous utilisez httpd sous un utilisateur non root
et essayez d'utiliser un port inférieur à 1024 ( tel que le port 80 par défaut).
Si le serveur ne fonctionne pas, lisez le message d'erreur affiché lorsque vous exécutez httpd. Vous pouvez également consulter le bilan des erreurs dans la trace d'erreur du serveur pour plus d'informations (dans la configuration par défaut, le fichier error_log est situé dans le répertoire logs ).
Si vous voulez que votre serveur continue de s'exécuter suite à un redémarrage du système, vous devrez ajouter un appel vers httpd dans les fichiers de démarrage (typiquement rc.local ou un fichier situé dans un répertoire rc.N ). Cela relancera Apache sous root. Avant de mettre en place cette commande, vérifiez que votre serveur est correctement configuré en matière de sécurité et de restriction d'accès.
Pour arrêter Apache envoyez au processus père un signal TERM. Le PID de ce processus est écrit dans le fichier httpd.pid du répertoire logs (à moins que ce ne soit configuré autrement). Ne tentez pas de tuer les processus fils : ils seront immédiatement recréés par le père. Une commande typique pour arrêter le serveur est :
kill -TERM `cat /usr/local/etc/apache/logs/httpd.pid`
Pour plus d'informations sur les options de la ligne de commande d'Apache, sur la configuration et les fichiers de trace , voir Déparrer Apache. Pour un guide de référence pour toutes les directives d'Apache que soutiennent les modules distribuées, consulter Les Directives Apache.
En plus du serveur httpd principal qui est compilé et configuré comme indiqué ci-dessus, Apache inclue un bon nombre de programmes optionnels supportant des fonctionnalités additionnelles. Ceux ci ne sont pas compilés par défaut. Les programmes support sont dans le répertoire support de la distribution. Pour compiler les programmes support, entrez dans ce répertoire et tapez
make
Version française © Valery Fremaux, Alexandra Montcany / EISTI 1998