Sådan laver du Apache Starte httpd automatisk på Boot i Mac OS X

Mac-baserede webudviklere er formentlig bekendt med manuelt at starte og stoppe Apache-webserveren i OS X gennem kommandolinjen, men hvis du vil have Apache til at starte sig automatisk ved opstart og genstart af en Mac, vil du gerne gå en trin videre og brug launchctl. Ved at gøre det behøver webdevs ikke at køre apache startkommandoer manuelt for at starte Apache httpd-dæmonen, det starter automatisk hver gang Mac'en starter op. Naturligvis vil vi også vise, hvordan du stopper Apache fra at starte selv op med boot.


Væsentligt hvad disse kommandoer gør, er at indlæse apache webserverens startdemon til OS X ved systemstart. Fordi det bruger launchctl skal du have administratoradgang via sudo for at indlæse eller aflæse apache. Husk, dette er kun nødvendigt for mere moderne versioner af OS X, som ikke længere har en "webdeling" mulighed i panelet Deling præference.

Bemærk: Dette forudsætter at du allerede har konfigureret og konfigureret Apache på Mac'en, hvis du ikke har gjort det allerede, skal du starte der, ellers laver du automatisk Apache uden meget konfiguration.

Indstil Apache til at starte automatisk ved opstart i Mac OS X

Indtast følgende kommando fra terminalen:

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

Tryk tilbage og indtast administratorpassordet som bedt om at fuldføre jobbet.

Nu, når Mac'en startes eller genstartes, starter Apache automatisk, hvilket let kan verificeres ved at gå til en browser og indtaste "localhost" som URL.

Du kan se den velkendte "It Works!" Besked på localhost, og disse kernefiler er placeret i:

/Library/WebServer/Documents/

Hvis du går videre, kan du også aktivere brugerniveauet Sites-muligheder for localhost / ~ User, men det ligger uden for anvendelsesområdet for denne artikel, vi dækker det her.

Stop Apache fra Loading on Boot i Mac OS X

For at stoppe Apache fra at starte sig selv automatisk ved systemstart, skal du blot fjerne agenten fra launchd som med enhver anden dæmon, som sådan:

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

Igen skal du indtaste administratoradgangskoden for at bekræfte ændringen.

Bestem, om Apache er Loaded eller Unloaded i launchd

Hvis du ikke er sikker på, om du har indstillet Apache til at indlæse automatisk eller ej, kan du spørge om launchd for apache som sådan:

launchctl list|grep apache

Kan du ikke se apache.httpd returneret? Derefter er dæmonen ikke indlæst, og den starter ikke automatisk. Apache kan stadig bruges og startes manuelt, men det starter ikke med en genstart eller boot, ret simpelt.

Hvis konfiguration af Apache, PHP og MySQL i OS X lyder alt for kompliceret eller anses for meget besvær, er en anden god løsning at bruge en forudkonfigureret webserverpakke som MAMP. MAMP tilbyder også en selvstændig webserver løsning, hvor Apache, PHP og MySQL allerede er inkluderet i en enkelt applikationspakke. En bruger lancerer bare MAMP app og starter de nødvendige tjenester til at starte og stoppe en webserver til lokal udvikling. MAMP er kraftfuldt og et godt værktøj til Mac-baserede webudviklere, og det involverer generelt meget mindre tinkering og kompleksitet end manuelt at konfigurere de enkelte komponenter til at køre i OS X selv. Enten løsning kan være fantastisk, så brug det, der virker for dig og dit komfortniveau.