Je viens de constater que mon Apache ne démarrait plus. Voici donc une bonne occasion pour expliquer où se trouve certains fichiers.

Si vous n'avez plus accès à vos pages Web, essayez de le relancer à la main :

macyb:~ Cyb$ sudo apachectl -k start
Password:
(2)No such file or directory: httpd: could not open error log file /private/var/log/apache2/error_log.
Unable to open logs

Si vous obtenez cette erreur, la résolution est très simple : il faut créer un dossier apache2 pour les logs :

sudo mkdir /private/var/log/apache2

Relancez.

macyb:~ Cyb$ sudo apachectl -k restart

Vous venez de voir ou se trouvent les fichiers de log d'Apache. On va donc y jeter un œil :

macyb:~ Cyb$ tail -f /private/var/log/apache2/error_log

Cette commande vous permettra de visualiser les erreurs au fil de l'eau. Pour quitter, ctrl+c. L'erreur la plus courante sera sûrement une erreur 404 (File does not exist) pour le favicon. En effet, à chaque requête au serveur, une deuxième est faite pour charger le fichier favicon.ico (la petite image à coté de l'URI).

Si comme moi vous avez un peu la tête en l'air, pour ne pas oublier de sauvegarder vos fichiers, le plus simple est de les mettre dans votre compte utilisateur à la place de /Library/WebServer/.

Pour cela, on va éditer le fichier httpd.conf :

macyb:~ Cyb$ sudo vi /private/etc/apache2/httpd.conf 
Password:

Cherchez la ligne suivante :

DocumentRoot "/Library/WebServer/Documents"

Et remplacez-la par le chemin de votre choix.

DocumentRoot "/Users/Cyb/Dev/Web"

Si vous enregistrez maintenant (echap et :w) et relancez Apache, vous constaterez que Apache ne vous laisse pas accéder à vos fichiers. Normal, il est configuré pour interdire l'accès à tous les fichiers en dehors des sites définis. Nous replongeons donc dans le fichier httpd.conf et juste en dessous du DocumentRoot on trouve une série de lignes dont la première est :

<Directory "/Library/WebServer/Documents">

Pour faire simple, cette section indique à Apache qu'il a le droit d'accéder aux fichiers présents dans ce dossier. Or, le chemin indiqué est celui par défaut et non celui que l'on veut. Il suffit donc de le remplacer par celui que l'on a choisi :

<Directory "/Users/Cyb/Dev/Web">

Enregistrez le fichier et relancez Apache. Voilà vos pages Web !