Some nice applications for task and issue management are being written in the Ruby on Rails framework. I can even install them from Cpanel on my website. However, I had some reservations about Rails on shared hosting. The first issue was that I’d be competing for resources with hundreds of other sites on the same server. Performance was going to suffer. If the app consumed too much CPU time, the web host might throttle or suspend activity for my account.
The second concern was security. I couldn’t store any content at my web host I wouldn’t want stolen. (Everyone putting personal information on the public internet should assume (1) they will be hacked eventually, and (2) they may never learn about it until it’s too late.)
But the showstopper was that I didn’t know much about Ruby or Rails. I just wanted to use a couple of apps, not struggle setting up a working environment. At the same time, I wanted to be able to reconfigure and fix things easily. What I needed was something like the LAMP stack, but for Rails, something I could install quickly on my Windows desktop or a virtualized machine.
How could I get started with Rails apps, without getting de-Railed? My salvation was Bitnami stacks. They’re executables that install everything you need to run a specific application. And they’re available for Windows, Linux and MacOS. Bitnami already has three dozen pre-configured installers covering some of the most popular open source applications. There are social tools like blogs and wikis; development environments for Java, Python, Ruby, MySQL and PostgreSQL; and business apps for CMS, CRM, ECM, and BI.
Most Bitnami packagings give you a choice of two installers. The larger download is an all-in-one. It installs both the application and the underlying stack. The smaller files install just the application as a “module”, and assumes you will install the respective Bitnami stack separately (LampStack. RubyStack, or DjangoStack for Python). Because I planned to install more than one Rails application, and they’d initially be running on my Windows desktop, I opted for separate downloads. Separate modules would allow the apps to share the same infrastructure (MySQL database, Mongrel server, etc.), and perhaps make for easier upgrades.
First, I installed the RubyStack. The installer took care of everything involved in getting the web server and database running on my localhost. Then I added the Tracks module and Redmine module.The only information I had to supply or confirm was database user names, passwords, and port numbers. Performance was reasonable under Windows XP and the RAM consumption was small (two Mongrel servers took only 50 mb each). And I could easily start up and stop the services when I needed them, using the icons installed on the standard menus.
Eventually, I installed the applications on a dedicated Proxmox/OpenVZ server. I downloaded the corresponding Linux packages. The Linux installers aren’t graphical like the Windows ones. They assume you have some ability to install from a command line. I had to change the MySQL configuration file to create a symlink from /tmp/mysql.sock. However, there were no other major issues. As for upgrades, I’ve had no problems unpacking new point releases of Rails apps on top of a running installation.
Bitnami is an excellent choice for testing or virtualized environments on a desktop or a home server – especially if you don’t know much about the underlying language, be it PHP, Java, Python, or Ruby. If it doesn’t work for you, de-installation is easy. Give it a try. You’ve got nothing to lose but wasted time.