Apache muss anfangs als Root ausgeführt werden, um sich an Port 80 zu binden. Wenn Sie es anfangs nicht als Root ausführen, können Sie sich nicht an Port 80 binden. Wenn Sie sich an einen Port über 1024 binden möchten, können Sie dies tun. Ansonsten mach dir keine Sorgen um root. Das ist der übergeordnete Apache-Prozess und bedient keine Anfragen. Es erzeugt untergeordnete Prozesse und verwirft Privilegien für die Bearbeitung von Anfragen.
Um den Apache-Benutzer zu ändern, geben Sie User
ein und Group
Parameter in Ihrer Apache-Konfiguration.
@bahamat erklärt es ziemlich gut, aber ich werde ein wenig mehr Details hinzufügen.
Im Verlauf des normalen Betriebs führt der root-eigene Apache-Prozess keine tatsächlichen Operationen aus, außer auf Port 80 zu lauschen und eingehende Verbindungen an seinen (sicherlich nicht privilegierten, wie www-data
Benutzer) Kinder.
Der Speicherort der Master-Konfigurationsdatei hängt von den Optionen zur Kompilierzeit ab und variiert je nach Distribution, aber /etc/apache2/apache2.conf
ist eine gute Anfangsschätzung.
Wenn Sie ein Mehrbenutzer-Webhosting-System einrichten, sollten Sie sich auch SuExec und fcgid ansehen, damit der Apache-Prozess jedes einzelnen Webhosting-Benutzers als besagter Benutzer ausgeführt wird - so dass, wenn ein Benutzer mit seiner Sicherheit nachlässig ist, der andere Benutzer sind nicht betroffen.
Zumindest bei Ubuntu sind die Einstellungen dafür in /etc/apache2/envvars
. Optimieren Sie diese, starten Sie dann Apache neu und Sie können loslegen.