Erreur 404 à l’installation de Symfony2 sous Ubuntu 11.10

Symfony

Après avoir suivi toutes les étapes d’installation et de paramétrage du serveur Apache nécessaires (et elles sont nombreuses) à l’installation de Symfony2, j’avais obstinément une erreur 404 lorsque je cherchais à faire la configuration de l’application en ligne (étape 2). La barre de débogage, elle aussi, n’était pas accessible. Pas simple de trouver la cause dans ces conditions.

Ce problème se présentait sous Ubuntu (11.10 dans mon cas), mais pas dans une simple installation wamp sous Windows. Tous les bons conseils donnés sur différents blogs ou forums,se résumaient à quelques lieux communs, problème de configuration (non ?!? Je n’y aurais jamais pensé tout seul), activation des permaliens (ah bon ?!? Il faut suivre les conseils d’installation de Fabien ?!?)…

En fait, il ne s’agit pas exactement d’un problème de configuration à proprement parler, mais d’un problème d’installation de PHP. En effet, mon installation de PHP reposait sur le paquet libapache2-mod-php5filter, qui a la fâcheuse tendance à filtrer les requêtes PHP, ce que ne semble pas apprécier ce framework. La solution consiste donc à supprimer ce paquet pour le remplacer par le paquet libapache2-mod-php5 qui permettra de faire fonctionner Symfony2, et de passer à l’étape 2 de la configuration en ligne.

Problème de mises à jour sous Ubuntu

Si vous avez installé, pour vous faire une plate-forme de tests ou d’intégration par exemple, Ubuntu avec un serveur Apache et MySQL. Dans la configuration par défaut, il sera impossible de lancer les mises à jour de WordPress, de ses thèmes et de ses extensions. Il vous demandera une connexion FTP, chose que par défaut, en local, on n’a pas de raison de faire.

L’origine du problème résulte des droits définis par défaut sur le répertoire racine de votre serveur Apache (/var/www). Le propriétaire et groupe sont définis pour root ; le serveur web utilisant le compte www-data, n’a donc pas les accès pour modifier fichiers et répertoires (sauf si vous avez fait la bêtise de mettre les droits en 777 donnant alors accès à tout le monde).

La solution consiste à donner modifier les droits (la propriété des fichiers et répertoires par exemple) à l’utilisateur  www-data. C’est ce que fait la commande ci dessous :

 sudo chown -R www-data /var/www

Vous aurez ainsi accès aux mises à jour automatiques pour votre installation locale.

Sécuriser le fichier wp-config.php

Le fichier possède une extension php, ce qui provoque son exécution lorsque l’on cherche à l’afficher. Cette exécution retourne systématiquement une page blanche lorsque l’on cherche à l’afficher ce qui en soi est déjà une sécurité.

Néanmoins il est possible d’apporter un niveau de sécurité supplémentaire et empêcher tout accès a l’aide d’un fichier .htaccess à la racine dont voici la structure :

<files wp-config.php> 
order allow,deny
deny from all
</files>
1 2