Symfony sur OVH pourquoi faire simple quand on peut faire compliqué

Juil 17, 07 Symfony sur OVH pourquoi faire simple quand on peut faire compliqué

Il y a quelques temps je vous avais indiqué comment installer Symfony sur OVH , mais voilà je me suis laissé influencer par la documentation officielle (Installing Symfony on OVH) , en réalité c’est beaucoup plus simple car contrairement à ce qui avait été dit, il est (au moins aujourd’hui) possible de faire pointer les domaines sur le dossier /web/.

Cependant il est toujours impossible de faire rediriger le nom de domaine principal, où se situe l’hébergement, vers un autre dossier que /www/. Il faut alors l’installer sur un nom de domaine inutile ou qui sera utilisé en dehors de Symfony.

S’ajoute aussi une nouveauté au niveau du fichier .htaccess, pour pallier un problème étonnant d’url rewriting (les urls s’ajoutent les unes aux autres à chaque clic sur les liens).

Uploader un fichier /config/php.yml avec comme configuration PHP

Encore plus fort, l’ajout du fichier php.yml n’est pas obligatoire sous PHP5.

check:  magic_quotes_gpc:        on
register_globals:            on

Hack OVH pour Symfony simplifié

Voici donc que le terrible hack OVH sous Symfony résumé en cet unique fichier .htaccess :

SetEnv PHP_VER 5
Options +FollowSymLinks +ExecCGI 

<IfModule mod_gzip.c>
mod_gzip_on Off
</IfModule> 

<IfModule mod_rewrite.c>   

RewriteEngine On   

# Permettre a IE de reconnaitre le win_png.htc de retraitement des png transparents
#AddType text/x-component .htc   

#RewriteBase /~votredossierbase/   

# we skip all files with .something
RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} !\.php
RewriteRule .* - [L]   # we check if the .html version is here (caching)   

# RewriteRule ^$ index.html [QSA] # Suppression du "/" pour un sous-dossier
RewriteRule ^$ /index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f   

# no, so we redirect to our front web controller
# RewriteRule ^(.*)$ index.html [QSA] # Suppression du "/" pour un sous-dossier
RewriteRule ^(.*)$ /index.php [QSA,L]   # hidden frontoffice controller
# RewriteRule ^(.*)$ index.html [QSA] # Suppression du "/" pour un sous-dossier
RewriteRule ^index\.php/(.*)$ /index.php [QSA,L] 

</IfModule>
# big crash from our front web controller
ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly"

[Edit] Suite aux remarques des commentateurs, voici le htaccess sur plusieurs lignes, c’est plus efficace 🙂
Par ailleurs, voici le fichier texte htaccess-ovh.txt à renommer en « .htaccess ».

Vous remarquerez les #, qui indique un commentaire, lorsqu’ils sont sur des lignes de codes, c’est que ce sont des alternatives possibles selon les configurations.

A noter que depuis le temps il est possible qu’il y ait d’autres solutions meilleures, je suis preneurs 😉

Modifier la redirection de domaine sous OVH

Bien entendu il faut faire les redirections vers le dossier /web/ plutôt que vers le dossier /www/ par défaut.

Dans votre manager OVH dans la rubrique hébergement/multi-domaine à l’action création.

Symfony sur OVH

  1. Dans Multi-domaine : Ajout du nom du domaine à prendre en compte
  2. Sous-Domaine cible : Sélectionner [ nouveau ]
  3. Dossier cible : remplacer www/ par web/
  4. Créer le sous-domaine www. : Cocher la case
  5. Sélectionner un pays : Hébergement sur une IP française pour un futur site à destination Française, IP anglaise pour un public anglais…
  6. Valider

Cela reste un blog de référencement

Ouf, j’ai une excuse, voilà que je vous apprends qu’OVH est capable de géolocaliser une IP en fonction de chaque nom de domaine. C’est très pratique pour améliorer le référencement par exemple d’un site anglais se situant sur OVH (dont les serveurs sont à priori d’abord français).

Par contre cela reste limité aux IP Françaises, Anglaises, Allemandes, Espagnoles et Polonaise.

7 Comments

  1. grosbedos /

    Bonjour

    Merci beaucoup!

    J'ai fait un freeze du projet, upper les rep qui fallait, modif du .htaccess.

    Cela marche niquel!

  2. Bonjour Grosbedos,

    Pas de quoi 😀

    D'ailleurs, je viens de remarquer une nouveauté sur mon installation sur OVH, qui permet maintenant de faire pointer le nom de domaine principal (où se situe l'hébergement) vers un autre dossier.

    Cependant, j'ai contacté la SAV, elle ma déconseillé de l'utiliser, car ce n'est pas une utilisation normale 😀
    Donc à tenter, mais à ses risques et périls 😀

  3. Stephane /

    salut,

    dans ton article, le fichier .htaccess est écrit sur une seule ligne, embêtant quand le caractère # est utilisé, on ne sait pas toujours où commence la ligne, est-ce possible de voir une version de ce fichier indenté correctement ?

    J'essaye d'installer un site en symfony sous ovh et j'ai toujours une erreur 500 🙁

    Stéphane

  4. Thierry B. /

    Même remarque que stéphane, et en plus impossible d'accéder à l'intégralité de ta ligne .htaccess

  5. Thierry B. /

    A priori sur un 60GP on peut faire aussi pointer un sous-domaine vers /web/ au lieu de /www/

  6. Merci pour cette explication qui évite beaucoup de perte de temps !

    Juste une question : quelle est l’offre d’hébergement mutualisé chez OVH qui permet l’utilisation de symfony ?

    Je n’ai vu que des offres qui ne comportait même pas le module PDO…

  7. Ca serait cool d’avoir les explications pour faire la même chose sur un serveur OVH équipé de nginx

Répondre à Thierry B. Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *