#26 Le 07/01/2014, à 19:10
- compte supprimé x0
Re : Changer DocumentRoot (Ubuntu 13.10, Apache 2.4)
Voila je viens d'installer apache2 sur une debian toute fraîche dans une machine virtuelle.
Debian 3.2.46-1+deb7u1
Apache 2.2.22-13ps aux |grep apache2
apache2 par défaut est exécuté par www-data.
Tu triches un peu : apache est lancé par root. Ce sont les processus enfants qui sont exécutés par www-data.
ps aux |grep apache2
root 4999 0.0 0.5 184552 10308 ? Ss 18:12 0:00 /usr/sbin/apache2 -k start
www-data 5012 0.0 0.4 184704 7256 ? S 18:12 0:00 /usr/sbin/apache2 -k start
www-data 5013 0.0 0.3 184616 6860 ? S 18:12 0:00 /usr/sbin/apache2 -k start
www-data 5014 0.0 0.3 184616 6972 ? S 18:12 0:00 /usr/sbin/apache2 -k start
www-data 5017 0.0 0.3 184616 6968 ? S 18:12 0:00 /usr/sbin/apache2 -k start
www-data 5018 0.0 0.3 184616 6972 ? S 18:12 0:00 /usr/sbin/apache2 -k start
www-data 5081 0.0 0.3 184632 6856 ? S 18:20 0:00 /usr/sbin/apache2 -k start
www-data 5083 0.0 0.3 184576 6368 ? S 18:20 0:00 /usr/sbin/apache2 -k start
www-data 5084 0.0 0.3 184576 6368 ? S 18:20 0:00 /usr/sbin/apache2 -k start
www-data 5085 0.0 0.3 184632 6856 ? S 18:20 0:00 /usr/sbin/apache2 -k start
www-data 5086 0.0 0.3 184576 6368 ? S 18:20 0:00 /usr/sbin/apache2 -k start
Si la directive Listen spécifiée dans le fichier de configuration est à sa valeur par défaut de 80 (ou tout autre port inférieur à 1024), il est nécessaire de posséder les privilèges root pour pouvoir démarrer apache, et lui permettre d'être associé à ce port privilégié. Lorsque le serveur est démarré, après avoir effectué quelques opérations préliminaires comme ouvrir ses fichiers de log, il lance plusieurs processus enfants qui ont pour rôle d'écouter et de répondre aux requêtes des clients. Le processus httpd principal continue à s'exécuter sous l'utilisateur root, tandis que les processus enfants s'exécutent sous un utilisateur aux privilèges restreints.
Source : la doc d'apache
Ensuite, ce n'est pas avec ps que tu vas trouver des groupes, mais des utilisateurs... Ce qui n'est pas exactement pareil.
Mais tu as raison là-dessus : le groupe www-data existe bien. Je ne m'en étais jamais rendu compte, parce que je ne l'ai jamais utilisé et je n'en fais pas partie.
Dernière modification par Dr. Hugo Z. Hackenbush (Le 07/01/2014, à 19:13)
#27 Le 07/01/2014, à 19:45
- J5012
Re : Changer DocumentRoot (Ubuntu 13.10, Apache 2.4)
...
J5012 a écrit :tout a fait juste puisque c'est le service upstart qui lance apache2
C'est alors étrange que apache2 est utilisé par www-data.
Exemple :
http://stackoverflow.com/questions/5012 … e-and-proc
http://serverfault.com/questions/269674 … e-ram-hereJ5012 a écrit :c'est l'utilisateur "sebastien" qui en utilisant la hache chmod a cree son propre probleme, je lui avais alors suggere d'utiliser la hierarchisation des droits ...
Je pense que le problème vient plutôt de toi et tes soit disant connnaissances imaginaires.
je ne suis pas dans www-data non plus , mais il existe sur ma config ... je l'avais quand meme utilise a mes tous debuts avec apache1 et apache2, mais quand j'ai vu qu'on pouvait regler le probleme des alias et des droits en mettant les appliweb dans les dossiers en espace utilisateurs, j'utilise actuellement le principe des vhosts par nom et par ports (80, 82, 8080, etc) ...
donc je pense :
- si vous mettez vos appliweb dans la partie root, n'oubliez pas de vous mettre dans www-data au lieu de jouer avec la super hache chmod (les liens symboliques peuvent vous aider) sauf si vous etes tout seul sur un serveur embarque ou tellement specialise que vous ne craignez pas le conflit de droits !
- si vous activer des vhosts dont les appliweb sont dans la partie utilisateurs, vous n'avez rien a faire question droits.
"connaissance imaginaires" : hahahaha quel rigolade tu es
Hors ligne
#28 Le 17/05/2014, à 00:18
- Remynix
Re : Changer DocumentRoot (Ubuntu 13.10, Apache 2.4)
Bonjour,
Rappel : mon but est de pouvoir modifier les fichiers de dev depuis mon répertoire perso. (donc ce n'est pas pour une config de prod !)
J'ai essayé une solution qui me paraît plus simple (et moins dogmatique).
Elle marche chez moi.
Dire à apache :
1. de pointer sur mon répertoire local
2. d'utiliser mon utilisateur
Soit :
Dans la conf apache (/etc/apache2)
Dans le fichier apache2.conf :
<Directory /home/moi/sources/monappli/www>
Dans le fichier 000-default.conf
DocumentRoot /home/moi/sources/monappli/www
<Directory /home/moi/sources/monappli/www>
Dans le fichier envvars
export APACHE_RUN_USER=moi
export APACHE_RUN_GROUP=moi
/etc/init.d/apache2 restart
Voilà
Hors ligne