Apache musí zpočátku běžet jako root, aby se mohl svázat s portem 80. Pokud jej zpočátku nespustíte jako root, nemůžete se svázat s portem 80. Pokud se chcete svázat s nějakým portem nad 1024, pak ano, můžete. Jinak se o roota neboj. To je nadřazený proces Apache a neobsluhuje žádné požadavky. Vytvoří podřízené procesy a zruší oprávnění pro zpracování požadavků.
Chcete-li změnit uživatele Apache, nastavte User
a Group
parametry ve vaší konfiguraci Apache.
@bahamat to vysvětluje docela dobře, ale přidám trochu více podrobností.
V průběhu normálního provozu nebude proces Apache vlastněný root provádět žádné skutečné operace kromě naslouchání na portu 80 a předávání příchozích připojení na svůj (bezpečně neprivilegovaný, jako www-data
uživatel) děti.
Umístění hlavního konfiguračního souboru závisí na možnostech kompilace a liší se podle distribuce, ale /etc/apache2/apache2.conf
je dobrý počáteční odhad.
Také, pokud nastavujete webhostingový systém pro více uživatelů, možná budete chtít nahlédnout do SuExec a fcgid, aby proces Apache každého jednotlivého uživatele webhostingu běžel jako uvedený uživatel – takže pokud jeden uživatel zanedbá zabezpečení, ostatní uživatelé nebudou ovlivněni.
Alespoň v Ubuntu jsou nastavení v /etc/apache2/envvars
. Vylaďte je, restartujte apache a můžete začít.