web-dev-qa-db-fra.com

Comment autoriser mon utilisateur à ajouter / modifier des fichiers sur un serveur Apache local?

Duplicate possible:
Comment faire en sorte qu'Apache s'exécute en tant qu'utilisateur actuel

Je configure à nouveau mon serveur de test local et il semble que j'ai oublié comment configurer avec succès le serveur LAMP.

J'ai installé le serveur LAMP via la commande tasksel et j'ai configuré le répertoire /var/www conformément à n guide que j'ai trouvé :

Après l'installation du serveur de lampes, vous devez disposer d'autorisations d'écriture sur le répertoire/var/www. Suivez ces étapes pour configurer les autorisations.

Ajoutez votre utilisateur au groupe www-data

Sudo usermod -a -G www-data <your user name>

ajoutez maintenant le dossier/var/www au groupe www-data

Sudo chgrp -R www-data /var/www

donnez maintenant des autorisations d'écriture au groupe www-data

Sudo chmod -R g+w /var/www

Ainsi, l'utilisateur logan fait maintenant partie du groupe www-data et les autorisations relatives aux fichiers/dossiers ressemblent au résultat ci-dessous:

logan@computer:/var/www$ ls -lart
total 172
-rw-r--r--  1 www-data www-data  1997 Oct 23  2010 wp-links-opml.php
-rw-r--r--  1 www-data www-data  3177 Nov  1  2010 wp-config-sample.php
-rw-r--r--  1 www-data www-data  3700 Jan  8  2012 wp-trackback.php
-rw-r--r--  1 www-data www-data   271 Jan  8  2012 wp-blog-header.php
-rw-r--r--  1 www-data www-data   395 Jan  8  2012 index.php
-rw-r--r--  1 www-data www-data  3522 Apr 10  2012 wp-comments-post.php
-rw-r--r--  1 www-data www-data 19929 May  6  2012 license.txt
-rw-r--r--  1 www-data www-data 18219 Sep 11 08:27 wp-signup.php
-rw-r--r--  1 www-data www-data  2719 Sep 11 16:11 xmlrpc.php
-rw-r--r--  1 www-data www-data  2718 Sep 23 12:57 wp-cron.php
-rw-r--r--  1 www-data www-data  7723 Sep 25 01:26 wp-mail.php
-rw-r--r--  1 www-data www-data  2408 Oct 26 15:40 wp-load.php
-rw-r--r--  1 www-data www-data  4663 Nov 17 10:11 wp-activate.php
-rw-r--r--  1 www-data www-data  9899 Nov 22 04:52 wp-settings.php
-rw-r--r--  1 www-data www-data  9175 Nov 29 19:57 readme.html
-rw-r--r--  1 www-data www-data 29310 Nov 30 08:40 wp-login.php
drwxr-xr-x 14 root     root      4096 Dec 24 17:41 ..
drwx------  9 www-data www-data  4096 Dec 26 16:11 wp-admin
drwx------  9 www-data www-data  4096 Dec 26 16:11 wp-includes
-rw-rw-rw-  1 www-data www-data  3448 Dec 26 16:14 wp-config.php
drwxrwxr-x  5 www-data www-data  4096 Dec 26 16:14 .
drwx------  6 www-data www-data  4096 Dec 26 16:19 wp-content

Les choses fonctionnent parfaitement à http://localhost, le site Web me convient parfaitement. Le problème, c’est que je vais travailler sur un plug-in pour wordpress et que je ne souhaite pas traiter avec des propriétaires distincts dans le répertoire www pour créer ou modifier des fichiers/dossiers. Lorsque je donne à mon utilisateur la propriété de /var/www de manière récursive en tant que logan:www-data, je peux créer/modifier des fichiers mais je ne peux pas afficher le http://localhost. Je reçois une erreur interdite. Je suppose que c'est à cause de la configuration d'Apache?

Lequel est le plus sain ou le plus facile étant donné qu'il s'agit simplement d'un site Web de test local, configurant Apache pour permettre à l'utilisateur logan d'afficher le site Web et chmod /var/www logan:logan afin que je puisse créer des fichiers, etc., sans aucune commande Sudo; ou est-il plus facile de configurer des groupes d'utilisateurs pour que l'utilisateur www-data agisse comme mon utilisateur logan? (Idk comment cela est possible, peut-être en plaçant www-data utilisateur dans le groupe logan?)

S'il vous plaît jeter un peu de lumière sur ce sujet. Tout ce que je veux, c'est pouvoir créer/modifier des fichiers sous mon utilisateur et pouvoir visualiser avec succès http://localhost j'apprécie l'aide!

1
Logan

Edité ce post original

Editez le fichier suivant en tant que root:/etc/Apache2/envvars

en utilisant la commande:

Sudo vim /etc/Apache2/envvars

changez l'utilisateur et le groupe pour vous 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 n'exécutez le serveur qu'en tant qu'utilisateur 'logan':

export Apache_RUN_USER=loganexport Apache_RUN_GROUP=logan Heck, vous pouvez aussi changer cet utilisateur en 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

Sudo /etc/init.d/Apache2 restart

Si tu vois:

  • Redémarrage du serveur Web Apache2 ... attente/var/lock/Apache2 existe déjà, mais ne correspond pas à un répertoire appartenant à l'utilisateur. S'il vous plaît corriger manuellement. Abandonner.

Vous pouvez modifier les autorisations sur les verrous Apache avant de redémarrer Apache:

chown -R myuser:myuser /var/lock/Apache2/

Sudo service Apache2 restart

2
Logan