I did this initially before deciding to move my blog to Dreamhost. I thought I’d leave these notes up in case someone else wants to do this as well. Moving to Dreamhost was not without its own set of problems, but it turned out to be easier than migrating in Windows with InstantRails.

This took a lot longer than I thought it would like most of my adventures into sysadmin land :) Here are a few notes to try and cut down on the amount of effort that other folks might run into.

The first step is to create two side-by-side installs of Instant Rails. Instant Rails for Windows users is like “VMWare for Rails”. Essentially it’s a single directory install of everything that you need to run Rails, but like many other technologies of its ilk, it comes in different versions :)

Step 1: I took the existing InstantRails install and fired it up using instantrails. This auto-starts both Apache and MySQL. I used the mysqldump utility to back up my existing Typo MySQL database to a plain-text SQL file:

mysqldump -uroot typo > typo.sql

Step 2: Shut down the first InstantRails install, and startup the new InstantRails install. Install typo via gems:

gem install typo --include-dependencies

Step 3: Create a new typo blog:

typo install \instantrails\rails_apps\typo

Step 4: Copy your existing .htaccess and database.yml files from the old typo installation.

Step 5: Create a new typo database using the PHP web-based admin tool. This is the most important point. Make sure that the collation is set to latin1_swedish_ci!

Step 6: Import the existing mysql database into the new InstantRails install using mysql:

mysql -uroot typo < typo.sql

Step 7: Use migrations to migrate your existing database schema to the Typo 4.0 schema:

\instantrails\rails_apps\typo>rake migrate

Step 8: Create the appropriate section in the \instantrails\conf_files\http.conf file. It should look something like this:

&lt;VirtualHost *>
ServerName www.iunknown.com
# handle all requests through SCGI
SCGIMount /dispatch.fcgi 127.0.0.1:9999
DocumentRoot ${path}/rails_apps/typo/public
&lt;Directory ${path}/rails_apps/typo/public>
Options +FollowSymLinks
Order allow,deny
allow from all
&lt;/Directory>
AddDefaultCharset utf-8
ErrorDocument 500 /500.html
ErrorDocument 404 /404.html
&lt;/VirtualHost>

That should do it. I’m too embarrassed to say how long this took me to figure out. Now back to easier stuff like writing RubyCLR :)