Modifica della versione di Apache predefinita su MacOS Sierra

4

Un sweep DHS della rete ha mostrato che uno dei ricercatori Mac sta utilizzando una versione non sicura di Apache (2.4.25) e vorrebbe che si aggiornasse almeno al 2.4.27.

Ha difficoltà a convincere MacOS ad usare la nuova versione di Apache piuttosto che quella installata di default con Sierra. I suoi problemi sono:

Mac OS X 10.12.6 Sierra

  1. Ho installato httpd 2.4.27. . . / Usr / local / apache2 / bin /

  2. ma il httpd in esecuzione in corso si trova in / usr / sbin /

  3. Non riesco a installare un nuovo httpd in / usr / sbin / - nessuna richiesta di scrittura per sudo

  4. Ho reso attivo un utente root - ma "root" non ha permessi di scrittura per / usr / sbin / entrambi

Non riesco a trovare alcuna fonte sul web che descrive come modificare il percorso httpd dalla versione di sistema predefinita (/ usr / sbin / httpd) a una nuova versione installata di USER, come / usr / local / apache2 / bin / httpd

Quali passaggi mi mancano?

    
posta cpuguru 04.10.2017 - 16:54
fonte

1 risposta

1

Per utilizzare una nuova versione di Apache è necessario disabilitare la versione di Apache integrata:

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

È necessario l'accesso root (un utente amministratore e una password per esempio) per disabilitarlo. Quindi puoi eseguire il tuo apache personale - qualunque sia la fonte, la posizione e la versione che desideri. Questo è meglio che sostituire la versione di spedizione dal momento che ogni aggiornamento macOS può e cambierà la versione build. Il caricamento laterale della fonte preferita di apache garantisce che durerà al di fuori del processo di aggiornamento di Apple. L'unico lato negativo è che devi applicare patch e proteggere questa versione caricata lateralmente.

Un ottimo modo per caricare una versione robusta e facilmente patch di apache https è con link gestore del pacchetto homebrew.

$ brew info httpd
httpd: stable 2.4.37 (bottled) Apache HTTP server
https://httpd.apache.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/httpd.rb
==> Dependencies Required: apr ✘, apr-util ✘, brotli ✘, nghttp2 ✘, openssl ✔, pcre ✘.
==> Caveats DocumentRoot is /usr/local/var/www.

The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in /usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.

To have launchd start httpd now and restart at login:
brew services start httpd
Or, if you don't want/need a background service you can just run:
apachectl start

L'altro vantaggio è che puoi usare brew services per impostare il demone da avviare all'avvio e verrà rigenerato senza che tu debba creare il tuo script launchd / launchctl o usare crontab o equivalente.

    
risposta data 04.01.2019 - 22:13
fonte

Leggi altre domande sui tag