Mengubah versi Apache Default pada MacOS Sierra

4

Sapuan DHS dari jaringan menunjukkan bahwa salah satu peneliti Mac sedang menjalankan versi Apache yang tidak aman (2.4.25) dan mereka ingin dia memperbarui setidaknya 2.4.27.

Dia kesulitan mendapatkan MacOS untuk menggunakan versi baru Apache daripada yang diinstal secara default dengan Sierra. Masalahnya adalah:

Mac OS X 10.12.6 Sierra

  1. Saya telah menginstal httpd 2.4.27. . . / usr / local / apache2 / bin /

  2. tetapi menjalankan httpd default terletak di / usr / sbin /

  3. Saya tidak dapat menginstal httpd baru ke / usr / sbin / - tidak ada izin menulis untuk sudo

  4. Saya mengaktifkan pengguna root - tetapi "root" tidak memiliki izin menulis untuk / usr / sbin /

Saya tidak dapat menemukan sumber apa pun di web yang menjelaskan cara mengubah jalur httpd dari versi sistem default (/ usr / sbin / httpd) ke versi yang diinstal USER baru, seperti / usr / local / apache2 / bin / httpd

Langkah apa yang saya lewatkan?

cpuguru
sumber

Jawaban:

1

Untuk menggunakan versi baru Apache, Anda harus menonaktifkan versi built-in Apache:

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

Anda memerlukan akses root (pengguna admin dan kata sandi misalnya) untuk menonaktifkan ini. Kemudian Anda dapat menjalankan apache Anda sendiri - sumber dan lokasi apa pun dan versi yang Anda inginkan. Ini lebih baik daripada mengganti versi pengiriman karena setiap pembaruan macOS dapat dan akan mengubah versi bawaan. Sisi memuat sumber apache pilihan Anda menjamin itu akan bertahan di luar proses pembaruan Apple. Satu-satunya sisi adalah Anda harus menambal dan mengamankan versi sisi dimuat ini.

Salah satu cara terbaik untuk memuat versi https apache yang kuat dan mudah ditambal adalah dengan https://brew.sh manajer paket homebrew.

$ brew info httpd
httpd: stabil 2.4.37 (botol) Apache HTTP server
https://httpd.apache.org/
Tidak terpasang
Dari: https://github.com/Homebrew/homebrew-core/blob/master/Formula/httpd.rb
== & gt; Ketergantungan yang Diperlukan: apr ✘, apr-util ✘, brotli ✘, nghttp2 ✘, openssl ✔, pcre ✘.
== & gt; Peringatan Caveats adalah / usr / local / var / www.

Port default telah diatur di /usr/local/etc/httpd/httpd.conf ke   8080 dan di /usr/local/etc/httpd/extra/httpd-ssl.conf ke 8443 sehingga   httpd bisa berjalan tanpa sudo.

Untuk memiliki launchd, mulai httpd sekarang dan restart saat login:
brew services start httpd
Atau, jika Anda tidak ingin / membutuhkan layanan latar belakang, Anda bisa   lari saja:
apachectl start

Manfaat lain yang bisa Anda gunakan brew services untuk mengatur daemon agar dijalankan saat boot dan itu akan muncul kembali tanpa Anda perlu membuat script launchd / launchctl Anda sendiri atau menggunakan crontab atau yang setara.

Ortomala Lokni
sumber