Imagine I'm a transplant from 1950 who only has the vaguest idea of how the internet works. Now explain to me how to migrate a Ruby on Rails website from one server to another.
The people I work for are looking to move their old corporate site, which was initially developed in Ruby on Rails on a Linux box, to a shared hosting system on Bluehost. This is both so we can stop dealing with the vendor that originally developed the site, who is pretty much the most unhelpful vendor ever, and also so we have a greater level of control over things like MX/SPF records. The site seems pretty simple on the front-end - it's a pretty basic CMS.
I do mostly front-end web development work for these folks. This means that I am excellent at HTML and CSS, and I have enough knowledge of JS, PHP, and MySQL to customize Wordpress to our needs. I don't, however, know the first thing about Ruby, or Ruby app development/deployment.
I have a zip file of everything from the old site, including the SQL file, something called a "Rakefile" with no extension, and lots of .rb files I don't understand. Instead of HTML files, there seem to be a whole host of RHTML files.
I have SSH and FTP access to the Bluehost servers. I've read Bluehost's documentation on RoR
, these hints on Bluehost setup
, as well as these two
posts on Rails migration, and I still have no idea where to begin.
The issue is, I think, that they're addressing people who've already built an application in Rails. I don't know how to hook up the database on the back-end, or how to start the application, or...well, anything.
I'm not above teaching myself Rails (I've seen these old AskMe posts
) if necessary, and would in fact relish the additional tool in my toolbox. However, teaching myself an entire language just to migrate a website isn't what I would consider the most efficient way of going about it.
Does anyone have a handy guide to:
1. How Rails works and how its components interact with each other (What's a Rakefile? How does the DB get hooked up if it doesn't specify SQL authentificaton info?)
2. The theory/mechanics of what I'm doing when I'm moving the website? I obviously can't just throw the whole folder online and have it automatically work, right? What else is needed?
3. How to actually do it, in practical terms?
My job doesn't really depend on this, but it would go a long way to ease my anxieties. Thanks in advance, everyone.