Bonjour à tous,
J’ai créé ma première application en Rails, mais je me pose des
questions sur le déploiement de l’application en ligne.
J’ai entendu parler de Capistrano mais j’ai du mal à comprendre comment
ça fonctionne en pratique. N’est-il pas possible de mettre un site Rails
en ligne avec un simple serveur FTP?
J’ai également un autre souci, mon application fonctionne en local avec
Mongrel mais le serveur où le site sera hébergé fonctionne avec Fcgi.
Que dois-je adapter pour que ça fonctionne?
C’est une application qui fonctionne avec une partie « admin »
développée grâce à restful_authentication. Je voudrais m’assurer que
toutes les données reprises dans cette partie sont bien protégées.
L’accès à l’espace « admin » est naturellement avec un login et mot de
passe mais comment puis-je protéger mes bases de données Sql ?
Merci à tous !
Le mieux est d’utiliser Capistrano, car ce n’est pas un site statique
que tu peux simplement copier avec FTP. Il ya plusieurs etapes
indispensables pour deployer ton application: copier le code, migrer
ta BDD, redemarrer ton serveur FCGI, etc.
Capistrano peut faire tout ca pour toi. Chaque etape correspond a une
“recette” (recipe) dans Capistrano. Pour FCGI, tu devras simplement
trouver la bonne recette pour redemarrer FCGI.
A la base, Capistrano marche en se connectant par SSH sur ton serveur.
Cyrille
Ou git, aussi. C’est 100 fois plus simple à mettre en place (Jamais
réussi à utiliser ni Vlad, ni Capistrano)
Othmane.
Perso, je déploie mon appli en ftp.Je reconnais que ce n’est pas
forcément ce qu’il y a de plus professionnel mais ça fonctionne. Il
faut simplement penser à faire tes rake db:migrate
RAILS_ENV=production quand c’est nécessaire et pour les mises à jour
il ne faut pas oublier de fichiers lors du transfert.
C’est vrai que Capistrano fait ça pour toi.
Pour l’adaptation de to fcgi, demande à ton hébergeur s’il a de la doc
sur les modif à faire (fichiers dispatch.fcgi at .httaccess). Le mien
(alwaysdata.com) en fourni une qui est bien (fichiers dispatch.fcgi
at .httaccess)
Voici le “pense bête” que je m’étais fait après mon premier
déploiement.
1- modififier le fichier dispatch.fcgi comme indiqué sur la doc
alwaysdata
2- modifier le fichier .htaccess comme indiqué sur la doc alwaysdata
3- modifier le fichier database.yml
Partie production (avec notamment le nom du serveur)
4- transférer tous le répertoire cvouslechef (ne pas oublier les
fichiers à la racine “rakefile”)
4-créer la base cvouslechef_production
5- se connecter en ssh via alwaysdata
6- lancer la migration rake db:migrate RAILS_ENV=production
ATTENTION !!! Le fichier environnement.rb ne doit pas être
retransférer à moins de “décommenter” la ligne
ENV[‘RAILS_ENV’] ||= ‘production’
Concernant ta question sur la protection des bases de données mySQL,
tu indiques dans le fichier database.yml, les paramètres de connexion
à tes bases
Nicolas
Merci à tous pour vos réponses,
Je vais faire le déploiement avec Capistrano qui me paraît le plus
adapté et le plus complet.
Par contre pour la connexion au serveur en ssh, comment procède-t’on?
on donne le nom d’utilisateur et le mot de passe :
set :user, “bidulle”
set :password, “gloups”
et le serveur :
role :app, “monserveur_app”
role :web, “monserveur_web”
role :db, “monserveur_db”, :primary => true
2008/7/7 san 1981 [email protected]:
Capistrano peut utiliser git.
De plus git n’est pas un outils de déploiement.
2008/7/5 Rhyhann [email protected]:
bonjour à tous,
voilà j’ai commencé la déploiement de mon site mais j’ai une question
concernant le fichier .htaccess. Mon hébergeur me dit que ce fichier
n’est pas nécessaire. Comme il s’agit de ma 1ere application, je
pensais que .htaccess me permettrait justement de protéger ma partie
administration qui sera disponible online directement avec un login et
password mais comme tout le site est géré via cet espace admin, le
fichier htaccess est nécessaire non?
De plus, le site sera accessible via https://, je pensais utiliser le
plugin ssl_requirement mais l’hébergeur me signale qu’ils ont fait le
nécessaire pour que toute adresse http:// soit redirigée automatiquement
vers https://. Est-ce que cette redirection assure la protection des
données fournies par les utilisateurs dans mes formulaires?
Merci à tous pour votre aide,