Comment faire Apache démarrer httpd automatiquement au démarrage sous Mac OS X

Les développeurs Web basés sur Mac sont probablement familiers avec le démarrage et l'arrêt manuel du serveur Web Apache dans OS X via la ligne de commande, mais si vous voulez qu'Apache se lance automatiquement au démarrage et redémarrage d'un Mac, vous devez aller plus loin et utiliser launchctl. En faisant cela, webdevs n'aura pas besoin d'exécuter les commandes de démarrage apache manuellement pour démarrer le démon Apache httpd, il se lancera automatiquement à chaque démarrage du Mac. Naturellement, nous montrerons également comment empêcher Apache de se lancer au démarrage.


Essentiellement, ce que ces commandes font est de charger le démon de lancement du serveur web Apache dans OS X au démarrage du système. Parce qu'il utilise launchctl, vous aurez besoin d'un accès administrateur via sudo pour charger ou décharger apache. Souvenez-vous que cela n'est nécessaire que pour les versions plus récentes d'OS X qui n'ont plus d'option de «partage Web» dans le panneau de préférences Partage.

Note: Ceci suppose que vous avez déjà configuré et configuré Apache sur Mac, si vous ne l'avez pas déjà fait, vous devriez commencer par là, sinon vous allez charger automatiquement Apache sans beaucoup de configuration.

Définir Apache pour démarrer automatiquement au démarrage sous 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 d'administrateur comme demandé pour terminer le travail.

Maintenant, lorsque le Mac est démarré ou redémarré, Apache démarre automatiquement, ce qui est facilement vérifié en allant dans n'importe quel navigateur et en entrant "localhost" comme URL.

Vous verrez le message familier "Ça marche!" À localhost et ces fichiers de base se trouvent dans:

/Library/WebServer/Documents/

En allant 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 le couvrons ici.

Arrêter Apache du chargement au démarrage sous Mac OS X

Pour empêcher Apache de se lancer automatiquement au démarrage du système, vous devez simplement supprimer l'agent de launchd comme avec tout autre démon, comme ceci:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Encore une fois, vous devrez entrer le mot de passe administrateur pour confirmer la modification.

Déterminer si Apache est chargé ou déchargé dans launchd

Si vous n'êtes pas sûr si vous avez configuré Apache pour charger automatiquement ou non, vous pouvez interroger launchd pour apache comme ceci:

launchctl list|grep apache

Ne pas voir apache.httpd retourné? Ensuite, le démon n'est pas chargé et il ne démarre pas automatiquement. Apache peut toujours être utilisé et démarré manuellement, mais il ne se lancera pas lui-même avec un redémarrage ou un démarrage, assez simple.

Si la configuration d'Apache, PHP et MySQL dans OS X semble trop compliquée ou trop compliquée, une autre excellente solution consiste à utiliser un progiciel de serveur Web préconfiguré comme MAMP. MAMP offre également une solution de serveur web autonome, Apache, PHP et MySQL étant déjà inclus dans un seul paquet d'application, un utilisateur lance simplement l'application MAMP et commence les services nécessaires pour démarrer et arrêter un serveur web pour le développement local. MAMP est un outil puissant et idéal pour les développeurs Web basés sur Mac, et il implique généralement beaucoup moins de bricolage et de complexité que la configuration manuelle des composants individuels à exécuter sous OS X vous-même. L'une ou l'autre solution peut être géniale, alors utilisez celui qui vous convient le mieux et votre niveau de confort.