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 06/01/2012, à 21:20

adjoint

[Résolu] Apache + PHP + fopen : permission denied

Bonjour à tous,

J'ai besoin de votre aide. Je viens de passer de windows à Xubuntu.
J'ai installé un serveur lamp sur mon ordinateur et configuré mon serveur apache pour utiliser le module usedir, les liens symbolique etc...
Tout marche, sauf les fonctions d'écriture de PHP.

voici la source :

<?php
$fp = fopen('/var/www/test','w');
fclose($fp);
?>

voici le message d'erreur :

Warning: fopen(/var/www/test): failed to open stream: Permission denied in /var/www/test.php on line 3

voici les droits sur le fichier :

-rwxrwxrwx  1 www-data www-data   58 2012-01-06 20:14 test.php*

Rien y fait, voici ce que j'ai testé :
- chmod 777
- chown wwww-data:www-data sur l'ensemble des répertoires et fichiers

L'écriture depuis /var/www comme depuis le répertoire personnel (public_html) ne marche pas.

Le passage en ligne de commande d'un script php (avec !#usr/bin/php) marche. Le fichier est bien écrit ou supprimé.

Le safe_mode de PHP est bien sur OFF.

Que dois-je faire ?
Serais-ce un problème avec apparmor ou selinux (une bibliothèque libselinux est présente dans les fichiers installés sur l'ordinateur) ?

Je vous remercie par avance pour votre aide.

Dernière modification par adjoint (Le 13/01/2012, à 13:34)

Hors ligne

#2 Le 06/01/2012, à 21:28

sputnick

Re : [Résolu] Apache + PHP + fopen : permission denied

Est-ce que www-data a le droit d'execution sur le répertoire /var/www ? Il en a besoin (pour le "owner", le groupe ou les "autres")

Dans le doute :

chown root: /var/www
chmod 755 !$

Edit : voir http://www.php.net/manual/fr/function.fopen.php#105465

Dernière modification par sputnick (Le 06/01/2012, à 21:32)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 06/01/2012, à 22:04

adjoint

Re : [Résolu] Apache + PHP + fopen : permission denied

Merci pour ta réponse,

Je viens de vérifier les droit sur le fichier www. Il était en 755 root.

J'ai passé le www en 755 www-data, cela marche.
Du coup, il faut sans doute que je fasse la même chose pour le dossier public_html.

Par contre j'ai un peu du mal à comprendre, va t'il falloir que tous les fichiers que je produit sur mon public_html avec mon owner je les passe en www-data ? Il n'y pas un problème de sécurité si je peux ainsi accéder au répertoire des autres utilisateur de ma machine en passant par le owner www-data avec firefox + apache ?

Hors ligne

#4 Le 06/01/2012, à 22:29

sputnick

Re : [Résolu] Apache + PHP + fopen : permission denied

chown root:root /var/www
chown www-data:www-data  /var/www/public_html
chmod 755 /var/www /var/www/public_html

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne