Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

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.

#1 Le 06/08/2017, à 23: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, à 15:21)

Hors ligne

#2 Le 07/08/2017, à 08:46

kholo

Re : [résolu] index.php pas reconnu par défaut dans mon lamp

Hors ligne

#3 Le 07/08/2017, à 13:55

RolandG

Re : [résolu] index.php pas reconnu par défaut dans mon lamp

Bonjour Kholo,

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

Hors ligne

#4 Le 07/08/2017, à 15: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, à 11: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 smile)
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

Hors ligne

#6 Le 10/08/2017, à 11: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

Tamarou a écrit :

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_apache2

Pour 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, à 13: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);

Hors ligne

#8 Le 10/08/2017, à 13: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, à 08: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 smile ). 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, à 08:55)

Hors ligne

#10 Le 11/08/2017, à 08: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, à 08:29)

Hors ligne

#11 Le 11/08/2017, à 15: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, à 15:14)

Hors ligne