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 23/08/2015, à 14:54

Jarodd

Apache2 : erreur 404 avec /public_html

Bonjour,

Je viens de changer de disque dur, et j'y ai installé Apache 2.4.7.
J'ai copié tous mes sites dans /var/www, et configuré tous les vhosts (ainsi que /etc/hosts avec tous les alias pointant vers 127.0.0.1).
Tout devrait fonctionner, mais j'ai des 404 sur tous mes sites.

Copie d'un de mes vhosts :

<VirtualHost *:80>
	ServerName monsite.dev
	ServerAlias www.monsite.dev

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/monsite

	ErrorLog  ${APACHE_LOG_DIR}/monsite.dev.error.log
	CustomLog ${APACHE_LOG_DIR}/monsite.dev.access.log combined
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

A priori cela vient d'Apache qui cherche le répertoire public_html dans mon DocumentRoot :
- /var/www/monsite/index.php -> 404
- /var/www/monsite/public_html/index.php -> OK

Or je ne trouve pas où est faite cette configuration avec ce rajout du /public_html.
Une idée ?

Merci pour votre aide.


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#2 Le 23/08/2015, à 15:10

psic

Re : Apache2 : erreur 404 avec /public_html

y'a peut etre un truc a regarder du côté de UserDir doc apache sur userDir

Hors ligne

#3 Le 23/08/2015, à 18:36

Jarodd

Re : Apache2 : erreur 404 avec /public_html

Ok ils ont fait ça pour les systèmes multi-users, mais je suis seul à utiliser mon pc smile

Pour le désactiver, il faut utiliser la config suivante :

UserDir disabled

Mais je ne sais pas dans quel fichier le mettre. Est-ce /etc/apache2/apache2.conf ? Le doc n'est pas très claire...

Edit : on le fait avec a2enmod/a2dismod (apache 2 enable/disable module).
Cependant :

$ sudo a2dismod userdir
Module userdir already disabled

Alors pourquoi cela ne fonctionne pas ?

Dernière modification par Jarodd (Le 23/08/2015, à 18:40)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#4 Le 23/08/2015, à 18:47

jplemoine

Re : Apache2 : erreur 404 avec /public_html

Ça te dit qu'il est déjà désactivé et qu'il ne peut donc pas le désactiver...


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#5 Le 23/08/2015, à 18:49

Jarodd

Re : Apache2 : erreur 404 avec /public_html

Oui ça j'avais compris big_smile

Mais si c'est désactivé, pourquoi il faut le répertoire user pour voir mon site ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#6 Le 23/08/2015, à 18:56

jplemoine

Re : Apache2 : erreur 404 avec /public_html

aucune idée...


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#7 Le 23/08/2015, à 19:06

Jarodd

Re : Apache2 : erreur 404 avec /public_html

Merci pour ton intervention smile


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#8 Le 24/08/2015, à 12:22

psic

Re : Apache2 : erreur 404 avec /public_html

tu peux balancer ce que te dis les logs quand tu accède à /var/www/monsite/index.php ?

et si tu retires ton site  :

sudo a2dissite monsite

est ce que tu as encore accès à /var/www/monsite/public_html/index.php ?

Hors ligne

#9 Le 24/08/2015, à 13:21

Jarodd

Re : Apache2 : erreur 404 avec /public_html

Pour les logs, celui des erreurs est vide. Celui des accès n'a rien d'anormal, juste des lignes d'accès :

127.0.0.1 - - [24/Aug/2015:13:16:50 +0200] "GET / HTTP/1.1" 200 489 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0"

Après un a2dissite, je tombe sur la racine du serveur web, la page « Apache2 Ubuntu Default Page » (la même que celle de http://localhost).
Cela ressemble à un problème de vhost, si cela se produit uniquement quand celui du site est activé ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#10 Le 24/08/2015, à 13:31

psic

Re : Apache2 : erreur 404 avec /public_html

Jarodd a écrit :

Pour les logs, celui des erreurs est vide. Celui des accès n'a rien d'anormal, juste des lignes d'accès :

127.0.0.1 - - [24/Aug/2015:13:16:50 +0200] "GET / HTTP/1.1" [b]200[/b] 489 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0"

Ce qui est étrange c'est que le 200, si je dis pas de bêtise, est le code renvoyé par le GET, c'est à dire OK, alors que tu dis que /var/www/monsite/index.php --> 404.
Est ce que tu as bien installé php et activé dans apache, ça doit être un a2enmod php ?
Pour tester ton vhost, tu peux faire un index.html tout bête pour voir si cela s'affiche.

Jarodd a écrit :

Après un a2dissite, je tombe sur la racine du serveur web, la page « Apache2 Ubuntu Default Page » (la même que celle de http://localhost).
Cela ressemble à un problème de vhost, si cela se produit uniquement quand celui du site est activé ?

ça c'est plutôt normal.

Hors ligne

#11 Le 24/08/2015, à 13:46

jplemoine

Re : Apache2 : erreur 404 avec /public_html

Il n'y aurais pas 2 virtual hosts qui écoute sur le port 80 ?


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#12 Le 24/08/2015, à 13:46

Jarodd

Re : Apache2 : erreur 404 avec /public_html

Désolé je me suis effectivement emmêlé les pinceaux pendant mes multiples tests.
Le code 200 c'est quand je teste avec le DocumentRoot avec "public_html".
Sans lui (avec le DocumentRoot /var/www/monsite/index.php), j'ai ceci :

127.0.0.1 - - [24/Aug/2015:13:41:43 +0200] "GET / HTTP/1.1" 404 488 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0"

J'ai vérifié le module :

$ a2enmod php5 
Module php5 already enabled

J'ai mis des fichiers index dans /var/www/monsite/ et /var/www/monsite/public_html pour voir lequel était affiché.
Seulement quand j'ajoute la directive :

DirectoryIndex index.php index.htm index.hmml

Je tombe cette fois sur une erreur 503 (service unavailable). Erreur qui disparaît quand je commente cette ligne (je retrouve la 200 dans monsite/public_html/ et la 404 dans monsite/).


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#13 Le 24/08/2015, à 14:23

psic

Re : Apache2 : erreur 404 avec /public_html

y'a quoi dans ton /etc/apache2/site-enabled/ ?

Hors ligne

#14 Le 24/08/2015, à 14:44

Jarodd

Re : Apache2 : erreur 404 avec /public_html

ls -al :

drwxr-xr-x 2 root root 4096 août  24 13:19 .
drwxr-xr-x 8 root root 4096 août  23 21:57 ..
lrwxrwxrwx 1 root root   35 août  23 21:57 000-default.conf -> ../sites-available/000-default.conf
lrwxrwxrwx 1 root root   33 août  24 13:19 monsite.conf -> ../sites-available/monsite.conf

Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#15 Le 24/08/2015, à 14:46

psic

Re : Apache2 : erreur 404 avec /public_html

tu peux regarder ce qu'il y a dans 000-default.conf , mais ça m'etonnerait pas que si tu fait un

a2dissite 000-default

tout rentre dans l'ordre!

Hors ligne

#16 Le 24/08/2015, à 15:02

Jarodd

Re : Apache2 : erreur 404 avec /public_html

Le contenu du 000-default.conf :

<VirtualHost *:80>
	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
	#ServerName www.example.com

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Si on enlève les lignes commentées, il reste le vhost que j'ai mis en #1 smile

Effectivement ça fonctionne... Mais pourquoi ?

Edit : je l'ai réactivé et ça fonctionne toujours ! Je ne comprends pas... Il y a un système de cache des configs ?

Dernière modification par Jarodd (Le 24/08/2015, à 15:03)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne