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.