web-dev-qa-db-fra.com

Donner la propriété du répertoire à l'utilisateur Apache?

J'ai installé wordpress sur LAMP. Comme je suis nouveau sur Ubuntu. Donc, j'ai utilisé ce tutoriel en ligne Comment installer wordpress sur Ubuntu manuellement

Mais lorsque j'essaie de donner la propriété du répertoire à l'utilisateur Apache, cela ne fonctionne pas, je donne les commandes suivantes

Sudo chown admin:www-data /var/www -R 
Sudo chmod g+w /var/www -R

"admin" est le nom que j'ai choisi pour mon utilisateur de base de données wordpress. Quelqu'un peut-il me guider s'il vous plaît à travers cela?

20
arximughal

N'utilisez pas l'utilisateur de base de données en tant qu'utilisateur UNIX. Utilisez www-data.

Sudo chown -R www-data:www-data /var/www

Il y a une différence entre l'utilisateur de base de données et l'utilisateur Apache. L'utilisateur Apache est le seul à pouvoir réellement lire les fichiers. L'utilisateur de la base de données est uniquement destiné à donner/prendre des autorisations de lecture/écriture à la base de données.

En outre, conservez les autorisations par défaut de l'installation de l'application Web. Ne les modifiez pas, sauf pour l'utilisateur/le groupe propriétaire. Si l'application Web vous le demande, modifiez les autorisations.


Si vous êtes plus préoccupé par la sécurité, vous pouvez également exécuter les commandes suivantes:

Sudo chown -R $USER:www-data /var/www
Sudo chmod -R 640 /var/www

Cela rend les fichiers réels appartenant à votre utilisateur, de sorte que seul vous (et root) pouvez les modifier. La raison pour laquelle www-data est référencé est de sorte qu'Apache puisse toujours LIRE les fichiers, mais pas y écrire réellement.

Le 640 vous permet (au propriétaire du fichier) de lire et d’écrire, tout en permettant au groupe www-data de lire des fichiers. Cela empêche également quiconque de lire le contenu du fichier.

(Ce qui précède n’est qu’une méthode possible ( non testée ). D'autres bonnes méthodes sont disponibles ici. )

27
Kaz Wolfe