Sur Windows, Apache est normalement lancé en tant que service sur Windows NT, ou en tant qu'application en mode console sur Windows 95. Pour plus de détails, voir lancer Apache pour Windows.
Sur Unix, le programme httpd
est lancé
en tant que démon qui s'exécute en tâche de
fond pour traiter les requêtes. Il est possible
d'invoquer Apache par le démon Internet
inetd
à chaque fois qu'une connexion au
service HTTP est faite (if faut pour cela utiliser la directive
ServerType) mais cela
n'est pas recommandé.
Si le Port
spécifié dans le fichier de configuration est le
port par défaut 80 (ou tout autre port inérieur
à 1024), il est alors nécessaire d'avoir les
privilèges root pour lancer Apache. Une fois que
l'initialisation du serveur s'est achevée ainsi que
quelques activités préliminaires telles que
l'ouverture des fichiers de trace, le serveur lance un certain
nombre de processus fils ayant pour rôle
d'attendre et de répondre aux requêtes des
clients. Le processus père httpd
continue
à s'exécuter avec les privilèges root,
mais les processus fils s'exécute sous un utilisateur
avec moins de privilèges. Ceci est contrôlé
par les directives de création de processus
La première chose qu'httpd
fait
lorsqu'il est appelé est de chercher et lire le fichier de configuration
httpd.conf
. L'emplacement de ce fichier est
défini à la compilation, mais il est possible de
spécifier son emplacement à l'exécution en
utilisant l'option -f
. Exemple :
/usr/local/apache/bin/httpd -f
/usr/local/apache/conf/httpd.conf
Comme alternative à l'appel direct de
l'exécutable httpd
un script appelé
apachectl est fourni qui
permet de contrôler le processus démon avec des
commandes simples telles que apachectl start
ou
apachectl stop
.
Si tout ce passe correctement durant l'initialisation, le serveur se détache du terminal et l'invite de commande réapparaît presque immédiatement. Ceci indique que le serveur est actif et s'exécute. Vous pouvez utiliser un navigateur pour vous connecter au serveur et voir la page de test située dans le répertoire DocumentRoot ainsi qu'une copie locale de la documentation à partir d'un lien de cette page.
Si Apache rencontre un problème fatal durant
l'initialisation, il écrira, avant de se terminer, un
message décrivant le problème, soit sur la
console, soit dans le fichier ErrorLog. Un des messages les
plus courants est "Unable to bind to Port ...
". Ce
message est généralement dû à
Pour plus d'informations sur la correction des problèmes, consultez la FAQ d'Apache.
Si vous souhaitez que votre serveur continue à
s'exécuter après une relance du système,
vous devez ajouter un appel à httpd
ou
apachectl
dans votre fichier de lancement du
système (généralement
rc.local
ou un fichier dans un répertoire
rc.N
). Ceci lancera Apache sous l'utilisateur
root. Avant de le faire, vérifiez que votre serveur est
correctement configuré en termes de
sécurité et de restrictions d'accès. Le
script apachectl
est conçu de
manière à ce qu'il soit directement lié
comme script d'initialisation, mais assurez vous qu'il
correspond aux besoins précis de votre
système.
Des informations complémentaires sur les options en ligne de commande d'httpd et d'apachectl ainsi que des autres programmes d'assistance inclus avec le serveur, sont disponibles à la page Serveur et programmes d'assistance. Il existe également une documentation de tous les modules inclus dans la distribution Apache ainsi que les directives qu'ils fournissent.