4 votes

Comment donner à apache2 la permission d'écrire et de lire des fichiers ?

Lorsque j'ai installé Wordpress sur mon Ubuntu 12.04, j'ai constaté que Wordpress lui-même n'écrivait pas le fichier wp.config.

Il m'a dit de copier ceci dans le fichier wp.config. On dirait que wordpress n'est pas capable d'écrire les fichiers.

Maintenant, quand j'ai essayé d'installer le plugin, il n'est pas capable d'écrire le plugin et il me dit d'aller sur le site FTP.

Il s'agit de mon ordinateur et non d'un serveur, je veux donc donner à apache2 l'autorisation complète d'effectuer tout type d'opération.

Maintenant, quelqu'un peut m'aider à définir les permissions pour Apache. J'ai vérifié mais il n'y a pas de groupe dans mon installation 12.04 qui s'appelle "apache".

Aide

10voto

Dr. Tyrell Points 111

Utilisez la commande suivante :

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

Ceci rendra tous vos htdocs accessibles en écriture par Apache2.

1voto

CWSpear Points 1825

La réponse acceptée ne s'appliquera qu'aux fichiers en cours. Cependant, je voulais que mes scripts PHP puissent modifier en écriture les fichiers dans /var/www/html

Pour le préparer, Chaque nouveau fichier devrait se voir attribuer le groupe www-data par défaut. (même les fichiers créés par root, cron ou un utilisateur sudo) Et nous avons besoin du groupe write sur tous les fichiers dans /var/www/html

De plus, je voulais que /var/www soit accessible en écriture par PHP mais non visible par les autres. (pour garder les error_logs, etc)

Certains diront que ce n'est pas sûr, mais tous les fichiers PHP sont mes scripts. Et je veux qu'ils puissent créer de nouveaux fichiers, ajouter des données dans des fichiers existants et même les supprimer. J'avais donc besoin de cette configuration.

Voici comment procéder :

# Assign Recursive WWW User & Group: (logs + html)
    sudo chgrp www-data /var/www
    sudo chmod 770 /var/www
    sudo chmod 775 /var/www/html
    sudo chmod g+s /var/www
    sudo chmod g+s /var/www/html
    sudo chown -R <a_sudo_user>:www-data /var/www

# Apply File And Folder Defaults:
See more: https://unix.stackexchange.com/questions/1314/how-to-set-default-file-permissions-for-all-folders-files-in-a-directory
    # -d: default, -m: modify, g:: apply to group permissions, o:: other permissions, -R: apply recursively
    # set group to rwx default:
        setfacl -d -m g::rwx /var/www
        setfacl -d -m g::rwx /var/www/html

# Reboot Server Anyway:
    sudo reboot

# Check Permissions
    getfacl /var/www
    getfacl /var/www/html
    getfacl /var/www/test.txt
    getfacl /var/www/html/test.txt

    OR USE: FTP FileZilla GUI

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X