Ah !… les erreurs 500 sur les sites Web…

Les Pages Perso Chez Free

Par Florent Papin, le , dans En cas de problème. / Dernière modification : le par Al (merci à Max P. et LaLibreParole).
Tags : Erreur 500, Tutoriaux

À force de naviguer sur la toile, on finit forcément par tomber sur une « erreur 500 ». Mais qu'est-ce donc que ce machin là ?

Dans la « topologie des erreurs des serveurs », l'erreur 500 correspond à une « erreur interne du serveur. »

Quelles en sont les causes probables ?

Avant de jeter le grief sur le serveur qui vous héberge, vérifiez le point ci-dessous :

Si dans le répertoire ou dans les répertoires de niveau supérieur dans lequel se trouve la page que vous essayez d'afficher se trouve un ou des fichier(s) .htaccess, essayez de le/les renommer temporairement en a.htaccess. Faites tout de même attention aux conséquences de cet acte concernant une éventuelle mise en place de restriction d'accès ou la sécurité de votre compte.

Rechargez la page. Que se passe-t-il ?

Plus d'erreur 500 ? Cela veut donc dire que le problème vient du contenu de votre fichier .htaccess. En effet, toutes les directives (autrement dit les commandes que l'on peut indiquer dans un fichier pour passer des paramètres au logiciel serveur ; ici le fichier est le .htaccess et le serveur est Apache) ne sont pas supportées sur l'architecture des pages perso de Free.

Ainsi, on ne pourra pas :

  • Utiliser le module RewriteEngine ;
  • Modifier la façon dont sont traité les types de fichiers par le serveur (ForceType) ;
  • Modifier les fichiers considérés comme élément d'index par le serveur (DirectoryIndex) ;
  • Modifier la configuration de PHP (php_admin_value,…) ;

Par contre, on pourra :

  • Définir le comportement du serveur en cas d'erreur (ErrorDocument) ;
  • Restreindre l'accès (http://www.free.fr/assistance/954.html). Attention, sur les pages perso de Free, la méthode n'est pas la même que pour un Apache (vous savez, l’indien ;-)) classique. De plus, il ne faut pas indiquer le chemin racine dans la localisation du fichier de mot de passe. C'est forcé à la bonne valeur de chemin racine ;

Plus d'informations sur le fichier .htaccess dans un billet de ce site. Mais je m'égare un peu là…

Toujours une erreur 500 ? Alors, là encore, deux possibilités :

Essayez d'afficher une page HTML toute simple.

Plus d'erreur 500 ? Les pages HTML sont bien traitées par le serveur. Vous n’avez pas d’erreur de configuration dans vos fichiers .htaccess. Il se peut que le problème vienne de votre script PHP ou de l'exécuteur PHP lié au serveur Apache (oui, vous savez, la machine que Yohan a installée pour déporter la charge du frontal web, j'y reviendrai dans un billet « L'architecture des pages perso de Free »… peut-être même avec des schémas :-)). Passez au point suivant (Essayez d'afficher une page php).

Toujours une erreur 500 ? Là, le cas est grave (mais pas désespéré ;-)). Votre compte, voir tout le serveur hébergeant votre compte, présente une erreur interne. Pour vérifier si ça vient du serveur, rendez-vous http://freepp.florid.info/detser.html pour un diagnostic personnalisé.

Essayez d'afficher une page php (info.php par exemple) contenant le code suivant : <?php phpinfo(); ?>. Ce fichier est également disponible à l'adresse de votre serveur web (http://perso000-g0.free.fr/). Pour connaitre cette adresse, suivez les informations présentées sur cette page.

Plus d'erreur 500 ? Alors cela vient probablement de votre script PHP qui génère une erreur et cela se traduit par une erreur interne du serveur. Pour diagnostiquer cela plus finement, il faut forcer l'affichage des erreurs dans le script PHP et faire un debuguage complet…

Toujours une erreur 500 ? Alors cela peut venir du serveur qui vous héberge ou de votre modem. Essayez de redémarrer votre modem et rendez-vous ici http://freepp.florid.info/detser.html pour un diagnostic personnalisé.

Migration de serveur

Une erreur 500 ou 503 (service indisponible) peut également avoir pour origine une migration de compte d'un serveur vers un autre, notamment si l'accès FTP au compte est impossible, mais l'accès à la base SQL possible. Dans ce cas, le délai de retour à une situation normale est de 24h environ.

Vous vous posez légitiment des questions au sujet de ces erreurs 500

Voici un résumé des questions les plus fréquentes :

Sachez que Free héberge les pages perso sur une architecture de serveurs mutualisés (plusieurs dizaines de milliers de compte par serveur). Il se peut donc que des surcharges passagères entrainent de façon occasionnelle ce type d'erreur.

Sachez aussi que, suite à certains comportements (qui sont des abus), les exécuteurs PHP associés au serveur Apache peuvent tomber en rade. Ainsi, vos pages PHP vous retournent une « belle » erreur 500… Un « simple » killall phpX et un /etc/init.d/phpX start permet normalement de relancer « le php » sur l'exécuteur en question (si le problème n'est pas plus profond…). Mais, on ne peut décemment imposer à une personne de surveiller 24h/24 7j/7 l'état des exécuteurs PHP. De même, si on peut monitorer 24h/24 7j/7 l'état des serveurs des pages perso, on ne peut pas automatiser par quelques moyens que ce soit la relance de tel ou tel service d’un serveur, et encore moins d’un serveur (quid des conditions de déclenchement, quid des requêtes en cours, le problème n’est-il pas plus profond ?…) dans le contexte d'un hébergement mutualisé.

Enfin, notez qu'un site est là pour vous aider à suivre l'état de santé des serveurs hébergeant votre compte pages perso (http://freepp.florid.info). Vous pouvez vous rendre http://freepp.florid.info/contenu/sersta/wwwphp/sererr.html pour un accès direct à la page répertoriant les serveurs présentant des anomalies (attention, ça n’est pas forcément le cas. Bin vi, y’a des serveurs qui ne sont pas encore actifs mais déclarés quand même ;-)).

Sachez donc que, lorsque que cela est nécessaire, les corps relancent le ou les services, voir le serveur, présentant un problème mais, qu'en leur absence, le problème peut durer (s’éterniser dirons certains).

Ainsi, pour rappel, ça n'est pas la peine de multiposter sur les différents canaux d'aide pour signaler un tel problème. Ça ne fera pas avancer le schmilblick et ça parasite les autres demandes d'aide en cours. Un seul signalement collectif suffit amplement. Soyez patient et indulgent.

« Non de diou ! Mes visiteurs me harcèlent ! Mon site n'est pas disponible avec ces **45d d'erreur 500. Qu’est-ce que j’y peux moi à c’t’affaire ! »

Si l’erreur 500 persiste (admin absent ou problème plus profond), nous vous invitons à créer une page d'erreur personnalisée qui sera affichée en cas d'erreur 500.

  • Pour se faire, créez, à la racine de votre site si ce n'ai pas déjà fait, un fichier nommé .htaccess. Dans ce fichier, ajouter la ligne suivante : ErrorDocument /erreur500.html

Maintenant, créez aussi à la racine de votre site un fichier nommé erreur500.html. Dans ce fichier, insérez le code suivant :

<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Mon site sur les pages perso de Free - Y'a un ch'ti problème&hellip; (erreur 500)</title>
</head>
<body>
<header>
<hgroup>
<h1>Mon site sur les pages perso de Free</h1>
<h2>Y'a un ch'ti problème&hellip; (erreur 500)</h2>
</hgroup>
</header>
<p>Chez visiteur, la page ou le fichier que vous demandez n'est pas disponible. En effet, le serveur a retourné une erreur 500.<br/>Il se peut que cela soit de ma faute (mauvaise configuration de ma part), ou que le problème vienne du serveur hébergeant mon compte pages perso.</p>
<p>Dans ce dernier cas, pas de panique, ça va revenir. Quand ? telle est la question. Mais pas la peine de s'affoler, les admins sont rapidement au courant de tel problème&hellip;</p>
<p>En espérant vous revoir sur mon site dans de meilleurs conditions.<br/>Vous présentant mes excuses pour ce désagrément.</p>
</body>
</html>

Pour ceux qui le souhaite, ce fichier est disponible au téléchargement (⬇︎ Erreur 500 (ZIP)), à décompresser et modifier sur votre ordinateur personnel avant de le placer sur votre site. Vous pouvez bien sûr améliorer cette page…

Mais surtout, faites une page HTML, pas en PHP. En effet, en cas de plantage de l’exécuteur par exemple, vous auriez alors un message d’erreur vous indiquant qu’une double erreur 500 s’est produite sans plus d’explication. Pas très explicite pour le visiteur.

Comme quoi, des fois, il suffit juste d'un peu de com' ;-)

N.B. : à terme, j'indiquerai les taux de disponibilité globaux et pour chaque serveur des différents services des pages perso de Free… Si ça peut vous "calmer"/rassurer :-)). Rappelons tout de même que le service pages perso de Free est un service gratuit (contrairement à ce qu'on peut entendre ici ou là) et que niveau rapport services proposés/prix, vous ne trouverez pas moins cher ailleurs. Enfin, concernant le taux de disponibilité des différents services ainsi que le taux de fiabilité, ça me semble plus que correct. Suffit juste d'être au courant de tel ou tel problème en cours en fait, non. C'est ce que vous recherchez ? Bon, j'arrête là, je m'égare encore… ;-)

N.B. 2 : Si vous utilisez Piwigo, une erreur 500 est possible lorsque la connexion au service de mise à jour échoue. Une solution temporaire est présentée ici