¿Cómo se anula correctamente el registro? httpd
para que no se inicie en el reinicio después de un sudo wfsctl start
y posterior sudo wfsctl stop
?
Antecedentes:
wfsctl
es una "utilidad de control de intercambio de archivos WebDAV" lanzada con MacOS High Sierra. wfsctl
se encuentra en /usr/sbin/wfsctl
.
En mi caso, tras una instalación inicial de macOS High Sierra, el Apache httpd
el demonio no está sirviendo inicialmente el contenido. (Esto era de esperar.) La observación de que httpd no estaba sirviendo podría observarse de varias maneras, incluyendo:
- tipo
localhost
en un navegador web en la misma máquina -
tipo
curl localhost
en el terminal de la misma máquina.curl localhost
curl: (7) Failed to connect to localhost port 80: Connection refused
Cuando el wfsctl
Los servicios de WebDAV se inician por primera vez, luego httpd
también se pone en marcha.
sudo wfsctl start
# ...
sudo wfsctl diagnose
# ... snip ...
# All httpd processes:
# COMM RUSER PPID PID STARTED
# httpd root 1 885 4:18PM
# httpd _www 885 890 4:18PM
No era de extrañar que un apache httpd
se puso en marcha. Aunque, la línea de base de Apache httpd
también empieza a servir el contenido de /Library/WebServer/Documents además de y separado de cualquier recurso compartido de WebDAV. En particular, index.html
el contenido se devuelve a través de localhost
en un navegador web o curl localhost
en la aplicación Terminal.
curl localhost --verbose
# * Connected to localhost (::1) port 80 (#0)
# > GET / HTTP/1.1
# > Host: localhost
# > User-Agent: curl/7.54.0
# > Accept: */*
# >
# < HTTP/1.1 200 OK
# < Server: Apache/2.4.28 (Unix) mod_secure_transport/2.4.27
# < Content-Location: index.html.en
# <html><body><h1>It works!</h1></body></html>
Por último, detenga los servicios WebDAV con sudo wfsctl stop
y luego reiniciar. Después de reiniciar, httpd
aparentemente sigue funcionando:
# after `sudo wfsctl stop` and system reboot ...
curl localhost
# <html><body><h1>It works!</h1></body></html>
sudo wfsctl status
# disabled
sudo wfsctl diagnose
# ...
# WFS is not enabled.
# ...
# All httpd processes:
# COMM RUSER PPID PID STARTED
# httpd root 1 85 6:12PM
# httpd _www 85 414 6:13PM
Nota a pie de página: ¿Es un comportamiento razonablemente esperado que sudo wfsctl stop
no se anula también el registro httpd
?
Quizás wfsctl
presume de no interferir con otros servicios con puede para iniciar el httpd
¿Servidor web? (Aunque, en mi caso de uso, httpd
no se habilitó a través de ningún otro medio que wfsctl
.)