Votre application Symfony 2 fonctionne à merveille chez vous. Tout va dans le meilleur des mondes. On passe au déploiement et là : c’est le drame.
Si, vous aussi, vous avez connu ce genre de scenario sur un serveur mutualisé OVH, vous êtes au bon endroit.
Voici une procédure toute simple pour faire fonctionner le tout sans avoir à passer systématiquement par le répertoire /web.
Etape 1 : vérifiez que votre application web est prête
Attention aux fichiers CSS et Javascript générés par l’app : ils doivent être accessibles à la racine de l’app.
Etape 2 : installer l’application
Copiez le contenu de votre application web à la racine du site.
Mettez les droits en 755. Au besoin, mettez les droits de /app/cache à 777.
Pensez à vider le répertoire de cache.
Etape 3 : .htaccess à la racine du site
Voici un exemple de fichier .htaccess qui fonctionne :
SetEnv SHORT_OPEN_TAGS 0 SetEnv REGISTER_GLOBALS 0 SetEnv MAGIC_QUOTES 0 SetEnv SESSION_AUTOSTART 0 SetEnv ZEND_OPTIMIZER 1 SetEnv PHP_VER 5_3 AddType x-mapp-php5 .php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ web/app.php [QSA,L] |
Etape 4 : .htaccess dans le répertoire web
Un autre fichier .htaccess doit être créé, mais dans le répertoire /web :
SetEnv SHORT_OPEN_TAGS 0 SetEnv REGISTER_GLOBALS 0 SetEnv MAGIC_QUOTES 0 SetEnv SESSION_AUTOSTART 0 SetEnv ZEND_OPTIMIZER 1 SetEnv PHP_VER 5_3 AddType x-mapp-php5 .php RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] |
Etape 5 : testez
Normalement, tout est en place. Vous pouvez accéder à votre site depuis la racine.
