Deploiement d'une appli rails sur le net

Bonjour à tous,

J’ai une application rails qui tourne en local sur ma machine et je
désire mettre en ligne cette application.
Je dispose pour cela d’un serveur web nommé herd atteignable à
l’adresse herd.ida.liu.se
Je souhaite donc mettre mon appli rails sur ce serveur.

J’ai installé tout ce qu’il faut sur le serveur : ruby, rails,
apache2, mongrel, mongrel_cluster.
J’ai pareil sur ma machine locale avec capistrano en plus pour
deployer l’appli.

Lorsque j’execute un cap deploy sur ma machine locale ca s’execute
correctement. Il va cherché la derniere version de l’appli sur le
depot svn et mets les sources sur le serveur dans /var/www/
Ca lance egalement deux serveurs Mongrel sur le port 8000 et 8001.

Je vous poste ci dessus un fichier que j’ai créé et placé dans le
repertoire sites-available d’apachesur le serveur. C’est un
VirtualHost. Je l’ai également
activé.
<VirtualHost *>
ServerName herd.ida.liu.se
DocumentRoot /var/www/CoreSong/current/public

<Directory “/var/www/CoreSong/current/public”>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

<Proxy balancer://mongrel_cluster>
BalancerMember http://127.0.0.1:8000
BalancerMember http://127.0.0.1:8001
BalancerMember http://127.0.0.1:8002
Allow from localhost

RewriteEngine On

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
RewriteRule (.*) $1 [L]

ProxyPass / balancer://mongrel_cluster/
ProxyPassReverse / balancer://mongrel_cluster/

Deflate

AddOutputFilterByType DEFLATE text/html text/plain text/xml
application/xml application/xhtml+xml text/javascript text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

ErrorLog /var/log/apache2/error.coresong.log
CustomLog /var/log/apache2/access.coresong.log combined

Voici le contenu de mon fichier deploy.rb :

require ‘mongrel_cluster/recipes’

set :user, “root”
set :application, “CoreSong”
set :repository, “https://herd.ida.liu.se/svn/hcs/CoreSong

If you aren’t deploying to /u/apps/#{application} on the target

servers (which is the default), you can specify the actual location

via the :deploy_to variable:

set :deploy_to, “/var/www/#{application}”

If you aren’t using Subversion to manage your source code, specify

your SCM below:

set :scm, :subversion
set :deploy_via, :export
set :use_sudo, false

ssh_options[:port] = 22

role :app, “herd.ida.liu.se”
role :web, “herd.ida.liu.se”
role :db, “herd.ida.liu.se”, :primary => true

set :svn_username, “s08nicma”
set :svn_password, “xxxxxx”

set :mongrel_conf, “#{deploy_to}/current/config/mongrel_cluster.yml”
set :runner, “root”

Et voici le contenu de mongrel_cluster.yml :

cwd: /var/www/CoreSong/current
log_file: log/mongrel.log
port: “8000”
environment: production
address: 127.0.0.1
pid_file: /var/www/CoreSong/shared/pids/mongrel.pid
servers: 2

Cette configuration est-elle bonne dans le but d’avoir l’appli sur
Internet ou bien ai-je oublié quelque chose ?
Si c’est bon, quelle est l’URL me permettant de lancer l’appli depuis
n’importe quelle machine ?

Je suis désolé si ces questions peuvent paraitre betes mais je suis un
débutant total en ruby et ruby on rails. J’ai essayé de suivre des
tutos sur le net jusqu’à présent mais là sur la fin je suis un peu
perdu.

Merci par avance de votre aide ! :slight_smile:

Nicolas

2008/5/15 nico10gbb [email protected]:

J’ai pareil sur ma machine locale avec capistrano en plus pour
<VirtualHost *>
<Proxy balancer://mongrel_cluster>

ErrorLog /var/log/apache2/error.coresong.log

set :runner, “root”

Merci par avance de votre aide ! :slight_smile:

A première vu c’est bon. Pour l’URL qu’il faut regarder de l’extérieur
c’est http://herd.ida.liu.se/ l’adresse que tu as donnée dans ton
virtualhost, vu que c’est lui qui est en frontal.


Cyril M.