Pages : 1
#1 Le 06/08/2017, à 22:22
- RolandG
[résolu] index.php pas reconnu par défaut dans mon lamp
Bonjour à tous,
Je pensais que l'apache(2) installé localement pour mon lamp reconnaitrait comme page par défaut index.html, index.htm et index.php, comme tout serveur (du moins ceux que j'ai utilisé à ce jour ...) mais, pour une raison que j'ignore et que je n'ai pas encore identifié, il ignore la présence de mon index.php, ce qui n'est pas l'idéal pour simuler une exploitation réelle.
Je n'ai rien trouvé dans apache2.conf et je ne vois rien dans la doc éponyme, à part qu'il devrait le reconnaître, mais de piste nenni.
Quelqu'un pourrait-il me tendre le début de la pelote ? (à dérouler pour trouver la réponse ;=)
Merci par avance de vos précisions ou suggestions
Cordialement
Roland
Dernière modification par RolandG (Le 11/08/2017, à 14:21)
loup maigre (et vieux ...)
Hors ligne
#2 Le 07/08/2017, à 07:46
- kholo
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
salut,
faute de pelote voilà du tuto !!!
partie 1 : [tuto] 16.04 - Installation Apache Mysql PHP phpmyadmin (+ vidéo)
partie 2 : [tuto]LAMP - 16.04 - rép de travail, joomla, wordpress,... (+ vidéo)
Hors ligne
#3 Le 07/08/2017, à 12:55
- RolandG
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
Bonjour Kholo,
salut,
faute de pelote voilà du tuto !!!
partie 1 : [tuto] 16.04 - Installation Apache Mysql PHP phpmyadmin (+ vidéo)
partie 2 : [tuto]LAMP - 16.04 - rép de travail, joomla, wordpress,... (+ vidéo)
Pas de problème, j'avaIs tout bien fait (plusieurs fois, sous windows et sous linux ...) et je note au passage que la différence de traitement du mot de passe par défaut MySQL vs MariaDB n'est pas documenté ... J'y avais passé de nombreuses heures.
Il est vrai que la page "LAMP" aurait peut être besoin d'un ptit coup de frais.
Nonobstant, ceci ne répond malheureusement pas à mon pb actuel de fichier par défaut "index" seulement reconnu en html ou htm mais jamais en php (même qd le .php est seul). C'est en fait uniquement cela qui est l'objet de ma demande d'aide.
Merci par avance de ton aide.
Cordialement,
Roland
loup maigre (et vieux ...)
Hors ligne
#4 Le 07/08/2017, à 14:01
- kholo
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
ça passe en html et pas en php donc :
que donne la partie de mon tuto pour le php ?
quid de la création du fichier de test.php ?
Hors ligne
#5 Le 10/08/2017, à 10:18
- RolandG
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
Bonjour Kholo,
Merci pour ton attention et ton retour.
que donne la partie de mon tuto pour le php ?
quid de la création du fichier de test.php ?
Je te présente toutes mes excuses, je crois que je ne me suis pas clairement exprimé :
TOUT fonctione (heureusement, j'y travaille en permanence )
le lamp est opérationnel
PHPMyAdmin itou
PHP aussi ...
Mon problème, est la NON reconnaissance par APACHE2 du fichier "index.php" en tant que fichier par défaut (donc à afficher à réception de l'url du domaine sans précision de page) en l'absence d'autre fichier par défaut (index.htm ou index.html).
Cela ne m'empèche pas de travailler, mais cela me trouble car je ne suis pas dans une situation réelle.
Mon site web (en son état de développement) fonctionne parfaitement quand je le mets en ligne chez mon hébergeur, en appelant juste le site sans préciser la page.
Dis moi si c'est plus clair ?
Cordialement,
Roland
loup maigre (et vieux ...)
Hors ligne
#6 Le 10/08/2017, à 10:35
- kholo
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
ok, pigé...
pour lancer ton site en local tu passes par quel adresse ?
127.0.0.1
localhost
je pense que tamarou "donne" la solution et les liens ici : virtualhosts_avec_apache2
Ces lignes ne sont toujours pas la bonne solution
Effectivement, tu pourrais créer un host virtuel pour chaque site.
Il suffit de copier-coller /etc/apache2/sites-available/000.default.conf, de le renommer et l'adapter à ton cas, puis de l'activer avec a2ensite.
C'est tout et ça baigne.
https://doc.ubuntu-fr.org/tutoriel/virt … ec_apache2Pour les droits, voir le site d'Elzen qui donne une explication très claire.
http://fadrienn.irlnc.org/serveur/insta … ts_dacces/
Hors ligne
#7 Le 10/08/2017, à 12:50
- bruno
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
Bonjour,
Le(s) fichier(s) a afficher lorsqu'une requête est effectuée sur un répertoire (/ par exemple) est défini par la directive DirectoryIndex
Sur une installation correcte et non bidouillée d'Apache sur Ubuntu cette directive est présente dans /etc/mods-available/dir.conf :
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Si cela ne fonctionne pas c'est que tu as modifié d'un manière ou d'une autre la configuration :
- désactivation de mod_dir (mais a priori cela poserait d'autres problèmes);
- redéfinition de la directive DirectoryIndex dans un de tes fichiers de configuration (hôte virteuel ou .htaccess);
#8 Le 10/08/2017, à 12:55
- gl38
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
C'est dans /etc/apache2/mods-available/dir.conf qu'il faut voir ce que dit bruno
Cordialement,
Guy
Hors ligne
#9 Le 11/08/2017, à 07:02
- RolandG
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
Bonjour à tous,
et merci-beaucoup pour vos réponses, votre attention à l'endroit de mon problème.
____________________________________________________________________________________
@kholo
pour lancer ton site en local tu passes par quel adresse ?
127.0.0.1
localhost
Dans la pratique, ni l'un ni l'autre, puisque j'ai créé deux virtualhosts pour les deux site sur lesquels je travaille : machin.dev et truc.dev.
Je passe donc par le nom de domaine concerné, précédé (ou pas) du protocole (pas encore sécurisé SSL, j'ai reporté à plus tard cette partie de l'installation).
J'ai créé ces deux virtualhosts en suivant les instructions de cette page : https://doc.ubuntu-fr.org/tutoriel/virt … ec_apache2, manip répétée à plusieurs reprises avec toujours les même excellents résultats.
____________________________________________________________________________________
@bruno & gl38 :
Merci beaucoup à vous deux, c'était qlq chose comme cela que je cherchais, mais ne l'ai pas trouvé dans la doc apache2.
Et a mon grand regret, mon fichier dir.conf est l'exact reflet de ce que bruno a quoté.
Je précise que mon niveau linuxien m'engage à la plus grande humilité. Je ne "bidouille" rien et n'entame une intervention que sur des conseils clairs trouvé sur des sites officiels (comme ubuntu-fr.org, par exemple ). Le diable étant dans les détails, j'évite de suivre les conseils de maitres djedai linuxiens dont je crains l'absence au moment de la maintenance ... (expériences passées douloureuses ...)
Ceci étant précisé, la commande "DirectoryIndex" de ce dir conf s'applique-t-elle aussi à mes virtualshosts (je n'ai pas trouvé d'autre fichier dir.conf, seulement un userdir.conf dans le mm répertoire) ?
sinon, dois-je la dupliquer dans mes virtualhosts ?
_____________________________________________________________________________________
Précisions :
J'ai installé deux virtualhosts mais n'ai pas retiré la config originale.
Donc "localhost" présente toujours "it works!" qui est la page index.html dans /var/www/html/.
Quand je renomme ce index.html en index.php, eprès vidage intégral du cache, localhost présent toujours la mm page.
Donc DirectoryIndex fonctionne, mais pas dans les virtual hosts.
Hors, les seuls fichiers ajoutés pour les virtualhosts sont les deux fichiers .conf installés dans /etc/apache2/site_available/ dont voici un des deux, qui ne contient rien concernant concernant les fichiers par dafaut :
<VirtualHost *:80>
ServerAdmin webadmin@noticedevote.online
ServerName noticedevote.dev
ServerAlias www.noticedevote.dev
DocumentRoot /var/www/noticedevote.dev
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/noticedevote.dev>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
Deny from all
allow from 127.0.0.1
allow from localhost
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order deny,allow
Deny from all
allow from 127.0.0.1
allow from localhost
</Directory>
# ErrorLog /var/log/apache2/error.log
ErrorLog /home/roland/www-dev/noticedevote.dev/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# LogLevel warn
LogLevel debug
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
allow from 127.0.0.1
allow from localhost
</Directory>
</VirtualHost>
Quelqu'un envisagerait-il une piste ?
Merci par avance,
Cordialement
Roland
Dernière modification par RolandG (Le 11/08/2017, à 07:55)
loup maigre (et vieux ...)
Hors ligne
#10 Le 11/08/2017, à 07:22
- bruno
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
Normalement tout ce qui est dans /etc/apache2/mods-enabled s'applique globalement.
Assure-toi que le mod_dir est bien activé (en principe il l'est à l'installation) :
sudo a2enmod dir
et vérifie que tu n'as pas de directive DirectoryIndex dans tes fichiers d'hôtes virtuels ou dans des fichiers .htacces à la racine de tes sites.
Au pire tu pourra rajouter dans tes hôtes virtuels :
DirectoryIndex index.php
mais ce ne devrait pas être nécessaire.
N.B. : n'en déplaise aux mainteneurs de ce site ubuntu-fr.org n'est pas un site officiel, d’ailleurs la documentation que tu cites est obsolète et est marquée comme « brouillon ». La seule documentation officielle concernant Apache est https://httpd.apache.org/docs/2.4/
--------
Précisions sur les modules d'Apache sous Debian/Ubuntu.
Le dossier /etc/apache2/mods-available contient tous les modules disponibles (un fichier de chargement *.load et éventuellement un fichier de confifguration *.conf).
Le dossier /etc/apache2/mods-enabled contient sous forme de lien symboliques vers les précédents tous les modules activés.
Les commandes a2enmod / a2dismod permettent respectivement d'activer ou de désactiver les modules apache en créant ou détruisant les liens symboliques dans /etc/apache2/mods-enabled.
Dernière modification par bruno (Le 11/08/2017, à 07:29)
#11 Le 11/08/2017, à 14:12
- RolandG
Re : [résolu] index.php pas reconnu par défaut dans mon lamp
Bjr Bruno,
et merci pour ton retour documenté.
J'avais déjà vérifié dans /etc/apache2/mods-enabled/ la présence du lien dir.conf, mais j'ai qd mm lancé le A2enmod qui m'a répondu :
roland@roland-TMP645-M:/etc/apache2$ sudo a2enmod dir
[sudo] Mot de passe de roland :
Module dir already enabled
roland@roland-TMP645-M:/etc/apache2$
J'insère dans noticedevote.conf la commande
DirectoryIndex index.php index.html
je reload apache2,
et qd j'appelle noticedevote.dev ou http://noticedevote.dev ou les mm avec un trailling slash, j'obtiens une superbe page blanche, et la console de firefox m'indique une erreur générée par le fichier noticedevote.dev (???) :
L’encodage de caractères du document HTML n’a pas été déclaré. Le document sera affiché avec des caractères incorrects pour certaines configurations de navigateur si le document contient des caractères en dehors de la plage US-ASCII. L’encodage de caractères de la page doit être déclaré dans le document ou dans le protocole de transfert.
ce qui me laisse pantois ...
Vu le coté imprévu de la chose, je crois que je vais cesser de perdre du temps avec ce gremlin et noter ce post comme résolu.
Je te remercie beaucoup de ton attention et de tes réponses, j'ai encore appris plusieurs choses grâce à toi et je m'endormirai moins idiot ce soir, ce qui en soi est déjà un salaire honorable.
Bonne continuation, Bruno, et peut être à un jour prochain.
Cordialement,
Roland
Dernière modification par RolandG (Le 11/08/2017, à 14:14)
loup maigre (et vieux ...)
Hors ligne