Tras actualizar de Sierra+Servidor a High Sierra+Servidor me estoy encontrando con el problema de que el puerto 8080 está ocupado por defecto. Esto bloquea el lanzamiento del controlador UniFi.
Después de la actualización, perdí todos mis recursos compartidos de WebDAV, para lo cual la solución sencilla para recuperarlos fue activar el Servidor Wiki.
Pero ahora, httpd está escuchando en el puerto 8080. nmap me dice:
8080/tcp open http-proxy
Me pregunto, ¿por qué se llama http-proxy? Y lsof:
sudo lsof -i :8080
Password:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 2229 root 4u IPv6 0xd734a34402fd0c9b 0t0 TCP *:http-alt (LISTEN)
httpd 2238 _www 4u IPv6 0xd734a34402fd0c9b 0t0 TCP *:http-alt (LISTEN)
httpd 2290 _www 4u IPv6 0xd734a34402fd0c9b 0t0 TCP *:http-alt (LISTEN)
httpd 2291 _www 4u IPv6 0xd734a34402fd0c9b 0t0 TCP *:http-alt (LISTEN)
httpd 2291 _www 25u IPv6 0xd734a343f0761a9b 0t0 TCP foo.rna.nl:http-alt->unifi-foo.rna.nl:40018 (ESTABLISHED)
httpd 2292 _www 4u IPv6 0xd734a34402fd0c9b 0t0 TCP *:http-alt (LISTEN)
httpd 2293 _www 4u IPv6 0xd734a34402fd0c9b 0t0 TCP *:http-alt (LISTEN)
httpd 2293 _www 25u IPv6 0xd734a343f0760f1b 0t0 TCP foo.rna.nl:http-alt->unifi-bar.rna.nl:60849 (ESTABLISHED)
El servidor Apache crea estos demonios httpd:
sysbh$ ps laxww|grep 2229
0 2229 1 0 20 0 4280200 6592 - Ss ?? 0:00.35 /usr/sbin/httpd -D SERVER_APP_HAS_DEFAULT_PORTS -D FOREGROUND
0 2236 2229 0 20 0 4289980 15012 - S ?? 0:00.65 /usr/bin/ruby /usr/libexec/wfs/webdavsharing_mapper
70 2238 2229 0 20 0 4284820 3520 - S ?? 0:00.13 /usr/sbin/httpd -D SERVER_APP_HAS_DEFAULT_PORTS -D FOREGROUND
70 2290 2229 0 20 0 4280200 2444 - S ?? 0:00.10 /usr/sbin/httpd -D SERVER_APP_HAS_DEFAULT_PORTS -D FOREGROUND
70 2291 2229 0 20 0 4280200 2508 - S ?? 0:00.12 /usr/sbin/httpd -D SERVER_APP_HAS_DEFAULT_PORTS -D FOREGROUND
70 2292 2229 0 20 0 4284820 3496 - S ?? 0:00.13 /usr/sbin/httpd -D SERVER_APP_HAS_DEFAULT_PORTS -D FOREGROUND
70 2293 2229 0 20 0 4280200 2472 - S ?? 0:00.11 /usr/sbin/httpd -D SERVER_APP_HAS_DEFAULT_PORTS -D FOREGROUND
501 3418 711 0 31 0 4258468 24 - R+ s001 0:00.00 grep 2229
Y aparentemente, escuchan en el puerto 8080 porque /etc/apache2/httpd.conf tiene:
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
Me pregunto si principalmente es seguro cambiar el 8080 por el 8081 ahí para que el servidor web no choque más con el controlador UniFi.
También parece que httpd obtiene el "-D SERVER_APP_HAS_DEFAULT_PORTS" de /etc/apache2/env.plist a través del httpd-wrapper ruby script (que en realidad es iniciado por el LaunchDaemon)y me preguntaba cómo env.plist llega allí.
Y me preguntaba de dónde viene la simple página que sólo tiene una etiqueta h1 con el texto "¡Funciona!" cuando voy a http://localhost:8080/
Nota: Tengo un nginx en funcionamiento (instalado con homebrew) pero he desactivado el 8080 en esa instalación y httpd se ejecuta en el 8080 aunque no se ejecute nginx. Sin embargo, es en Homebrew donde encuentro referencias de "¡Funciona!" hasta ahora.