Pages : 1
#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 (?)
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.
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 (?)
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
Pages : 1