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 !
Nicolas