Apache harus dijalankan sebagai root pada awalnya untuk mengikat ke port 80. Jika Anda tidak menjalankannya sebagai root pada awalnya maka Anda tidak dapat mengikat ke port 80. Jika Anda ingin mengikat ke beberapa port di atas 1024 maka ya, Anda bisa. Kalau tidak, jangan khawatir tentang root. Itu adalah proses induk Apache dan tidak melayani permintaan apa pun. Ini akan menelurkan proses anak dan menghilangkan hak istimewa untuk menangani permintaan.
Untuk mengubah pengguna Apache atur User
dan Group
parameter di konfigurasi Apache Anda.
@bahamat menjelaskannya dengan cukup baik, tapi saya akan menambahkan sedikit lebih detail.
Selama operasi normal, proses apache yang dimiliki root tidak akan melakukan operasi apa pun yang sebenarnya selain mendengarkan pada port 80 dan meneruskan koneksi yang masuk ke port 80 (amannya tidak diistimewakan, seperti www-data
pengguna) anak-anak.
Lokasi file konfigurasi master bergantung pada opsi waktu kompilasi dan bervariasi per distribusi, tetapi /etc/apache2/apache2.conf
adalah tebakan awal yang bagus.
Juga, jika Anda menyiapkan sistem hosting web multi-pengguna, Anda mungkin ingin melihat SuExec dan fcgid sehingga setiap proses apache pengguna webhosting berjalan seperti pengguna tersebut - sehingga jika satu pengguna lalai dengan keamanannya, lainnya pengguna tidak akan terpengaruh.
Setidaknya di Ubuntu, pengaturan untuk ini ada di /etc/apache2/envvars
. Tweak itu, lalu mulai ulang apache dan Anda mulai bekerja.