# Apache réglage des droits

**URL:** <https://www.debian-fr.org/t/apache-reglage-des-droits/52588>\
**Category:** Support Debian\
**Created:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588 "2016-02-21T11:24:02Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pred](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/c2a13f/32.png) [@Pred](https://www.debian-fr.org/u/Pred)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/1 "2016-02-21T11:24:02Z")

</div>

Bonjour tout le monde,  
Alors voilà j’ai debian `squeeze`, `i686`. J’ai installé un `apache2`, `php5` et plein d’autre en suivant un tutoriel. Puis j’ai installer `mySQL` et `phpmyadmin`. Le it work était bien là, mais quand je l’ai supprimer pour le remplacer par mes fichiers plus rien ne s’afficher. `PhpMyAdmin` n’a jamais marcher, je pense que le problème est le même.  
En surfant sur le net j’ai vue qu’il était peut-être question de droit, alors ni une ni deux j’ai fait un `chmod 777` sur `phpinfo.php` ou j’avais placé la fonction `phpinfo()` pour tester. Avant cette page ne s’affichait et maintenant oui.  
J’aimerai savoir quelle permission faut-il accorder au fichier présent dans `var/www/` ? Ou est-ce qu’il suffit de paramétrer apache correctement ?

Merci d’avance!

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/2 "2016-02-21T11:24:02Z")

</div>

Apache est paramétré correctement.  
Ce qu’il faut c’est effectivement donner les bons droits sur tes fichiers.

Il faut savoir qu’Apache (et donc PHP) tournent avec les droits de l’utilisateur « `www-data` ».

Perso ce que je fais (mais je suis un peu paranoïaque) c’est :

```nohighlight
# chown -R root:www-data /var/www
# find /var/www -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw,g+r
# find /var/www -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwx,g+rx

```

En pratique ça veut dire que seul le propriétaire (`root`) peut modifier les fichiers ou écrire dans `/var/www`, et le groupe (`www-data`) peut uniquement les lire. Les utilisateurs qui n’appartiennent pas au groupe `www-data` ne peuvent même pas y accéder (ce qui est pas mal car souvent il y a des mots de passe dans des fichiers de config, on veut pas que n’importe qui puisse les lire !).

Si jamais comme ça arrive souvent tu as une appli web qui a besoin d’écrire dans un fichier ou dossier spécifique (genre dossier temporaire ou de cache, générateur de fichier de config pendant la phase d’installation, … en principe c’est indiqué dans le document d’installation de l’appli en question), il faut en plus donner les droits d’écriture au groupe `www-data` pour ce fichier ou dossier particulier :

```nohighlight
# chmod g+w /var/www/chemin/vers/fichier
# chmod -R g+w /var/www/chemin/vers/dossier

```

Note le `-R` (récursif) dans le cas d’un dossier, car si l’appli web a besoin d’écrire dans le dossier elle a aussi besoin de pouvoir écrire dans les sous-dossiers et les fichiers.

* * *

Sinon tu peux aussi autoriser `www-data` à tout modifier, c’est plus simple à gérer même si c’est moins sécurisé (c’est ce que je fais sur mes postes de développement, la méthode ci-dessus c’est plus pour de la prod) :

```nohighlight
# chown -R www-data:www-data /var/www
# find /var/www -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw
# find /var/www -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwx

```

---

<div class="post-metadata">

**Author:** ![Pred](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/c2a13f/32.png) [@Pred](https://www.debian-fr.org/u/Pred)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/3 "2016-02-21T11:24:02Z")

</div>

Super! Merci beaucoup ça marche parfaitement. Du coup je dois donner ces même droits à mon dossier contenant `phpmyadmin`? Et le sécuriser en créant un compte sur celui-ci ? Ou même envisager un `.htacces` ?

> [@syam](#):
>
> mais je suis un peu paranoïaque

Ca tombe bien je le suis aussi! 😛

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/4 "2016-02-21T11:24:02Z")

</div>

`PhpMyAdmin` tu l’as installé comment ? Via les paquets Debian ? En téléchargeant les sources ? Dans ce deuxième cas tu l’as extrait dans un sous-répertoire de `/var/www` ou bien carrément ailleurs ?

Si tu as téléchargé les sources et que tu les as extraites dans un sous-répertoire de `/var/www` alors les commandes que je t’ai données ont réglé la question (`find` est récursif).  
Si tu as téléchargé les sources et que tu les as extraites ailleurs que dans `/var/www` (avec un Alias dans ton `VirtualHost Apache` je suppose) alors effectivement il faut faire la même opération sur le dossier où tu as extrait `PhpMyAdmin`.

Si tu l’as installé via `apt(itude)` normalement t’as rien à faire.

Pour sécuriser `PhpMyAdmin`, ça dépend beaucoup de ton environnement, y’a plein de manières de faire… Perso je fais un `VirtualHost` sur un port séparé (genre `18080`) qui va me servir pour toutes mes applis d’administration. Ce port n’est pas accessible depuis l’extérieur (bloqué dans `iptables`) et j’y accède via un tunnel `SSH` qui lui-même utilise une paire de clés asymétriques pour autoriser la connexion.

---

<div class="post-metadata">

**Author:** ![Pred](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/c2a13f/32.png) [@Pred](https://www.debian-fr.org/u/Pred)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/5 "2016-02-21T11:24:03Z")

</div>

Je l’ai effectivement installé grâce à `apt` mais quand je tape dans mon navigateur:  
`http://pred/phpmyadmin`, ma page charge pendant environ 10 secondes pour finalement me sortir un `not found`. Je vais essayer de le `remove` puis de le réinstaller.

Merci beaucoup pour tes réponses très complètes!

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/6 "2016-02-21T11:24:05Z")

</div>

Ce qu’il faut c’est effectivement donner les bons droits sur tes fichiers.

Il faut savoir qu’Apache (et donc PHP) tournent avec les droits de l’utilisateur « `www-data` ».

Perso ce que je fais (mais je suis un peu paranoïaque) c’est :

```nohighlight
# chown -R root:www-data /var/www
# find /var/www -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw,g+r
# find /var/www -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwx,g+rx

```

En pratique ça veut dire que seul le propriétaire ( `root` ) peut modifier les fichiers ou écrire dans `/var/www` , et le groupe ( `www-data` ) peut uniquement les lire. Les utilisateurs qui n’appartiennent pas au groupe `www-data` ne peuvent même pas y accéder (ce qui est pas mal car souvent il y a des mots de passe dans des fichiers de config, on veut pas que n’importe qui puisse les lire !).

Si jamais comme ça arrive souvent tu as une appli web qui a besoin d’écrire dans un fichier ou dossier spécifique (genre dossier temporaire ou de cache, générateur de fichier de config pendant la phase d’installation, … en principe c’est indiqué dans le document d’installation de l’appli en question), il faut en plus donner les droits d’écriture au groupe `www-data` pour ce fichier ou dossier particulier :

```nohighlight
# chmod g+w /var/www/chemin/vers/fichier
# chmod -R g+w /var/www/chemin/vers/dossier

```

Note le `-R` (récursif) dans le cas d’un dossier, car si l’appli web a besoin d’écrire dans le dossier elle a aussi besoin de pouvoir écrire dans les sous-dossiers et les fichiers.

Sinon tu peux aussi autoriser `www-data` à tout modifier, c’est plus simple à gérer même si c’est moins sécurisé (c’est ce que je fais sur mes postes de développement, la méthode ci-dessus c’est plus pour de la prod) :

```nohighlight
# chown -R www-data:www-data /var/www
# find /var/www -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw
# find /var/www -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwx

```

Une question [**syam**](https://www.debian-fr.org/u/syam) : avec ces droits :  
1/ les visiteurs du site web ne sont pas gênés pour la lecture de toutes les pages, y-compris les pages privées avec MDP ?  
2/ la gestion avec FileZilla reste possible ?

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/7 "2016-02-21T11:24:06Z")

</div>

> [@ricardo](#):
>
> 1/ les visiteurs du site web ne sont pas gênés pour la lecture de toutes les pages, y-compris les pages privées avec MDP ?

Y’a pas de raison puisque dans tous les cas c’est le serveur web (`www-data`) qui y accède.

> [@ricardo](#):
>
> 2/ la gestion avec FileZilla reste possible ?

Alors là, tu soulèves une très bonne question… ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")  
Le peu de serveurs sur lesquels j’ai la main j’y accède toujours via `SSH` et `SSHFS`. Je débloque les droits juste avant dans un shell (`chown -R user:www-data`), je fais mes mises à jour, et je rebloque les droits aussitôt après.  
Donc effectivement, en passant uniquement par FileZilla (sans accès shell pour changer le propriétaire préalablement) ça risque d’être très gênant !

Je t’accorde que c’est loin d’être le plus pratique (je préfère que ça soit plus sécurisé pour de la prod), et vu que j’ai l’habitude de faire comme ça j’avais même pas pensé à ce problème. 😊

Faut dire aussi que ça me gêne pas d’écrire des scripts dans tous les sens pour automatiser ce genre de choses, du coup mes Debian sont un peu… euh… personnalisées… (c’est fait pour que moi je m’y retrouve et j’ai tendance à avoir une organisation assez particulière 😊 😊 😊)

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/8 "2016-02-21T11:24:08Z")

</div>

Merci, je tenterai ton système dans qq temps.  
Une question quand même :  
pourquoi modifier les droits pour intervenir ?  
Je me réponds moi-même car je comprends : en `ssh`, tu interviens en tant qu’user (normal)  
et non en tant que `root` … c’est ça ?  
Je ferai ptet avec l’user dans le groupe qui va bien ???

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/9 "2016-02-21T11:24:09Z")

</div>

> [@ricardo](#):
>
> pourquoi modifier les droits pour intervenir ?  
> Je me réponds moi-même car je comprends : en `ssh` , tu interviens en tant qu’user (normal)  
> et non en tant que `root` … c’est ça ?  
> Je ferai ptet avec l’user dans le groupe qui va bien ???

Oui, je sais bien que je suis un barbare mais j’essaye quand même de garder un minimum de séparation des privilèges… 😉

En fait en ce qui me concerne, mes `umask` sont systématiquement en `077` (parano quand tu nous tiens… ![:eusa-whistle:](https://www.debian-fr.org/uploads/default/original/1X/899b2c331f8cc02517f77948602974610a95f952.gif "Whistle")) donc quoi que je fasse après un upload les droits sont incorrects, il faut que je les corrige. Du coup ça change pas grand chose pour moi de basculer les droits avant l’upload vu qu’il faut de toutes façons que je le fasse après.

Cela dit y’a sûrement moyen d’attribuer un `umask 027` à un utilisateur spécifique (dont la seule fonction serait d’uploader sur `(S)FTP`, et dont le groupe primaire serait `www-data`). Mais d’une part j’ai pas envie de chercher comment ajuster le `umask` pour un utilisateur donné (je crois me souvenir qu’en fonction de la méthode de login, les réglages viennent de différents fichiers de config 😕), et d’autre part c’est trop «&nbsp;ouvert&nbsp;» pour moi : si cet utilisateur se fait cracker, il a forcément le contrôle sur le contenu du serveur web. Alors que `root` je suis relativement tranquille : pas d’accès extérieur direct et un mot de passe long comme le bras d’un orang-outan.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/10 "2016-02-21T11:24:10Z")

</div>

En fait, je me range à ta sagesse.  
Mon pass `root` fait 26 caractères et je suis assez tranquille de ce côté 😃  
Je vais me faire aussi un ptit script pour les rares fois où je dois modifier quelque chose sur mon site. Il reste souvent en sommeil.  
Peux-tu me traduire mot à mot ces lignes car je ne pige pas bien tout :

```nohighlight
# chown -R root:www-data /var/www
# find /var/www -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw,g+r
# find /var/www -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwx,g+rx

```

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/11 "2016-02-21T11:24:10Z")

</div>

```nohighlight
# chown -R root:www-data /var/www

```

Changer le propriétaire (`root`) et le groupe (`www-data`) pour `/var/www` et l’ensemble de son contenu (`-R`).

```nohighlight
# find /var/www -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw,g+r

```

Chercher tous les fichiers (`-type f`) dans `/var/www` et ses sous-répertoires,  
les passer en argument (`xarg`) à `chmod`  
qui efface d’abord complètement les droits pour tout le monde (`-t,a-rwxs`)  
puis autorise le propriétaire (`root`) à lire/écrire (`u+rw`)  
et le groupe (`www-data`) uniquement à lire (`g+r`).  
Les arguments `-print0` / `-0` de `find` et `xargs` sont là pour s’assurer que les noms de fichiers contenant des espaces ou autres caractères “bizarres” seront bien traités.

```nohighlight
# find /var/www -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwx,g+rx

```

Même chose que précédemment sauf qu’on cherche des dossiers (`-type d`) au lieu de fichiers,  
et comme il s’agit de dossiers on rajoute l’autorisation exécuter (`x`)  
aussi bien au propriétaire qu’au groupe  
pour que ceux-ci puissent parcourir les répertoires et lister leur contenu  
(sinon ça va pas bien marcher).

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/12 "2016-02-21T11:24:11Z")

</div>

Merci, les quelques zones d’ombres sont éclairées.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/13 "2016-02-21T11:24:13Z")

</div>

1/ Étant donné que je suis sûr de ne pas avoir ni fichier, ni dossier avec espace et et/ou caractères spéciaux, je peux faire l’impasse sur les '`-print0` / `-0'`, je pense ?

2/ Je ne comprends pas l’utilité de devoir supprimer tous les droits avant de modifier ?  
J’ai toujours modifié directement, sans passer par cette ‹&nbsp;case&nbsp;› ![:017](https://www.debian-fr.org/uploads/default/original/1X/7bbea83f89515ab7c7a738dddb86c4d4f140bd13.gif "reflechit") . Tes raisons pour ce faire ?

Dis-moi si ce qui suit te semble correct, compte tenu de ce qui précède :

Dans un premier temps, l’`user` étant dans le groupe `www-data`, taper ces 3 lignes

```plaintext
# chown -R root:www-data /var/www
# chmod -R 640 -type f /var/www
# chmod -R 750 -type d /var/www

```

Pour intervenir en `ssh` un script :

```plaintext
#!/bin/bash
# chmod -R 660 -type f /var/www
# chmod -R 770 -type d /var/www

```

Une fois l’intervention effectuée, retourner aux droits sécurisés un second script :

```plaintext
#!/bin/bash
# chmod -R 640 -type f /var/www
# chmod -R 750 -type d /var/www

```

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/14 "2016-02-21T11:24:13Z")

</div>

Attention, je viens de modifier ci-dessus

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:24 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/15 "2016-02-21T11:24:13Z")

</div>

> [@ricardo](#):
>
> 1/ Étant donné que je suis sûr de ne pas avoir ni fichier, ni dossier avec espace et et/ou caractères spéciaux, je peux faire l’impasse sur les ‹&nbsp;`-print0` / `-0`&nbsp;›, je pense ?

Jusqu’au jour où… Et là tu te demanderas d’où vient le problème. 😉 Petite habitude de programmeur : toujours essayer de prévoir le pire, ça évite les mauvaises surprises… (on sait jamais de quoi l’avenir sera fait)  
Autant l’utiliser, vu que de toutes façons l’alternative serait  
`find /var/www -type f | xargs chmod 640`  
(c’est uniquement les options `-print0` et `-0` qui gèrent les caractères spéciaux,  
le `find... | xargs` en lui-même c’est pour pouvoir distinguer fichiers/dossiers),  
ça fait pas grande différence et c’est beaucoup plus sûr comme ça.

> [@ricardo](#):
>
> 2/ Je ne comprends pas l’utilité de devoir supprimer tous les droits avant de modifier ?  
> J’ai toujours modifié directement, sans passer par cette ‹&nbsp;case&nbsp;› ![:017](https://www.debian-fr.org/uploads/default/original/1X/7bbea83f89515ab7c7a738dddb86c4d4f140bd13.gif "reflechit") . Tes raisons pour ce faire ?

En fait toi tu utilises la syntaxe avec les valeurs numériques, que je trouve peu claire et moins souple. Ta manière de faire remplace toujours tous les droits.  
La syntaxe que j’utilise permet d’ajuster un seul droit sans toucher aux autres, et comme j’aime pas varier mes habitudes je l’utilise systématiquement quitte à alourdir un peu la commande (mais j’ai moins à réfléchir comme ça). 😉  
En d’autres termes, avec ta syntaxe tu indiques les nouveaux droits que devront avoir tous les fichiers, alors qu’avec la mienne j’indique des actions (ajout/suppression d’un droit précis) à appliquer sur chaque fichier. Par exemple pour enlever le droit de lecture à l’utilisateur et le rajouter au groupe sans toucher aux autres droits (cf. les droits w et x qui ne bougent pas) :

```plaintext
$ ll
total 0
-rw------- 1 syam syam 0 2012-03-21 02:02 essai1
-r-x------ 1 syam syam 0 2012-03-21 02:02 essai2
$ chmod u-r,g+r essai*
$ ll
total 0
--w-r----- 1 syam syam 0 2012-03-21 02:02 essai1
---xr----- 1 syam syam 0 2012-03-21 02:02 essai2

```

Ça tu peux pas le faire avec ta syntaxe. ![:teasing-neener:](https://www.debian-fr.org/uploads/default/original/1X/e0ae327c77962ce0f95cc00254f0ad555183a065.gif "Neener Neener")

Au final c’est juste une question d’habitude : je trouve ma syntaxe plus lisible, plus souple, pas besoin de se rappeler les valeurs numériques (je mélange souvent les valeurs d’écriture et d’exécution) il y a juste à lire ce que ça fait dans l’ordre où c’est écrit. Mais comme on dit, chacun voit midi à sa porte. 🙂  
Quand je disais que j’ai une organisation très personnelle, y’a pas que l’organisation hein, c’est tout le cerveau qui marche de travers. ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

> [@ricardo](#):
>
> ```plaintext
> # chown -R root:www-data /var/www
> # chmod -R 640 -type f /var/www
> # chmod -R 750 -type d /var/www
> 
> ```

`chmod` n’a pas d’option `-type`, c’est une option de `find`  
` chmod` tout seul ne peut pas distinguer entre les fichiers et les dossiers.  
D’où l’utilité du `find... | xargs` qui fait grosso modo le même travail que le `-R` de `chmod`, mais en filtrant fichier/dossier en plus.  
La bonne syntaxe serait (en gardant le `-print0` / `-0` pour sécuriser l’avenir, comme expliqué ci-avant) :

```plaintext
# chown -R root:www-data /var/www
# find /var/www -type f -print0 | xargs -0 chmod 640
# find /var/www -type d -print0 | xargs -0 chmod 750

```

Pour débloquer les droits tu peux te contenter ça :

```plaintext
# find /var/www -type f -print0 | xargs -0 chmod 660
# find /var/www -type d -print0 | xargs -0 chmod 770

```

Mais pour rebloquer à nouveau les droits après l’upload je te conseille de réutiliser la version qui contient le `chown` (sinon que deviennent les nouveaux fichiers qui n’étaient pas là avant car tu viens de les uploader ?).

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:25 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/16 "2016-02-21T11:25:00Z")

</div>

Tes explications sont parfaites et je suis convaincu.  
Je ferai le test ce soir et surtout les possibilité avec FilleZilla et les modifs dans ma galerie photos, que je fais avec pLoader.  
Je te tiendrai au courant des résultats.  
 ![:006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif "salut")

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:25 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/17 "2016-02-21T11:25:03Z")

</div>

Ben presque tout se passe bien.  
La seule chose qui coince, c’est l’utilisation de pLoader pour transférer des photos dans ma galerie Piwigo :  
“Les droits associés à votre compte ne permettent pas le transfert de photos.”  
Je devrais pouvoir arranger ça mais ce n’est pas pressé car je peux quand même pratiquer avec `sftp`, c’est un peu plus long, c’est tout.

pLoader est `root:root`, si je le met `root-www-data`, penses-tu que ça résolve le problème ?

Une dernière question avant que je ne me fasse deux mini scripts :  
Est-il indispensable de rafraichir `apache2` avec `init.d` ?

EDIT : je suis nul, je m’étais trompé de MDP avec pLoader 😒  
de plus, ça n’avais rien à voir puisque l’utilisation de pLoader se fait à partir de ma machine et non du serveur.  
plus de problème de ce côté, je peux transférer mas photos par ce bais qui est pratique et plus rapide.

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:25 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/18 "2016-02-21T11:25:03Z")

</div>

> [@ricardo](#):
>
> pLoader est `root:root` , si je le met `root-www-data` , penses-tu que ça résolve le problème ?

Je sais pas, normalement `root` peut écrire partout (ça ne tient pas compte des droits) donc c’est bizarre. Mais je ne connais pas du tout pLoader, ça se présente comment ?  
De ce que j’en comprends c’est un logiciel que tu installes sur ta machine pas sur le serveur, et il appelle une certaine URL sur ton serveur pour faire les uploads.  
Dans ce cas là il faut savoir où Piwigo essaye d’écrire pour autoriser ce dossier spécifique en `chmod g+w `(à rajouter au script de verrouillage des droits, celui avec le `chown`).

Un bon test pour savoir si c’est bien ce que je soupçonne : donner les droits d’écriture au groupe (`www-data`) `chmod -R g+r /var/www` et réessayer… Si ça marche c’est qu’il y a bien un dossier quelque part dont il faut ajuster les droits, faut probablement regarder dans le document d’installation de Piwigo (en principe ils disent quels dossiers doivent absolument être accessibles en écriture). Une fois que tu sais quel dossier exact est concerné,  
rajoute `chmod -R g+w /var/www/piwigo/dossier/upload` dans le script de verrouillage (`-R` car comme j’expliquais dans un post précédent, s’il a besoin d’écrire dans le dossier il a aussi besoin de pouvoir modifier les fichiers contenus dedans et les éventuels sous-dossiers).

> [@ricardo](#):
>
> Est-il indispensable de rafraichir `apache2` avec `init.d` ?

Absolument pas.

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:25 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/19 "2016-02-21T11:25:03Z")

</div>

Merci, tout est donc parfait.  
J’avais écrit en EDIT sur le précédent msg où je confessais ma connerie : pLoader fonctionne parfaitement et je viens de le tester là : [http://rictux.fr/piwigo/picture.php?/121/category/6](http://rictux.fr/piwigo/picture.php?/121/category/6)  
En deux clics, l’affaire est bâclée.  
Me reste plus qu’à faire les scripts ce soir.  
Merci pour cette combine qui mérite une petite page sur le wiki ptet ? Tu m’autorises, avec citation bien sûr ?

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 11:25 UTC](https://www.debian-fr.org/t/apache-reglage-des-droits/52588/20 "2016-02-21T11:25:04Z")

</div>

Oh ok j’avais pas vu l’edit…

> [@ricardo](#):
>
> Merci pour cette combine qui mérite une petite page sur le wiki ptet ? Tu m’autorises, avec citation bien sûr ?

Je t’en prie fais toi plaisir, l’info est là pour être partagée. 😉  
J’avoue que je fais mon fainéant avec le wiki, c’est pas trop mon truc en ce moment de rédiger des tutos complets. 😊 😊 Avec un peu de chance mon côté cyclothymique va encore frapper et ça rechangera un de ces jours mais là j’ai ni la patience ni l’envie pour m’en occuper.

[Page suivante](https://www.debian-fr.org/t/apache-reglage-des-droits/52588.md?page=2)
