Réponses:
J'ajouterais moi-même l'utilisateur au www-data
groupe avec ...
sudo adduser {username} www-data
Simple et efficace Pas de problème avec les fichiers de configuration ou les autorisations.
Editez le fichier suivant en tant que root: / etc / apache2 / envvars
en utilisant la commande:
sudo nano /etc/apache2/envvars
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':
export APACHE_RUN_USER=big_dog
export APACHE_RUN_GROUP=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.
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 utiliser id -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
En joignant le problème "si vous faites cela", vous pouvez trouver l'emplacement de l'utilisateur pour Apache en exécutant:
grep www- /etc/apache2/apache2.conf
Il s’agit ensuite de modifier ces instances /etc/apache2/apache2.conf
et de recharger Apache ( sudo /etc/init.d/apache2 reload
).
apache2.conf
ne contient pas www-
pour moi
grep -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}
. Pas www-data
directement.
créer un nouveau groupe d'utilisateurs webdev
et y ajouter l' www-data
utilisateur.
sudo addgroup webdev
sudo adduser www-data webdev
Ensuite, ajoutez votre utilisateur à ce groupe et faites-en le groupe par défaut pour votre utilisateur.
sudo adduser {your-user} webdev
sudo addgroup webdev
La dernière chose à faire est de s’assurer que le groupe webdev a les droits rwx sur les fichiers
sudo chmod 775 -R /path/to/project
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.
www-data
groupe, d'autant plus qu'il s'agit d'un environnement de développement?