Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/07/2014, à 23:40

Moskito7

Autoriser Php à créer des fichiers et dossiers sur un serveur web

Bonsoir,

Voilà mon problème est le suivant : J'utilise wordpress sur un serveur Ubuntu/Apache/Php/MySQL et l'installation d'un plugin avec un numéro de license me retourne l'erreur suivante "Failed to write file to wp-content/aam folder" alors que j'ai fait l'installation du même plugin mais sur un site hébéergé chez un prestataire et là tout fonctionne.

Que dois-je faire pour obtenir les droits suffisants ou plutôt donner la capacité à php d'écrire ce répertoire et dans ce répertoire ?

Merci de votre aide.


Asus R500VD SX666 - Ubuntu 14.04

Hors ligne

#2 Le 11/07/2014, à 08:20

serged

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

Le serveur web apache (qui utilise PHP) travaille comme utilisateur www-data. Il faut donc que les fichiers du site appartiennent à www-data.

Néanmoins pour les mises à jour, éditions etc., je suppose qu'il faille que l'utilisateur courant puisse aussi y mettre ses mains.

Donc :
- Ajouter l'utilisateur (appelons le toto) au groupe www-data
- mettre les fichiers du site web en mode w pour le groupe
- S'arranger pour que la création par apache laisse les fichiers modifiables par toto et www-data

Donc :

sudo adduser toto www-data
cd répertoire_du_site
sudo chown -R www-data:www-data *
sudo chmod -R a+X g+rw *

LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#3 Le 11/07/2014, à 08:27

jplemoine

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

serged a écrit :

Il faut donc que les fichiers du site appartiennent à www-data.

Surtout pas.....Cela créerait un IMMENSE TROU DE SECURITE !!!

Le principe est justement que www-data n'ait droit qu'à LIRE les fichiers....
Il faut juste donner les droits d'écriture sur les fichiers/répertoires effectivement modifiés par le site web (config, upload,..)

Attention aussi au droit d’exécution : la plupart des fichiers (html, php notament) n'en ont pas besoin. Je pense que les seuls a en avoir besoin sont les CGI mais ils sont dans un répertoire particulier...

Dernière modification par jplemoine (Le 11/07/2014, à 08:27)


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#4 Le 11/07/2014, à 08:29

jplemoine

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

Pour info, le fichier index.html par défaut appartient à root:root est a les droits rw-r--r--.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#5 Le 11/07/2014, à 18:02

serged

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

jplemoine a écrit :
serged a écrit :

Il faut donc que les fichiers du site appartiennent à www-data.

Surtout pas.....Cela créerait un IMMENSE TROU DE SECURITE !!!

Le principe est justement que www-data n'ait droit qu'à LIRE les fichiers....
Il faut juste donner les droits d'écriture sur les fichiers/répertoires effectivement modifiés par le site web (config, upload,..)

Attention aussi au droit d’exécution : la plupart des fichiers (html, php notament) n'en ont pas besoin. Je pense que les seuls a en avoir besoin sont les CGI mais ils sont dans un répertoire particulier...

C'est au CMS de gérer la sécurité...
Sur ma bécane, j'ai par exemple un dokuwiki qui écrit ses données sur le site même, des SPIP qui permettent d'uploader des fichiers et qui créent par ailleurs des caches etc. Les autres CMS sont pareils... Je ne vois pas comment gérer ça en ne permettant pas à Apache d'écrire sur les répertoires du site.


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#6 Le 11/07/2014, à 18:10

jplemoine

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

Les fichiers modifiés par www-data sont en écriture possible (on ne peut pas faire autrement et c'est le but d'un CMS) mais il y a certainement d'autres fichiers qui ne sont pas modifiés et ceux-là sont en lecture seulement.
Exemple (au pif) : il n'y a aucune raison pour que les fichiers CSS soient modifiés...


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#7 Le 11/07/2014, à 18:10

pires57

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

Certainement pas, ce n'est pas au cms de gérer la sécurité de ton serveur

Dernière modification par pires57 (Le 11/07/2014, à 18:12)


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#8 Le 12/07/2014, à 07:24

serged

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

pires57 a écrit :

Certainement pas, ce n'est pas au cms de gérer la sécurité de ton serveur

Pourtant, sur un hébergement où j'ai un site sous SPIP (1Freehosting) :
[

450695408$ [/home/u450695408/public_html/site/] ls -l
total 300
-rw-r--r--  1 u450695408 u450695408 171421 Oct 23  2013 CHANGELOG.txt
-rw-r--r--  1 u450695408 u450695408  35147 Oct 23  2013 COPYING.txt
drwxr-xr-x 10 u450695408 u450695408   4096 Feb 18 12:17 IMG
-rw-r--r--  1 u450695408 u450695408    491 Oct 23  2013 INSTALL.txt
drwxr-xr-x  3 u450695408 u450695408   4096 Apr  3 17:23 config
drwxr-xr-x 22 u450695408 u450695408   4096 Aug 16  2012 ecrire
-rw-r--r--  1 u450695408 u450695408    628 Dec 14  2012 error_log
drwxr-xr-x  8 u450695408 u450695408   4096 Aug 16  2012 extensions
-rw-r--r--  1 u450695408 u450695408   4399 Oct 23  2013 htaccess.txt
-rw-r--r--  1 u450695408 u450695408     46 Oct 23  2013 index.php
drwxr-xr-x  7 u450695408 u450695408   4096 Nov 11  2013 local
drwxr-xr-x  3 u450695408 u450695408   4096 Aug 16  2012 plugins
drwxr-xr-x 13 u450695408 u450695408   4096 Aug 16  2012 prive
-rw-r--r--  1 u450695408 u450695408     63 Oct 23  2013 rien.gif
-rw-r--r--  1 u450695408 u450695408   1097 Oct 23  2013 spip.php
-rw-r--r--  1 u450695408 u450695408  21411 Oct 23  2013 spip_loader.php
drwxr-xr-x  4 u450695408 u450695408   4096 Aug 16  2012 squelettes
drwxr-xr-x  5 u450695408 u450695408   4096 Aug 16  2012 squelettes-dist
-rw-r--r--  1 u450695408 u450695408    303 Oct 23  2013 svn.revision
drwxr-xr-x  8 u450695408 u450695408   4096 Jul 11 23:47 tmp

(u450695408 est mon nom d'utilisateur)


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#9 Le 12/07/2014, à 07:29

serged

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

PS: Et rajoutons que si le CMS a été installé automatiquement (par spip_loader.php par exemple, mais je suppose que les autres CMS ont aussi cette possibilité), forcément, les fichiers appartiennent au serveur...


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#10 Le 12/07/2014, à 09:39

pires57

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

Attention, ici tu parles d'un serveur d'hébergement, ce serveur n'héberge pas uniquement ton site je suppose, tu payes pour avoir un espace pour ton site comme d'autre le font et la sécurité est de ce fait gérer par la société qui te loue le serveur.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#11 Le 12/07/2014, à 10:27

Moskito7

Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web

Merci serged ! Grâce à tes indications tout fonctionne ! C'était bien une histoire de propriété de fichiers. Encore merci.

Dernière modification par Moskito7 (Le 12/07/2014, à 10:27)


Asus R500VD SX666 - Ubuntu 14.04

Hors ligne