Erreur activation PHP

A

Anonyme

Invité
Bonjour,

J'ai fait le pas et j'ai reçu mon MAC cette semaine.

Je fais beaucoup de développement Web et plus particulièrement du développement PHP.

J'ai activé Apache et ensuite, j'ai modifié httpd.conf. J'ai enlevé le # devant loadmodule de PHP et ensuite j'ai modifié le documentRoot à /Users/monUtilisateur/Sites

Le problème c'est que quand j'essais de lancé un fichier PHP avec seulement phpinfo(); dedans, j'ai cette erreur :

Bloc de code:
[B]Warning[/B]:  Unknown: failed to open stream: Permission denied in [B]Unknown[/B] on line [B]0[/B]

[B]Fatal error[/B]:  Unknown: Failed opening required '/Users/monUtilisateur/Sites/phpinfo.php' (include_path='.:') in [B]Unknown[/B] on line [B]0[/B]

Quelqu'un connait-il cette erreur ?
 
A

Anonyme

Invité
J'ai remis le DocumentRoot par défaut et j'ai ajouté un VirtualHost :

Bloc de code:
<VirtualHost *:80>
    ServerAdmin adress@host.com
    DocumentRoot "/Users/monUser/Sites"
    ServerName monUser
    ErrorLog "/Users/monUser/Sites/logs/error_dev.log"
    CustomLog "/Users/monUser/Sites/logs/access_dev.log" common
</VirtualHost>
Maintenant j'ai une erreur 404... Personne n'a configuré PHP pour fonctionner avec son dossier Sites ?
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
32
$PWD
p4bl0.net
J'ai remis le DocumentRoot par défaut et j'ai ajouté un VirtualHost :

Bloc de code:
<VirtualHost *:80>
    ServerAdmin adress@host.com
    DocumentRoot "/Users/monUser/Sites"
    ServerName monUser
    ErrorLog "/Users/monUser/Sites/logs/error_dev.log"
    CustomLog "/Users/monUser/Sites/logs/access_dev.log" common
</VirtualHost>
Maintenant j'ai une erreur 404... Personne n'a configuré PHP pour fonctionner avec son dossier Sites ?
Ton serveur (et donc php) n'a pas le droit d'accès en lecture sur le fichier, c'est dit dans l'erreur.

Faut que tu fasse un "chmod 644 /Users/monUtilisateur/Sites/phpinfo.php" dasn ton terminal ça devrait corriger l'erreur.
 
A

Anonyme

Invité
Ton serveur (et donc php) n'a pas le droit d'accès en lecture sur le fichier, c'est dit dans l'erreur.

Faut que tu fasse un "chmod 644 /Users/monUtilisateur/Sites/phpinfo.php" dasn ton terminal ça devrait corriger l'erreur.

Oui j'ai compris que dans le premier contexte je n'avais pas les droits. Par contre, je ne comprends pas le fait que mon virtualhost ne fonctionne pas...
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
32
$PWD
p4bl0.net

iMatthieu

Membre confirmé
31 Août 2004
383
24
38
CH - Neuchâtel
www.imatt.ch
Hello,

Dans ton virtualhost, à la ligne :
Bloc de code:
ServerName monUser

Si monUser correspond à ton nom d'utilisateur, c'est normal que tu ne puisses pas atteindre le serveur car monUser n'est pas un DNS.

Tu pourrais essayer par exemple avec :
Bloc de code:
ServerName localhost
ou
Bloc de code:
ServerName nomDeTaMachine.local

Je viens de faire un essai et ça a fonctionné, j'ai placé mon virtualhost sous la ligne "Listen 80".
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
32
$PWD
p4bl0.net
Hello,

Dans ton virtualhost, à la ligne :
Bloc de code:
ServerName monUser

Si monUser correspond à ton nom d'utilisateur, c'est normal que tu ne puisses pas atteindre le serveur car monUser n'est pas un DNS.

Tu pourrais essayer par exemple avec :
Bloc de code:
ServerName localhost
ou
Bloc de code:
ServerName nomDeTaMachine.local

Je viens de faire un essai et ça a fonctionné, j'ai placé mon virtualhost sous la ligne "Listen 80".
Ah mais je pensais qu'il avait ajouté une ligne dans son /etc/hosts pour que monUser soit associé à 127.0.0.1, ben oui alors c'est ça le problème :).
 
A

Anonyme

Invité
Hello,

Dans ton virtualhost, à la ligne :
Bloc de code:
ServerName monUser
Si monUser correspond à ton nom d'utilisateur, c'est normal que tu ne puisses pas atteindre le serveur car monUser n'est pas un DNS.

Tu pourrais essayer par exemple avec :
Bloc de code:
ServerName localhost
ou
Bloc de code:
ServerName nomDeTaMachine.local
Je viens de faire un essai et ça a fonctionné, j'ai placé mon virtualhost sous la ligne "Listen 80".

oui d'accord, j'ai compris mon erreur. En fait ce que je voulais faire, c'est pas un virtualhost mais un alias !

donc voilà la bête :

Bloc de code:
Alias /dev "Users/monUser/Sites"
<Directory "Users/monUser/Sites">
    Options Indexes Multiviews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
La redirection fonctionne. Si je vais sur http://localhost/dev j'ai bien mon index.html qui s'ouvre. Par contre, toujours pas de php (Permission denied).

Dois-je obligatoirement modifier les droits de mon dossier monUser ou est-ce que je peux seulement changer les droits du dossier Sites
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
32
$PWD
p4bl0.net
oui d'accord, j'ai compris mon erreur. En fait ce que je voulais faire, c'est pas un virtualhost mais un alias !

donc voilà la bête :

Bloc de code:
Alias /dev "Users/monUser/Sites"
<Directory "Users/monUser/Sites">
    Options Indexes Multiviews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
La redirection fonctionne. Si je vais sur http://localhost/dev j'ai bien mon index.html qui s'ouvre. Par contre, toujours pas de php (Permission denied).

Dois-je obligatoirement modifier les droits de mon dossier monUser ou est-ce que je peux seulement changer les droits du dossier Sites
Normalement le dossier Sites devrait déjà être accessible par le serveur :-/

Essaye de réparer les autorisation peut-être ?

Et passe le "AllowOverride None" à All ça t'évitera de revenir dans quelques jours ou semaines demander pourquoi ton .htaccess marche pas :D ;)
 
A

Anonyme

Invité
Normalement le dossier Sites devrait déjà être accessible par le serveur :-/

Essaye de réparer les autorisation peut-être ?

Et passe le "AllowOverride None" à All ça t'évitera de revenir dans quelques jours ou semaines demander pourquoi ton .htaccess marche pas :D ;)

Réparer les autorisations ? Pourtant je n'y ai pas touché. Comment fait-on? je suis nouveau dans l'univers mac...
 

iMatthieu

Membre confirmé
31 Août 2004
383
24
38
CH - Neuchâtel
www.imatt.ch
Tu peux réparer les autorisations depuis Utilitaire de Disque (/Applications/Utilitaires/Utilitaire de disque.app).

Mais je pense que c'est plus un problème de droits sur le fichier .php voire dossier parent. T'as plusieurs solution :

- mettre le groupe www comme groupe du fichier.
- mettre ton fichier en lecture pour tout le monde.

Perso en local je me prend pas le chou avec les droits d'accès, dès que y'a un problème 777 et réglé.

Sinon p4bl0 a bien fait de directement traiter les htaccess, du coup j'ajoute GD : http://www.kenior.com/macintosh/adding-gd-library-for-mac-os-x-leopard
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
32
$PWD
p4bl0.net
J'ai recréé un fichier php avec smultron et maintenant c'est ok !

En tout cas merci de m'avoir aidé les gars !
C'étais donc certainement bien un problème de droit.
En générale mettre les fichiers en 644 et les dossiers en 755 est parfait.


@iMatthieu: le 777 partout au hasard c'est pas terrible quand même ^^, évite le plus possible ;)