Developper en php sur Fedora

wassil56 Messages postés 100 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
salut
je vien d'installer fedora, et j'ai trouvé devassistant (qui ma fait plaisir etant donné que je dois creer un site en php mysql)
mais quand je cré un nouveau projet, quand j'essai de voir le resultat sur mon navigateur web ça donne
Forbidden
You don't have permission to access /test on this server.

en plus j'ai meme tout les fichier du site en chmod 777
des suggestions ?
merci ;)
A voir également:

1 réponse

mamiemando Messages postés 34229 Date d'inscription   Statut Modérateur Dernière intervention   7 897
 
Alors pour commencer jamais de
chmod 777
sous linux :-) C'est une très mauvaise habitude et il vaut mieux d'abord comprendre comment définir des permissions correctement plutôt que d'ouvrir la porte à n'importe qui :-)

Dans ton cas tu parles d'un répertoire
/test
.

Vu qu'on parle de php/mysql il faut commencer par déterminer si l'on parle de l'adresse http://localhost/test, et auquel cas si ton serveur web utlises pour raçine
/var/www
, il s'agit en vrai de
/var/www/test
, ou si on parle bien du répertoire
/test
.

La racine du serveur web est définie dans son fichier de configuration. Si par exemple c'est apache2, chaque virtualhost a un DocumentRoot qui définit à quel répertoire correspond cette racine. Je commencerais donc par faire un :

grep -nr DocumentRoot /etc/apache2


... pour voir de quoi on parle.

Ensuite, pour ce répertoire, tu cherches en tant que développeur à écrire des fichiers. Il faut pour cela déterminer en tant quel utilisateur ton serveur web accède à ton site. Traditionnellement c'est en tant qu'utilisateur www-data. Supposons que ce soit le cas.

Nous allons maintenant réfléchir aux permissions associés aux fichiers et dossiers de ton site, que je suppose ici être dans
/var/www/test
.
- Les fichiers doivent être lisibles par l'utilisateur et le groupe www-data
- Les dossiers doivent être lisibles et avoir des droits en exécutions pour l'utlisateur et le groupe www-data
- Les droits associés à ces fichiers ne doivent pas être modifiable par www-data
- Ton utilisateur (mettons toto) doit pouvoir écrire dans ces dossiers ou supprimer ou modifier les fichiers existant. Il doit donc avoir des droits en écriture.

Voici ce que tu peux faire :
- avoir toto en propriétaire : droits rw- sur les fichiers et rwx sur les dossiers
- avoir www-data en groupe : droits r-- sur les fichiers et r-- sur les dossiers
- éventuellement ne mettre aucun droit aux utilisateurs qui ne sont ni toto ni membre de www-data (---) (ou au mieux r--).

Si ça te va on a alors :

sudo chown -R toto:www-data /var/www/test
sudo find /var/www/test -type d -exec chmod 0750 {} \;
sudo find /var/www/test -type f -exec chmod 0640 {} \;


Bonne chance
0
jisisv Messages postés 3678 Statut Modérateur 935
 
Une inspection des fichiers log de ton serveur http (je suppose que c'est Apache) te sera utile.
exemple
[root@osiris ]/var/log/apache2# wget  http://localhost:81/nonexistent.html
--2015-07-08 15:54:42--  http://localhost:81/nonexistent.html
Résolution de localhost (localhost)... ::1, 127.0.0.1
Connexion à localhost (localhost)|::1|:81... connecté.
requête HTTP transmise, en attente de la réponse... 404 Not Found
2015-07-08 15:54:42 erreur 404 : Not Found.

tail /var/log/apache2/error.log
[Wed Jul 08 15:54:42.734641 2015] [core:info] [pid 16273] [client ::1:49231] AH00128: File does not exist: /home/johand/www/data/nonexistent.html

tail /var/log/apache2/access.log
::1 - - [08/Jul/2015:15:54:42 +0200] "GET /nonexistent.html HTTP/1.1" 404 748 "-" "Wget/1.16.3 (linux-gnu)"
l
0