Kategorier



Tags

Velkommen til aarhus.rb      

aarhus.rb er en Ruby User Group for Århus og omegn.
Mailingliste aarhusrb@googlegroups.com, tilmeld dig her

Møde hos Lenio 4. juni 2007 kl. 16-18

May 7th, 2007 |

Agenda

Det var Jægergårdsgade 122, 1., kl. 16-18, og der var gode belgiske og danske øl til de fremmødte.

Installation og deployment af Rails-applikation

Indlæg holdt af Jørgen Bang Erichsen fra Lenio.

Her er mine noter fra mit indlæg om installation af Rails-stakken og en Rails-applikation på en Linux-server vha. deprec og capistrano.

Jeg har købt mig en virtuel Linux-server (en VPS) hos Slicehost.com. Det koster 20$ om måneden for en maskine med 256 MB ram, 10 GB disk og 100 GB traffik.

I det følgende beskriver jeg, hvordan man på en nyinstalleret Ubuntu-server får installeret Ruby, Rubygems, Rails, Mongrel, Apache, MySQL og Subversion. Efter dette deployes applikationen med capistrano.

Installer deprec på udviklermaskinen - http://www.deprec.org/

sudo gem install deprec -y

Lav eksempel-Rails-applikation

cd /tmp
rails deprecdemo
cd deprecdemo

Kør deprec på applikationen - 208.75.87.194 er IP-adressen på serveren

deprec --apply-to . --name deprecdemo --domain 208.75.87.194

Rediger config/deploy.rb

Apache-afsnit - Apache fungerer som en frontend til de to Mongrels, der kommertil at køre på maskinen

# =============================================================================
# APACHE OPTIONS
# =============================================================================
set :apache_server_name, domain
# set :apache_server_aliases, %w{alias1 alias2}
# set :apache_default_vhost, true # force use of apache_default_vhost_config
# set :apache_default_vhost_conf, "/usr/local/apache2/conf/default.conf"
set :apache_conf, "/usr/local/apache2/conf/apps/#{application}.conf"
set :apache_ctl, "/etc/init.d/httpd"
set :apache_proxy_port, 8000
set :apache_proxy_servers, 2
set :apache_proxy_address, "127.0.0.1"
# set :apache_ssl_enabled, false
# set :apache_ssl_ip, "127.0.0.1"
# set :apache_ssl_forward_all, false
# set :apache_ssl_chainfile, false

Mongrel-afsnit - de to Mongrels skal køre på de porte, som Apache forventer

# =============================================================================
# MONGREL OPTIONS
# =============================================================================
set :mongrel_servers, apache_proxy_servers
set :mongrel_port, apache_proxy_port
set :mongrel_address, apache_proxy_address
set :mongrel_environment, "production"
set :mongrel_config, "/etc/mongrel_cluster/#{application}.conf"
# set :mongrel_user_prefix,  'mongrel_'
# set :mongrel_user, mongrel_user_prefix + application
# set :mongrel_group_prefix,  'app_'
# set :mongrel_group, mongrel_group_prefix + application

Den bruger, som vi ønsker at køre applikationen som på serveren

set :user, 'deploy'

Subversion - vi lader også serveren fungere som Subversion-server for Rails-applikationen

role :scm, domain
set :repository, "svn+ssh://#{user}@#{domain}/usr/local/svn/#{application}"

SSH - for at undgå at skulle indtaste password mange gange, angives placeringen af ssh-nøglen

ssh_options[:keys] = %w(/Users/jbe/.ssh/id_rsa)

Opret deploy-brugeren på serveren med de nødvendige rettigheder

cap setup_admin_account_as_root

Angiv brugernavnet deploy Indtast root passwordet Indtast det password, som deploy-brugeren skal have

Gør det muligt at logge ind på serveren uden password (bruger en ssh-nøgle i stedet)

cap setup_ssh_keys

Installer Rails-stakken (Ruby, RubyGems, Rails, Mongrel, Apache, MySQL)

cap install_rails_stack

Forbered serveren til at tage imod den deployede applikation

cap setup

Læg applikationen under versionskontrol på serveren

cap setup_scm
cd /tmp/deprecdemo
mkdir tmp
svn add tmp
svn commit -m "" tmp

Deploy applikationen

cap deploy

Genstart Apache

cap restart_apache

Voila - applikationen kører!

Nu kan man lave ændringer til applikationen, committe dem i Subversion og køre en

cap deploy

hvorefter den nyeste version findes på serveren.

Sorry, comments are closed for this article.