Como inicio o apache no OSX Mountain Lion / Mavericks?

71

O OSX Mountain Lion removeu a GUI para compartilhamento na Web, mas o apache ainda está instalado.

Como inicio e paro o serviço? Como obtenho o serviço para iniciar automaticamente na inicialização?

desleixado
fonte
Começa automaticamente, pelo menos para mim. Basta digitar 0.0.0.0, ele deve estar lá.
Wojciech Bednarski
@Lri No. Fiz upgrade da versão 10.7
Wojciech Bednarski

Respostas:

79

O LaunchDaemon for Apache ainda está lá também, então tudo o que você precisa fazer é carregá-lo:

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

O -wtorna permanente, ou seja, será recarregado quando você reiniciar.

Gordon Davisson
fonte
Como você desativa isso depois que é iniciado dessa maneira?
James McMahon
9
@JamesMcMahon:sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Gordon Davisson
Hmm, algo ainda está sendo executado no host local, eu assumi que era o Apache, talvez eu tenha outra coisa em execução.
James McMahon
@JamesMcMahon: Você pode usar, por exemplo, sudo lsof -i:80para ver qual processo está escutando em uma determinada porta. A partir daí, esta resposta anterior pode ajudar a rastreá-lo ...
Gordon Davisson
35

Comandos do terminal

Iniciando: "sudo apachectl start"

Parando: "sudo apachectl stop"

Reiniciando: "sudo apachectl restart"

Iniciando na inicialização

(Veja a resposta marcada neste tópico)

desleixado
fonte
Existe um diretório ShutdownItems equivalente? Não tenho o OSX na minha frente no momento ...
Rich Homolka
Costumava haver /etc/rc.shutdown.local - não tenho certeza se isso ainda está por aí ... #
slifty
12

sudo apachectl starttambém ativa o daemon launchd. Ele substitui a Disabledchave /System/Library/LaunchDaemons/org.apache.httpd.plistmodificando /private/var/db/launchd.db/com.apple.launchd/overrides.plist, exatamente como launchctl load -w.

Para http://localhost/~username/funcionar, você precisa criar /etc/apache2/users/username.confe adicionar uma <Directory>diretiva como esta:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Lri
fonte
11
Encontrei um ótimo artigo sobre isso aqui. Também abrange a ativação do módulo php. coolestguyplanettech.com/downtown/...
Peter Ehrlich
8

Slifty e Lauri sugerem um conceito importante sem dizer claramente.

"sudo apachectl start" não apenas iniciará o apache, mas também modificará /private/var/db/launchd.db/com.apple.launchd/overrides.plist para que o apache seja reiniciado automaticamente sempre que o sistema for reiniciado.

Da mesma forma, "sudo apachectl stop" interromperá o apache e modificará o arquivo acima para que o apache não inicie quando o sistema for reiniciado.

Essa parece ser a maneira mais simples de controlar se o serviço é iniciado automaticamente.

aeropapa17
fonte
3

Para aqueles em busca de uma GUI, a Click On Tyler desenvolveu um aplicativo do painel de controle, http://clickontyler.com/blog/2012/02/web-sharing-mountain-lion/

Amostra da GUI

James McMahon
fonte
Bom widget .. no entanto, no meu sistema, algo deu errado e o apache não está iniciando .. :(
Dilip Rajkumar 14/10
O mesmo aqui. Parece ser um pouco desleixado codificado - boa confusão velha sobre o .pid-file eu acho ... zzz
conny
Isso é legal .. Mas desatualizado, não funciona em Yosemite. Como removemos isso do nosso painel de configurações?
emotality 21/02
Para excluir:~/Library/PreferencePanes
emotality
Desculpe, isso não está mais disponível ou se tornou parte de um produto comercial do qual você só pode fazer o download completo - e não apenas no painel de preferências. Alguma alternativa?
Motti Shneor #
1

Este painel de preferências possui os links para a pasta do site do computador e para abrir um navegador: http://stowlake.com/WebServer

Danny Swarzman
fonte
O painel de preferências da interface do usuário bastante feia falha imediatamente quando você tenta iniciar o servidor da Web no OS-X 10.11 e 10.12. Crash-logs disponíveis a seu pedido;)
Motti Shneor 16/11