#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)
En ligne
#3 Le 11/07/2014, à 08:27
- jplemoine
Re : Autoriser Php à créer des fichiers et dossiers sur un serveur web
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)
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
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--.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#5 Le 11/07/2014, à 18:02
- serged
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...
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)
En 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...
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
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
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)
En 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)
En 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