Hago un .pkg-installer para un producto que amplía el servidor Apache en OS X.
Desde el script de postinstalación en el .pkg, actualmente puedo configurar la configuración predeterminada de Yosemite y El Capitan, agregando un archivo product.conf en la /etc/apache2/other
carpeta.
Para cargar la nueva configuración, simplemente hago lo siguiente desde el script de postinstalación:
launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist #if not loaded
apachectl stop #if already started
apachectl start
La instalación del servidor OS X cambia la forma en que se configura Apache, por lo que el enfoque anterior falla. Entonces, ¿cómo puedo configurar OS X Server desde mi secuencia de comandos posterior a la instalación para hacer lo mismo?
La automatización de los componentes de server.app es bastante trivial, ya que puede usarla serveradmin
para hacer el trabajo pesado.
sudo serveradmin start web;
Pedir que un servicio se inicie si ya se está ejecutando es inofensivo/idempotente.
Para bifurcarse entre Apache configurado por Server.app y el "estado normal", haga lo siguiente:
if serverinfo -q --software; then
cp product.conf /Library/Server/Web/Config/apache2/other
serveradmin stop web
serveradmin start web
else
cp product.conf /etc/apache2/other
launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
apachectl stop #if already started
apachectl start
fi
start
comando. Intentaré lo siguiente dentro de mi script: serveradmin stop web
entoncesserveradmin start web
/etc/apache2/other/
a /Library/Server/Web/Config/apache2/other/
, paré serveradmin
y comencé, ¡y ahora funciona! . Gracias @bmike
bmike
Joaquín Bratteli
product.conf
archivo. ¿Podría explicar qué quiere decir con "bifurcación basada en SIP"?Joaquín Bratteli
bmike
Joaquín Bratteli
launchctl unload
seguimientolaunchctl load
sin problemas.Joaquín Bratteli
serverinfo -q --software
. Probé y descubrí que no hay necesidad de hacer nada con SIP para agregar a la configuración del servicio de sitios web de Server.app.bmike
Joaquín Bratteli