How to move a ruby on rails application to a new server
- by ManiacZX
I have a rails app on an old Ubuntu server I need to move onto a new machine.
I haven't worked with ruby on rails so I don't really know anything about the structure of the app.
I want to load this onto an Ubuntu 8.04 AMI on Amazon EC2 and am looking for any information regarding the migration process such as:
Do I copy over the entire folder defined as the application root in the mongrel config (for ex: /u/apps/myapp/current) or just certain folders?
Am I looking for trouble if I go with the latest versions of ruby and the various gems?
Any general gotchas to look out for in the process.
Current server information:
root@webnode001:/# cat /proc/version
Linux version 2.6.15-27-server (buildd@terranova) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #1 SMP Fri Dec 8 18:43:54 UTC 2006
root@webnode001:/# rails -v
Rails 1.2.3
root@webnode001:/# mongrel_rails cluster::configure --version
Version 1.0.1
root@webnode001:/# gem -v
0.9.0
root@webnode001:/# gem list -l
*** LOCAL GEMS ***
actionmailer (1.3.3, 1.2.5)
Service layer for easy email delivery and testing.
actionpack (1.13.3, 1.12.5)
Web-flow and rendering framework putting the VC in MVC.
actionwebservice (1.2.3, 1.1.6)
Web service support for Action Pack.
activerecord (1.15.3, 1.15.2, 1.14.4)
Implements the ActiveRecord pattern for ORM.
activesupport (1.4.2, 1.4.1, 1.3.1)
Support and utility classes used by the Rails framework.
cgi_multipart_eof_fix (2.1)
Fix an exploitable bug in CGI multipart parsing which affects Ruby
<= 1.8.5 when multipart boundary attribute contains a non-halting
regular expression string.
daemons (1.0.7, 1.0.5, 1.0.4, 1.0.2)
A toolkit to create and control daemons in different ways
eventmachine (0.7.2, 0.7.0)
Ruby/EventMachine socket engine library
fastercsv (1.2.0, 1.1.0)
FasterCSV is CSV, but faster, smaller, and cleaner.
fastthread (1.0)
Optimized replacement for thread.rb primitives
ferret (0.11.4)
Ruby indexing library.
gem_plugin (0.2.2, 0.2.1)
A plugin system based only on rubygems that uses dependencies only
mongrel (1.0.1, 0.3.13.4)
A small fast HTTP library and server that runs Rails, Camping, Nitro
and Iowa apps.
mongrel_cluster (0.2.1)
Mongrel plugin that provides commands and Capistrano tasks for
managing multiple Mongrel processes.
mysql (2.7)
MySQL/Ruby provides the same functions for Ruby programs that the
MySQL C API provides for C programs.
piston (1.3.3)
Piston is a utility that enables merge tracking of remote
repositories.
rails (1.2.3, 1.1.6)
Web-application framework with template engine, control-flow layer,
and ORM.
rake (0.7.3, 0.7.1)
Ruby based make-like utility.
sources (0.0.1)
This package provides download sources for remote gem installation
swiftiply (0.5.1)
A fast clustering proxy for web applications.