Come posso avviare apache in OSX Mountain Lion / Mavericks?


71

OSX Mountain Lion ha rimosso la GUI per la condivisione Web, ma Apache è ancora installato.

Come posso avviare e interrompere il servizio? Come faccio ad avviare automaticamente il servizio all'avvio?


Si avvia automaticamente, almeno per me. Basta digitare 0.0.0.0 dovrebbe essere lì.
Wojciech Bednarski,

@Lri No. Ho fatto l'aggiornamento dalla 10.7
Wojciech Bednarski il

Risposte:


79

Anche LaunchDaemon per Apache è ancora lì, quindi tutto ciò che devi fare è caricarlo:

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

Lo -wrende permanente, cioè verrà ricaricato al riavvio.


Come si disattiva una volta avviato in questo modo?
James McMahon,

9
@JamesMcMahon:sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Gordon Davisson,

Hmm, qualcosa è ancora in esecuzione su localhost, avevo pensato che fosse Apache, forse ho qualcos'altro in esecuzione.
James McMahon,

@JamesMcMahon: è possibile utilizzare ad es. sudo lsof -i:80Per vedere quale processo è in ascolto su una determinata porta. Da lì, questa risposta precedente potrebbe aiutarti a rintracciarla ...
Gordon Davisson,

35

Comandi terminali

Avvio: "sudo apachectl start"

Arresto: "sudo apachectl stop"

Riavvio: "sudo apachectl restart"

Avvio all'avvio

(Vedi la risposta contrassegnata in questa discussione)


Esiste una directory ShutdownItems equivalente? Non avere OSX davanti a me in questo momento ...
Rich Homolka,

C'era /etc/rc.shutdown.local - non sono sicuro che sia ancora in giro ...
slifty

12

sudo apachectl startabilita anche il demone launchd. Sostituisce la Disabledchiave /System/Library/LaunchDaemons/org.apache.httpd.plistmodificando /private/var/db/launchd.db/com.apple.launchd/overrides.plist, proprio come launchctl load -w.

Per http://localhost/~username/funzionare, devi creare /etc/apache2/users/username.confe aggiungere una <Directory>direttiva come questa:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

1
Ho trovato un ottimo resoconto di questo, qui. Copre anche l'ablazione del modulo php. coolestguyplanettech.com/downtown/…
Peter Ehrlich,

8

Slifty e Lauri suggeriscono un concetto importante senza dirlo chiaramente.

"sudo apachectl start" non solo avvierà apache ma modificherà anche /private/var/db/launchd.db/com.apple.launchd/overrides.plist in modo che apache si riavvii automaticamente ogni volta che il sistema viene riavviato.

Allo stesso modo, "sudo apachectl stop" interromperà apache e modificherà il file sopra in modo che apache non si avvii al riavvio del sistema.

Questo sembra essere il modo più semplice per controllare se il servizio si avvia automaticamente.


3

Per chi è alla ricerca di una GUI, Click On Tyler ha sviluppato un'app del pannello di controllo, http://clickontyler.com/blog/2012/02/web-sharing-mountain-lion/

Esempio di GUI


Bel widget .. comunque nel mio sistema qualcosa è andato storto e apache non si avvia .. :(
Dilip Rajkumar

Anch'io. Sembra essere un po 'sciatto codificato - buona vecchia confusione sul file .pid immagino ... zzz
conny

Questo è bello .. Ma obsoleto, non funziona su Yosemite. Come lo rimuoviamo dal nostro riquadro delle impostazioni?
emotività

Per cancellare:~/Library/PreferencePanes
emotalità,

Siamo spiacenti, questo non è più disponibile o è diventato parte di un prodotto commerciale che puoi solo scaricare completo, non solo il pannello delle preferenze. Qualche alternativa?
Motti Shneor,

1

Questo riquadro delle preferenze contiene i collegamenti per la cartella del sito del computer e per aprire un browser: http://stowlake.com/WebServer


Il pannello delle preferenze di questa UI piuttosto brutta si blocca immediatamente quando si tenta di avviare il server Web su OS-X 10.11 e 10.12.
Schede di
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.