4 votos

Cambiar la versión de Apache por defecto en MacOS Sierra

Un barrido de la red por parte del DHS mostró que uno de los Macs de los investigadores está ejecutando una versión no segura de Apache (2.4.25) y les gustaría que se actualizara al menos a la 2.4.27.

Tiene dificultades para conseguir que MacOS utilice la nueva versión de Apache en lugar de la instalada por defecto con Sierra. Sus problemas son:

Mac OS X 10.12.6 Sierra

  1. He instalado httpd 2.4.27 . /usr/local/apache2/bin/

  2. pero el httpd que se ejecuta por defecto se encuentra en /usr/sbin/

  3. No puedo instalar un nuevo httpd en /usr/sbin/ - no hay permisos de escritura para sudo

  4. Hice un usuario Root activo - pero "Root" no tiene permisos de escritura para /usr/sbin/ tampoco

No encuentro ninguna fuente en la web que describa cómo cambiar la ruta de httpd de la versión por defecto del sistema (/usr/sbin/httpd) a una nueva versión instalada por el USUARIO, como /usr/local/apache2/bin/httpd

¿Qué pasos me faltan?

1voto

Muhammet Can Puntos 131

Para utilizar una nueva versión de Apache es necesario desactivar la versión incorporada de Apache:

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

Necesitas acceso Root (un usuario y contraseña de administrador, por ejemplo) para desactivar esto. Entonces puedes ejecutar tu propio apache - cualquier fuente, ubicación y versión que quieras. Esto es mejor que reemplazar la versión de envío ya que cada actualización de MacOS puede y cambiará la versión de construcción. La carga lateral de su fuente preferida de apache garantiza que durará fuera del proceso de actualización de Apple. La única desventaja es que tienes que parchear y asegurar esta versión cargada lateralmente.

Una excelente forma de cargar lateralmente una versión robusta y fácilmente parcheable de apache https es con https://brew.sh gestor de paquetes homebrew.

$ brew info httpd
httpd: estable 2.4.37 (embotellado) servidor HTTP Apache
https://httpd.apache.org/
No está instalado
De: https://github.com/Homebrew/homebrew-core/blob/master/Formula/httpd.rb
\==> Dependencias requeridas: apr , apr-util , brotli , nghttp2 , openssl , pcre .
\==> Advertencias El DocumentRoot es /usr/local/var/www.

Los puertos por defecto se han establecido en /usr/local/etc/httpd/httpd.conf a 8080 y en /usr/local/etc/httpd/extra/httpd-ssl.conf a 8443 para que httpd pueda ejecutarse sin sudo.

Para que launchd inicie httpd ahora y se reinicie al iniciar la sesión:
brew services start httpd
O, si no quieres/necesitas un servicio en segundo plano puedes simplemente ejecutar:
apachectl start

La otra ventaja es que puedes utilizar brew services para configurar el demonio para que se inicie en el arranque y se reinicie sin necesidad de hacer su propio launchd / launchctl script o utilizar crontab o equivalente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X