Como posso iniciar um apache personalizado no boot no OSX?

1

Eu tive que instalar um Apache personalizado no OSX porque eu precisava de uma configuração muito específica para um cliente e não pude fazer o padrão funcionar corretamente com ele, infelizmente.

Então, eu vi como iniciar manualmente, usando o apachectl binário:

sudo /usr/local/apache2/bin/apachectl start

E eu também vi que posso fazer o Apache padrão começar com launchctl .

Mas, como eu poderia fazer um personalizado instalado para iniciar na inicialização , em vez do padrão? Se for possível, eu gostaria de usar o launchctl do sistema.

    
por lucasarruda 29.05.2013 / 16:22

2 respostas

2

Solução:

Descarregar o Apache padrão:

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

Crie um arquivo LaunchDaemon ( /Library/LaunchDaemons/com.aaa.launchd.apache2.plist ):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.aaa.launchd.apache2</string>
<key>ProgramArguments</key>
<array>
    <string>/usr/local/apache2/bin/apachectl</string>
    <string>start</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

Alterar o proprietário do arquivo:

sudo chown root:wheel /Library/LaunchDaemons/com.aaa.launchd.apache2.plist

E, finalmente, adicione-o para ser carregado na inicialização:

sudo launchctl load -w /Library/LaunchDaemons/com.aaa.launchd.apache2.plist
    
por 03.06.2013 / 19:51
2

Você faria o mesmo que o procedimento launchctl ao qual estava vinculado. A parte que falta é que você precisa fazer o seu próprio launchd.plist e salvá-lo no diretório LaunchDaemons /. man launchd.plist para informações sobre o formato plist; ou, você provavelmente pode copiar o original do apache e mudar o caminho para atender às suas necessidades.

    
por 29.05.2013 / 23:32