Comment faire en sorte qu'Apache démarre automatiquement httpd au démarrage dans Mac OS X
Les développeurs web sur Mac sont probablement familiers avec le démarrage et l'arrêt manuels du serveur web Apache sous OS X par la ligne de commande maintenant, mais si vous voulez qu'Apache se lance automatiquement au démarrage et au redémarrage d'un Mac, vous voudrez aller un peu plus loin et utiliser launchctl. Ainsi, les webdevs n'auront pas besoin d'exécuter les commandes de démarrage d'Apache manuellement pour lancer le démon httpd Apache, il se lancera automatiquement à chaque démarrage du Mac. Naturellement, nous montrerons également comment empêcher Apache de se lancer au démarrage.
Ces commandes ont essentiellement pour effet de charger le démon de lancement du serveur web apache dans OS X au démarrage du système. Comme il utilise launchctl, vous devez disposer d'un accès administrateur via sudo pour charger ou décharger apache. N'oubliez pas que cela n'est nécessaire que pour les versions plus modernes d'OS X qui n'ont plus d'option de "partage web" dans le panneau des préférences de partage.
Note : Cela suppose que vous avez déjà configuré et paramétré Apache sur le Mac, si vous ne l'avez pas déjà fait, vous devez commencer par là, sinon vous chargez automatiquement Apache sans grande configuration.
Configurer Apache pour qu'il démarre automatiquement au démarrage dans Mac OS X
Depuis le terminal, entrez la commande suivante :
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Appuyez sur "Retour" et entrez le mot de passe admin comme demandé pour terminer le travail.
Désormais, lorsque le Mac est démarré ou redémarré, Apache démarre automatiquement, ce qui est facilement vérifié en allant sur n'importe quel navigateur et en entrant "localhost" comme URL.
Vous verrez le message familier "Ça marche !" sur localhost et ces fichiers de base se trouvent dans
/Bibliothèque/Serveur Web/Documents/
Pour aller plus loin, vous pouvez également activer l'option Sites au niveau de l'utilisateur pour localhost /~User, mais cela dépasse le cadre de cet article, nous en parlons ici.
Empêcher le chargement d'Apache au démarrage dans Mac OS X
Pour empêcher Apache de se lancer automatiquement au démarrage du système, il suffit de retirer l'agent de launchd comme pour tout autre démon, comme cela se fait :
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Là encore, vous devrez entrer le mot de passe admin pour confirmer le changement.
Déterminer si Apache est chargé ou déchargé dans launchd
Si vous n'êtes pas sûr d'avoir configuré Apache pour qu'il se charge automatiquement ou non, vous pouvez interroger launchd pour apache de cette manière :
launchctl list|grep apache
Vous ne voyez pas le retour de apache.httpd ? Alors le démon n'est pas chargé, et il ne démarrera pas automatiquement. Apache peut toujours être utilisé et démarré manuellement, mais il ne se lancera pas tout seul avec un redémarrage ou un amorçage, ce qui est assez simple.
Si la configuration d'Apache, de PHP et de MySQL sous OS X semble trop compliquée ou est jugée trop compliquée, une autre bonne solution consiste à utiliser un ensemble de serveurs web pré-configurés comme MAMP. MAMP offre également une solution de serveur web autonome. Apache, PHP et MySQL étant déjà inclus dans un seul paquet d'applications, l'utilisateur lance simplement l'application MAMP et lance les services nécessaires pour démarrer et arrêter un serveur web pour le développement local. MAMP est puissant et constitue un excellent outil pour les développeurs web sous Mac, et il implique généralement beaucoup moins de bricolage et de complexité que la configuration manuelle des différents composants pour qu'ils s'exécutent eux-mêmes sous OS X. Chacune de ces solutions peut être excellente, alors utilisez celle qui vous convient le mieux et qui correspond à votre niveau de confort.