web-dev-qa-db-fra.com

Comment faire fonctionner Apache en tant qu'utilisateur actuel

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?

42
Jiew Meng

J'ajouterais moi-même l'utilisateur au groupe www-data avec ...

Sudo adduser {username} www-data

Simple et efficace Pas de problème avec les fichiers de configuration ou les autorisations.

27
Rinzwind

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 avez tous des sites Web que vous pouvez avoir le contrôle total (sauf si vous modifiez cela).

Redémarrez le serveur (en cas de doute, redémarrez ou allez-y) et vous pourrez continuer.

53
Eric

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:

  • installez un nouveau linux box (virtuel ou local comme un ordinateur portable)
  • lance la procédure standard Sudo apt-get install lamp-server^ pour obtenir la lampe en place
  • faire un lien sym à mon répertoire personnel où les projets sont comme ceci:

    ln -s /home/user/html /var/www/html

  • faire un lien sym au fichier de configuration des hôtes

    ln -s /home/user/html/Apache-VirtualHosts.conf /etc/Apache/sites-enabled/000-default

c'est tout :)

Cela fonctionne comme aspected, aucun problème avec les permanentes d'utilisateur ou quelque chose de semblable avec le serveur Apache, pour mysql j'ai peu de processus plus long ..

hth, à la vôtre

1
Kresimir Pendic

En contournant le problème "si vous faites cela", vous pouvez trouver où l'utilisateur pour Apache est défini en exécutant:

grep www- /etc/Apache2/Apache2.conf

Il s’agit ensuite de modifier ces instances dans /etc/Apache2/Apache2.conf et de recharger Apache (Sudo /etc/init.d/Apache2 reload).

0
Oli

créez un nouveau groupe d'utilisateurs webdevet ajoutez-y l'utilisateur www-data.

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 rwx.

0
Thomas Venturini