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 20/08/2014, à 10:24

Dionisio

Serveur LAMP ... j'y arriverai (?)

Bonjour à tous,
voilà ... LAMP ... la quête du Graal. Je m'y suis heurté.
Ce matin, j'ai fait un pas impressionant : j'ai fini par avoir accès à phpmyadmin.
Louée soit la page http://doc.ubuntu-fr.org/phpmyadmin qui m'y a aidé.
http://localhost/phpinfo.php fonctionne
Plusieurs autres pages sous http://localhost/ fonctionnent.
Si par contre j'essaye d'aller plus bas, par exemple http://localhost/test/bidon.php (avec juste une commande echo 'bidon'), ça n'est pas possible car je me prends ce message : Forbidden
You don't have permission to access /test/bidon.php on this server.
QUESTION 1 ...
... Comment débloquer ça ??? ....
Nota Bébé ... je suis novice en Linux. Il doit probablement s'agir d'une commande simple, mais je n'ai aucune documentation. Au passage si on pouvait me recommander un bouquin ce serait apprécié.
C'est Linux Ubuntu dernier cri : 14.04
QUESTION 2 ...
Anomalie similaire : sur deux pages qui impliquent un appel par PHP au serveur MySQL
$con = mysql_connect ("localhost", "root", "lemotdepasse");
suivi d'un test :
if ($con) echo 'bien';
else echo 'mal';... deux pages de contenu identique ...
... l'une fonctionne (http://localhost/phpmysql2.php) ... elle affiche bien ...
... et l 'autre donne un écran blanc  (http://localhost/phpmysql.php) !! Voyant sur mon navigateur (Mozilla Firefox) son code-source, je vois le code php, commençant en <?php et finissant en ?>. Bizarre, non ? Cette page n'est pas reconnue par le serveur PHP.

Dernière modification par Dionisio (Le 20/08/2014, à 10:26)

Hors ligne

#2 Le 20/08/2014, à 10:51

hornetovore

Re : Serveur LAMP ... j'y arriverai (?)

La page où le code php s'affiche, est tu sur de lui avoir mis la bonne extension (.php) ?

Pour ton 1er problème, je pense que c'est juste un problème de droits, donnes nous le résultat d'un

ls -la chemin_de_ton_site

Hors ligne

#3 Le 20/08/2014, à 11:12

Dionisio

Re : Serveur LAMP ... j'y arriverai (?)

1°) La bonne extension (.php) : oui, toute page php y compris celle là que j'ai donnée en exemple a cette extension.
2°) la commande
ls /var/www/html
... allant vers l'endroit où se trouvent mis (installation par défaut) les fichiers constituant le site local ...
me donne un affichage où je vois apparaître en blanc les noms des fichiers qui sont directement sous cette racine, par exemple phpmysql.php (qui ne fonctionne pas : affichage blanc) et phpmysql2.php (qui fonctionne, avec le même code php), et en bleu foncé les répertoires (ou dossiers) qui sont sous cette racine. Par exemple, il y a un répertoire que j'ai nommé sansphp (il n'y a que des fichiers html). Si je tape la commande
ls /var/www/html/sansphp
j'obtiens comme réponse : "impossible d'ouvrir le répertoire ....... permission non accordée".
Ce sont tous des répertoires que j'avais juste transféré d'une clé USB. Apparemment ils n'ont pas été installés avec les droits appropriés, puisqu'il n'est même pas possible de les ouvrir. Cependant, j'y ai accès sur ubuntu (je tape la commande "sudo nautilus", qui ouvre l'explorateur avec droits d'administrateur, et j'ouvre "ordinateur" dans "périphériques").
... Comment changer ces droits ?
... Comment éviter que ce problème se reproduise si je transfère à nouveau des fichiers entre disque dur et clé usb ?

Hors ligne

#4 Le 20/08/2014, à 11:19

hornetovore

Re : Serveur LAMP ... j'y arriverai (?)

ce n'est pas

ls

mais

ls -la

qu'il faut faire, et fais nous un copiez/coller du retour parce que devoir décrire la réponse sera un peu compliqué crois moi.

C'est forcément un problème de droits, tu dis y accéder via nautilus en root (administrateur), si tu n'y accède qu'en root, c'est donc normal que php n'y aie pas accès, si tu veux faire un test, rentre cette commande

sudo chown -Rf www-data:www-data /var/www/

ça donnera l'appartenance de tout tes fichiers et dossiers contenu dans /var/www à www-data qui est php

Hors ligne

#5 Le 20/08/2014, à 13:12

Dionisio

Re : Serveur LAMP ... j'y arriverai (?)

hornetovore a écrit :

ce n'est pas

ls

mais

ls -la

qu'il faut faire, et fais nous un copiez/coller du retour parce que devoir décrire la réponse sera un peu compliqué crois moi.

Voici :

user@user-HP-ENVY-6-Notebook-PC:~$ ls -la /var/www/
total 7668
drwxr-xr-x  6 root root    4096 août  20 10:33 .
drwxr-xr-x 14 root root    4096 août   6 11:40 ..
drwxr-xr-x 14 root root    4096 août  20 11:15 html
-rw-r--r--  1 root root 7826126 mai   31  2007 php_manual_en.chm
lrwxrwxrwx  1 root root      22 août  20 10:33 phpmyadmin -> /usr/share/phpmyadmin/
drwx------ 11 root root    4096 juin   9 16:16 projets
drwx------ 12 root root    4096 juin   9 16:00 sujets

user@user-HP-ENVY-6-Notebook-PC:~$ ls -la /var/www/html
total 116
drwxr-xr-x 14 root root  4096 août  20 11:15 .
drwxr-xr-x  6 root root  4096 août  20 10:33 ..
drwx------  3 root root  4096 juin   9 16:16 agenda
-rw-r--r--  1 root root    28 août  20 09:32 bidon.php
drwx------  4 root root  4096 juin   9 16:16 budget
drwx------  5 root root  4096 août   6 20:25 images
-rw-r--r--  1 root root 11517 août   6 20:27 index.html
-rw-r--r--  1 root root 11517 août   6 20:27 index.html~
-rw-r--r--  1 root root    90 août   6 15:18 .~lock.phpinfo.php#
drwx------  4 root root  4096 juin  12 16:18 ovh
drwx------  8 root root  4096 juin  12 16:18 pChart2.1.4
drwx------ 14 root root  4096 juin   9 16:03 pensifs
-rw-r--r--  1 root root     6 août   6 15:36 phpinfo.html
-rw-r--r--  1 root root    42 août  20 09:54 phpinfo.php
lrwxrwxrwx  1 root root    21 août  20 10:47 phpmyadmin -> /usr/share/phpmyadmin
-rw-r--r--  1 root root   124 août  20 11:11 phpmysql2.php
-rw-r--r--  1 root root   124 août  20 11:11 phpmysql2.php~
-rw-r--r--  1 root root   124 août  20 11:15 phpmysql.php
-rw-r--r--  1 root root   124 août  20 10:38 phpmysql.php~
drwx------ 10 root root  4096 juin   9 16:02 planetes
drwx------ 11 root root  4096 juin  12 16:18 sansphp
-rw-r--r--  1 root root    33 juil.  2  2007 test.php
drwx------  4 root root  4096 juin   9 16:01 vocabulaire

Les fichiers auxquels je peux accéder sont en -rw-r--r-- et les répertoires auxquels je n'ai pas accèder sont en drwx------
Comment changer ça ? Pas seulement concernant les répertoires mais tous leurs sous-répertoires et les fichiers qui s'y trouvent.

hornetovore a écrit :

C'est forcément un problème de droits, tu dis y accéder via nautilus en root (administrateur), si tu n'y accède qu'en root, c'est donc normal que php n'y aie pas accès, si tu veux faire un test, rentre cette commande

sudo chown -Rf www-data:www-data /var/www/

ça donnera l'appartenance de tout tes fichiers et dossiers contenu dans /var/www à www-data qui est php

Voici ce que ça donne (réponse vide) :
user@user-HP-ENVY-6-Notebook-PC:~$ sudo chown -Rf www-data:www-data /var/www/
[sudo] password for user:

J'ai écrit le mode de passe et l'affichage qui a suivi était une absence d'affichage.

Hors ligne

#6 Le 20/08/2014, à 15:14

bruno

Re : Serveur LAMP ... j'y arriverai (?)

hornetovore a écrit :
sudo chown -Rf www-data:www-data /var/www/

ça donnera l'appartenance de tout tes fichiers et dossiers contenu dans /var/www à www-data qui est php

Et cela introduit une belle faille de sécurité en cas d'injection de code…

Il suffisait de faire :

sudo chmod -R a+rX /var/www

qui le donne le droit à tous le monde de lire les fichiers (+r) et d'entrer dans les dossiers (+X) et donc également à www-data (qui n'est pas php mais l'utilisateur sous lequel s'exécute Apache).

#7 Le 20/08/2014, à 19:18

Dionisio

Re : Serveur LAMP ... j'y arriverai (?)

Ok ... Voilà, c'est pleinement résolu ... Merci à  bruno et hornetovore.
Mes fichiers php fonctionnent, dans tous les sous-répertoires.
Je peux d'ailleurs les voir apparaître sur Filezilla.
Je ne pouvais même pas y voir ces fichiers, ce qui commençait à me donner envie de revenir à Windows.
.... ça roule.

Hors ligne