Fortunately, a company called Bitnami has put together what they call “stacks,” which are pre-packaged versions of popular open source applications with an honest to goodness “click-to-install” function. There are some trade-off’s with the way Bitnami handles these, but for the purposes of evaluating and testing some of the best open source systems, Bitnami’s stacks are hard to beat.

The Pro’s and Con’s of Bitnami Stacks

There are a couple of great things about the way Bitnami handles these “stacks,” including the following:

All the components within the stacks are pre-configured to work together, which means no more editing config files to make sure Apache talks to PHP which talks to MySQL. Uninstallation is just as easy… the uninstall script will remove any trace that the application was ever there. They’re installable by a non-root user, so all you need to do is point it to a place in your home directory. They don’t install services to /etc/init.d/, so you start and stop them as needed with a simple command.

On the other hand, there are also some things to keep in mind when installing Bitnami stacks:

Each installation is self-contained, so if for example you install the Drupal stack, the Joomla stack, and the WordPress stack to do a CMS comparison, you’ll have three different installations of Apache, MySQL, and PHP using disk space and RAM (we’ll show you how to avoid this below) They don’t install services to /etc/init.d/, so you’re required to start and stop these manually. Since they’re installable by a non-root user, some of the normal protection that having root-level permissions provides won’t be in place. There doesn’t appear to be an easy way to upgrade these stacks to new versions… even Bitnami recommends you back-up your data, install the updated stack, and restore.

But again, these are really well suited for evaluation purposes (not to use in production), so with that in mind, let’s install one.

Installing the Base Platform

I’m going to create a test install of SugarCRM, a customer relationship management system because, well, I’ve always wanted to try it out. But I might want to install some other similar applications as well, so instead of going straight for the SugarCRM stack, let’s see if it’s available as a “module”. Sure enough, the SugarCRM page shows it’s available as a module, and requires Apache, MySQL, and PHP. Add Linux and what does it spell: LAMP! So let’s start by grabbing Bitnami’s LAMP stack from the left-hand menu. Once you download these files, you’ll need to make them executable. The following command will do the trick: Note we don’t need to be root to do this, since we’ll be installing it in our home directory. Now, run the installer by typing at the prompt, or in something like KRunner. Once it starts, you’ll be presented with a click-through wizard including the screens below below:

  1. The Welcome Screen

  2. Select Components (we don’t particularly care about these, but it doesn’t hurt to leave them selected)

  3. The directory where you want to install everything.

  4. An admin (root) password for the MySQL server (don’t confuse this with “root” on your machine, this is just for the MySQL install Bitnami is performing)

  5. A confirmation screen that you’re ready to install.

It doesn’t get much simpler than this… once the installation is done, start the LAMP stack with the following command (or simply leave “Launch Bitnami LAMP Stack” checked when you click “Finish”): The control script will take care of spinning up Apache and MySQL in the correct order. When it finishes, going to “http://localhost:8080/” in your browser will display a nice landing page. Now let’s get to the fun stuff.

Installing the SugarCRM Module

Installing the SugarCRM module is as simple as mimicking the steps above, as follows:

  1. Download the SugarCRM module from Bitnami. Make sure you grab the module, and not the whole stack (which includes LAMP, but we already have that).

  2. Run chmod to make the installer executable.

  3. Run the installer (mine was called “bitnami-sugarcrm-6.5.5-0-module-linux-x64-installer.bin”) The installer will show the following screens, and ask you for some details:

  4. The Welcome Screen

  5. The directory where you installed the LAMP stack above.

  6. A username, real name, and e-mail address for the first user, as well as the root MySQL password you set.

  7. Whether you want to configure mail support or not (for notifications)

  8. The install confirmation screen. Once the installer is done, go back to your landing page, and select the “Applications” link. Presto, SugarCRM is there, waiting for you to log in with the username you specified (note: your password will be the MySQL root password to start). Once you install SugarCRM, take a look at all the great modules Bitnami has to offer… you can install them all together into the same stack.