Apache doit d'abord s'exécuter en tant que root pour se lier au port 80. Si vous ne l'exécutez pas en tant que root au départ, vous ne pouvez pas vous lier au port 80. Si vous souhaitez vous lier à un port supérieur à 1024, alors oui, vous le pouvez. Sinon, ne vous inquiétez pas pour root. C'est le processus Apache parent et il ne répond à aucune requête. Il générera des processus enfants et supprimera les privilèges pour le traitement des demandes.
Pour changer l'utilisateur Apache, définissez le User
et Group
paramètres dans votre configuration Apache.
@bahamat l'explique assez bien, mais je vais ajouter un peu plus de détails.
Au cours d'un fonctionnement normal, le processus apache appartenant à la racine n'effectuera aucune opération réelle autre que l'écoute sur le port 80 et le transfert des connexions entrantes vers son (en toute sécurité non privilégié, comme le www-data
utilisateur) enfants.
L'emplacement du fichier de configuration principal dépend des options de compilation et varie selon la distribution, mais /etc/apache2/apache2.conf
est une bonne supposition de départ.
De plus, si vous configurez un système d'hébergement Web multi-utilisateurs, vous voudrez peut-être examiner SuExec et fcgid afin que le processus apache de chaque utilisateur d'hébergement Web individuel s'exécute en tant qu'utilisateur - de sorte que si un utilisateur néglige sa sécurité, l'autre les utilisateurs ne seront pas affectés.
Dans Ubuntu au moins, les paramètres pour cela sont en /etc/apache2/envvars
. Ajustez-les, puis redémarrez apache et vous êtes prêt à fonctionner.