Je pense que pour une machine de développement, il est plus pratique d'exécuter Apache en tant qu'utilisateur actuel pour simplifier le problème des autorisations? Comment je fais ça? Je pense que c'est suexec, mais comment puis-je le configurer dans Ubuntu + Apache?
permissions
apache2
Jiew Meng
la source
la source
Editez le fichier suivant en tant que root: / etc / apache2 / envvars
en utilisant la commande:
changez l'utilisateur et le groupe pour vous-même s'il n'y a qu'un seul utilisateur et que vous n'aurez plus jamais de problèmes d'autorisations.
Par exemple, si vous vous connectez et exécutez le serveur uniquement en tant qu'utilisateur 'big_dog':
Heck, d'ailleurs, vous pourriez changer cet utilisateur à l'utilisateur actuel, j'en suis sûr. Ensuite, installez user_dir, vous possédez tous des sites Web que vous pouvez contrôler (sauf si vous le modifiez).
Redémarrez le serveur (en cas de doute, redémarrez ou allez-y) et vous pourrez continuer.
la source
sudo chown big_dog.big_dog /var/lock/apache2
sudo chown big_dog.big_dog -R /var/log/apache2
/etc/apache2/uid.conf
export APACHE_RUN_USER=#$(id -u)
de donner l'ID utilisateur et de même utiliserid -g
pour le groupe dans le script et à la fin j'ai appelé apache à exécuter.pourquoi voudriez-vous faire cela, je me débattais avec ces problèmes de perm dans le passé, mais ceci est mon processus de développement à partir d'aujourd'hui:
sudo apt-get install lamp-server^
proc standard pour obtenir lampefaire un lien sym à mon répertoire personnel où les projets sont comme ceci:
ln -s /home/user/html /var/www/html
créer un lien sym vers le fichier de configuration des hôtes
ln -s /home/user/html/Apache-VirtualHosts.conf /etc/apache/sites-enabled/000-default
c'est ça :)
Cela fonctionne comme aspected, aucun problème avec les permanentes d'utilisateur ou quelque chose de similaire avec le serveur apache, pour mysql j'ai peu de processus plus long ..
hth, à la vôtre
la source
En joignant le problème "si vous faites cela", vous pouvez trouver l'emplacement de l'utilisateur pour Apache en exécutant:
Il s’agit ensuite de modifier ces instances
/etc/apache2/apache2.conf
et de recharger Apache (sudo /etc/init.d/apache2 reload
).la source
apache2.conf
ne contient paswww-
pour moigrep -HR "www-" /etc/apache2/
. Si vous savez déjà qu'il se trouve dans apache2.conf, éditez simplement ce fichier. Dans mon cas, ce n'était pas là, mais dans / etc / apache2 / envvars comme le souligne la réponse d'Eric.apache.conf
cherche${APACHE_RUN_USER}
et${APACHE_RUN_GROUP}
. Paswww-data
directement.créer un nouveau groupe d'utilisateurs
webdev
et y ajouter l'www-data
utilisateur.Ensuite, ajoutez votre utilisateur à ce groupe et faites-en le groupe par défaut pour votre utilisateur.
La dernière chose à faire est de s’assurer que le groupe webdev a les droits rwx sur les fichiers
Maintenant, la seule chose qui peut se produire est que, par exemple, www-data crée un nouveau fichier journal et vous ne pouvez pas le télécharger.
la source
www-data
groupe, d'autant plus qu'il s'agit d'un environnement de développement?