Un site en Ruby on Rails sur les hébergements mutualisés d'OVH
Développement et ergonomie
Par djib le lundi 27 août 2007, 22:30 - Lien permanent
J'ai décidé de me lancer dans l'aventure de faire tourner un site Ruby on Rails sur mon hébergement mutualisé gp60 chez OVH. Enfin ce n'est pas vraiment une aventure puisque c'est les Guides OVH qui m'ont guidés dans cette affaire.
Pour ceux qui ne connaissent pas, Ruby on Rails est un excellent framework de développement d'applications Web. Je pense que tout développeur d'applications internet et de sites internet se doit de jeter un coup d'œil à cette merveille.
Bref, seulement voilà j'ai eu quelques petits soucis à l'installation donc je tiens à retracer mes étapes ici. J'espère qu'elles vous guideront vers le même succès que moi.
- Tout d'abord j'ai créé un sous-domaine dans mon administration OVH. Je trouve ça plus propre que d'avoir un sous-répertoire dans
wwwcomme le suggère le guide. En plus mon sous-domaine pointe vers/monapplication/public/ce qui protège les autres fichiers (/monapplicationn'est pas directement accessible par le web, et ce sans avoir besoin de.htaccess). - J'ai ensuite copié le contenu de mon application dans
/monapplication. - J'ai ensuite adapté mon fichier
database.yml(et bien sûr j'ai importé mes données dans la base MySQL de mon compte). - Je pensais que cela suffirait mais tristement j'ai obtenu une erreur 500 :
Rails application failed to start properly
Pour corriger le problème j'ai simplement modifié mon dispatch.cgi pour que #!/usr/local/bin/ruby soit la première ligne.
- Si vous avez toujours erreur 500,
Rails application failed to start properly
rendez-vous sur ce site en anglais qui vous donnera sûrement d'autres idées.
- Après ces manipulations le site fonctionnait à peu près, mais je n'avais pas les feuilles de style, les images et tout le tintouin. C'est en fait que tous les liens relatifs étaient faux. J'ai résolu le problème en forçant la valeur de
RAILS_RELATIVE_URL_ROOTavec la ligne suivante, ajoutée tout en bas deconfig/environment.rb:
ENV['RAILS_RELATIVE_URL_ROOT'] = ""
- Enfin, j'ai forcé l'utilisation de l'environnement de production en enlevant le commentaire devant la ligne :
ENV['RAILS_ENV'] = 'production'
dans les premières lignes du fichier config/environment.rb.
Voilà, merci à OVH car après quelques gouttes de sueur, j'ai une application Ruby On Rails qui tourne à merveille sur mon serveur. On peut lui reprocher certaines lenteurs (à cause de CGI) mais ce n'est pas vraiment un problème pour une petite application perso.
J'espère que ce petit tutoriel vous aura aidé. Bon courage !



Commentaires
Ouais RoR sur les mutu d'OVH c'est encore en test, ils ont de grosses lenteurs qu'il tente de corriger.
En tout cas c'est cool de pouvoir mettre ses appli RoR en ligne
Peut-être qu'avec fast CGI (FCGI) ça irait plus vite mais je n'ai pas réussi à le configurer. En tous les cas comme tu dis Damien, c'est vraiment sympa.
Hello, pourrais-tu mettre un lien vers cette app? Afin de voir les performances...
Avant j'étais sur un mutualisé chez Servage (USA) pour Rails, en FastCGI, mais c'était trop lent. Je suis maintenant sur un dédié ovh avec mongrel...
Désolé aurels, je ne peux pas partager cette application. C'est une application privée.
Elle est assez lente (à peu près le temps de chargement de l'application dans un
script/consoleà chaque changement d'écran). Ce n'est donc pas utilisable pour une application en production, mais ça dépanne.Merci pour le tuyau, j'suis en dédié chez OVH, j'vais donc tenter l'experience, je ne comprends pas pourquoi tous les hebergeurs mettent un temps fou à proposer Rails en standard, parceque franchement quand on a gouté a Ruby et Rails, on se demande comment on faisait avec PHP
Ouh que oui !
Je suis en train de tester l'installation de ruby sous OVH et de gems personnalisées.
Je suis en train de découvrir les possibilités sous OVH en mutualisé, et ça semble intéressant.
Mais qu'en est-il des questions de vitesse, soulevés dans les commentaires, qui ont déjà 3 ans d'âge ? Est-ce que la performance a été améliorée depuis le temps ?
Merci
Daniel, voilà quelques années que je n'ai pas fait du Ruby chez OVH, mais si le principe de fonctionnement passe toujours par des scripts CGI, je pense que les problèmes de performance risquent d'être toujours là. En effet, avec un script CGI, l'ensemble de l'environnement Rails doit démarrer à chaque appel de page…