Ruby, mysql et hébergement
MAGE
Membre
ça fait quatre jours que je me bat avec mon mac et mon hébergeur pour faire tourner du RoR.
Avant, j'ai fait quelques test chez AllwaysData. L'avantage, c'est qu'il y a un serveur de développement directement en ssh. Mais les 10Mo gratuits n'ont pas suffit pour finir mes tests.
J'ai trouvé DreamHost qui fait du Ruby et qui avait l'avantage de pouvoir héberger tous mes domaines pour un même forfait. Mais, c'est la que les soucis commencent : Possibilité uniquement de mettre des applis en production. Il fait que je fasse le dev sur le mac.
Je me dis qu'il faut que j'aie une base de données mysql pour que la transition soit aisée. Mais si j'ai pas de probème à créer une appli en Ruby (normal, c'est déjà tout prêt dans Mac Os X),c'est la galère pour faire une appli avec du mysql. Les infos disponibles sur le net sont souvent contradictoires et ne m'ont pas aidé (parfois passant par Passenger, MacPort, etc).. Bref, j'en suis arrivé à faire tellement n'importe quoi que j'ai du réinstaller plusieurs fois mon Mac et je me demande si c'est pas DreamHost la mauvaise idée ou si je suis juste incompétant ?
Avant, j'ai fait quelques test chez AllwaysData. L'avantage, c'est qu'il y a un serveur de développement directement en ssh. Mais les 10Mo gratuits n'ont pas suffit pour finir mes tests.
J'ai trouvé DreamHost qui fait du Ruby et qui avait l'avantage de pouvoir héberger tous mes domaines pour un même forfait. Mais, c'est la que les soucis commencent : Possibilité uniquement de mettre des applis en production. Il fait que je fasse le dev sur le mac.
Je me dis qu'il faut que j'aie une base de données mysql pour que la transition soit aisée. Mais si j'ai pas de probème à créer une appli en Ruby (normal, c'est déjà tout prêt dans Mac Os X),c'est la galère pour faire une appli avec du mysql. Les infos disponibles sur le net sont souvent contradictoires et ne m'ont pas aidé (parfois passant par Passenger, MacPort, etc).. Bref, j'en suis arrivé à faire tellement n'importe quoi que j'ai du réinstaller plusieurs fois mon Mac et je me demande si c'est pas DreamHost la mauvaise idée ou si je suis juste incompétant ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
1) Partie hébergeur :
Mon hébergeur dont je suis très satisfait est : http://www.webfaction.com
Tu peux y mettre X sites que ce soit du ROR, du PHP, du python, du wordpress...etc.
Chaque site a son propre répertoire. C'est très clean comme installation.
Ils ont une vidéo de démo de leur administration AJAX.
Accès SSH.
Bases en MySQL, SQLite ou PostgreSQL..
Ils sont pas très chers (je paie dans les 12€/mois)
Je crois qu'ils font 30 jours satisfaits ou remboursés.
Le support est efficace.
2) Partie Local sur ton mac
Personnellement, j'évite MacPort (d'autres adorent).
Ce tutorial m'a l'air pas mal :
http://www.icoretech.org/2009/08/install-mysql-and-mysql-ruby-gem-on-snow-leopard-64-bit/
3 ) Conseils
Evite de développer directement sur le serveur !
Rails est fait pour ça, tu as un fichier de config avec tes identifiants BDD pour le mode dev, test et prod. :-)
Sinon, la dernière version stable de Rails est la 2.3.5, moi je suis resté en 2.1 pour des compatibilités de plugins.
La 3.0 est en train d'arriver avec plein de nouveautés.
1- J'avais vu ton commentaire sur webfaction, mais je trouvais un peu chero
2- Je vais suivre tes conseils avisés comme toujours et laisser Macport.
3- si tout fonctionne bien en sqlite sur mon Mac, je peux donc passer en mysql uniquement en mode production ? ça risque pas de coincer au niveau des configurations ? Mon hébergeur utilise Passenger, dois-je l'utiliser aussi ?
2) Tu peux sans problème utiliser SQLite en local et MySQL en prod, mais bon, autant tout faire en MySQL non (ne serait-ce que pour copier la structure des tables si tu ne passes pas par les outils de migration de Rails)
3) Je suis sous Mongrel en local, et c'est le pied. Tu as aussi nginx si tu veux. Passenger, pourquoi pas, mais encore une fois tu n'es pas obligé de faire comme ton hébergeur en local.
Alors moi je suis chez Dédibox.
C'est pas le plus économique mais vu que mon appli était avant tout dans le but que j'apprenne un compte root semblait le plus pédagogique. J'ai fais plein de recherche là dessus demain je te retrouves tous les liens les plus utiles que j'avais trouvé.
Pas de soucis a passer de SQLite a MySql en prod c'est ce que j'ai fais.
Passenger j'ai eu de super retour dessus
J'utilise Passenger pour faire tourner mon "redmine", et franchement c'est le truc le plus simple pour faire tourner du rails en prod sans se casser la tête (vu qu'il n'y a absolument rien à configurer à part le chargement du module apache/nginx).
Merci, il semble que tout fonctionne en local... enfin !
Maintenant je profite de poser encore une petite question pour aller plus loin :
Si j'ai un hébergeur (dans mon cas il utilise Passenger), je modifie mon fichier database.yml en fonction de la nouvelle base mysql et que j'upload le projet, est-ce que cela devrait suffire ? Parce que ça fonctionne pas avec mon hébergeur >:(
Je vais contacter leur helpdesk, mais je vous pose la question avant
Avec l'option gratuite sur alwaysdata, je vais pouvoir déployer mon petit site.
Comme je le disais, mes autres tests sur Dreamhost sont pas très concluants et je pense que je vais me désinscrire. Bon, à vrai dire sur ma machine personnelle aussi j'ai de multiples erreurs.. Peut-être vais-je suivre les conseils de Muqaddar et tester Webfaction..
Pour les images tu les héberges sur un site et tu pointes sur l'url. Dans ces conditions 10 Mo ca suffit pour un site d'informations ou un site personnelle, non ?
Si un jour tu vois un fichier HTML de 1Mo, c'est que tu as un super mega gros problème de conception (tu imagines le navigateur du client devoir attendre qu'il telecharge 1Mo de données ?) alors en plus vu que tu fais du PHP ou du Ruby ou autre, c'est beaucoup moins. En plus il me semble que Ruby utilise pas mal le MVC dans la conception de site avec le framework Rails, ce qui réduit d'autant la taille des fichiers.
De même 1Mo de JS, même avec un gros framework, c'est qu'il y a un gros souci sur ton site (et qu'il est grand temps, en plus de revoir la conception de ton appli, de passer un coup de compresseur de code JS !!)
Par contre tous les assets à côté, que ce soit les images, les vidéos, la base de données et son contenu, etc. C'est évidemment ça qui prend de la place. Comme dans une appli iPhone d'ailleurs. Et là les ressources sont volumineuses voire certaines peuvent tourner autour de 1MO chacune oui, alors tout cumulé on dépasse vite la limite. Tout dépend du contenu que tu présentes et donc des assets[/b] qu'il te sera nécessaire d'héberger...
J'parie à 10 contre 1 que c'est tes fichiers de log.
Ca grossis plus vite que les dindes de Noël ces petites bêtes
J'ai recontrôlé :
6 Mo pour les fichiers du site avec les logs
14M pour les gems. Json par exemple prend plus de 3 Mo tout seul. C'est visiblement la doc qui est très volumineuse (2.7 Mo)
gems ! c'est quoi ca ?
[mode explication de débutant en ruby]
J'utiliserais plutôt le terme à de la gestion de Framework et en faite gems tu peux comparer ça à un [Mode Ubuntu]Synaptic[/Mode Ubuntu] pour les Framework
[/mode explication de débutant en ruby]
Fin moi la comparaison avec Synaptic mais venu tout de suite
A la différence d'un plugin, les gems fonctionnent avec toutes les applications de la machine par défaut, alors que les plugins il faut les copier dans le répertoire "plugins" de chaque projet RoR.
Par exemple :
Le problème est à présent que je suis incapable de faire tourner Rails 3 sur Dreamhost. (Aucun problème en local par contre). Donc je me repose la question de changer de fournisseur.
Ainsi est-ce que muqaddar est toujours satisfait de webfaction ?
En suivant les infos de ci et de là , Heroku remporte pas mal de suffrage, malgré un prix élevé en fonction de l'utilisation
Je suis tombé sur hostingrails qui propose une action en ce moment.
Autre option qui serait devrait alors trouver une autre source de financement, macminicolo
Je me rends compte que c'est la plus grande difficulté avec Rails, l'hébergement !
J'ai toujours une dizaine de sites chez webfaction, et ça tourne plutôt bien.
Essaie chez eux : ils te remboursent sur 60 jours si t'es pas content.
J'ai essayé hosting rails avant mais je trouvais leur admin moins simple...
Oui, sauf qu'il faut tout de même acheter un nouveau nom de domaine en attendant de transférer l'autre si jamais c'est définitif.
Quand t'ouvres un compte, même si tu fais pointer aucun nom de domaine, tu as ton nom de user par défaut:
mage.wefactional.com pour tester ton site.
Pour rails 3.0, ils t'installent direct le dossier rails (nginx, ruby 1.8.7 enterprise edition et rails) dans un répertoire. T'as plus qu'à mettre tes fichiers et redémmarer le serveur avec bin/restart.
Si t'as des soucis, ça viendra de plugins ou gem...
je vais tester alors. Et je donnerai mon avis dans quelques temps.
Si j'ai bien compris, ils ne s'occupent pas de l'enregistrement du nom de domaine. Puis-je demander également un conseil de ce côté là ?
Merci, je saurai m'en souvenir /wink.png' class='bbc_emoticon' alt=';)' />
Vu que Webfaction ne s'occupe pas des nom de domaines, quel service utilises-tu ou conseilles-tu ?
nb : je ne reçois plus d'avertissement lors de l'ajout d'un nouveau post alors qu'il est indiqué que je suis le sujet.
Ensuite je fais pointer sur WebFaction (ns1.webfaction.com, ns2.webfaction.com...etc)
Si tu ne reçois plus d'avertissement, ça vient sûrement de ta config smtp ou sendmail (si tu parles de ça).
nb : je parle de recevoir un mail lorsqu'un nouveau post est ajouté au fil de discussion. Il me semble que c'est bien activé dans mes notifications et je n'ai pas changé d'adresse mail...