What is a Module and Why Should I Care?

Oct 03, 2008 | Tags:
This is an archived blog article. Our new blog is at http://blog.bitnami.com.

BitNami Modules for PHP were released some time ago, but a lot of BitNami users still don’t know about them and the wide range of possibilities they offer to have a custom installation. This article will explain the difference and why you may want to consider using BitNami Modules instead of the stand-alone Stacks.

The BitNami Project started with what we call Stacks, which are ready-to run packages of popular open source web applications. Because the packages contain everything you need in order to run an application, even non-technical users can have the software installed and running in just a few minutes. BitNami Stacks are completely self-contained, so they will not interfere with software already installed on your system.

However, Stacks are not the optimal solution if you want to use more than one application. Why is that? It is because having several web and database servers is very resource-intensive and can slow down your system. It is much less stressful for the machine to just have one of each type of running and connect all of the installed applications to those (in other words, have servers shared by the applications.)

BitNami Modules are installers, much lighter than the Stacks, that simply bundle the desired application and the actions that are needed to configure it on top of an already existing installation of the servers. Using the modules, you can have a custom installation that contains all of the applications you want to run. Everything is located in the same folder, so the BitNami platform and applications are completely independent and self-contained so they do not mess with your system and are easy to install and uninstall.

Currently, BitNami Modules are only available for PHP and Ruby on Rails applications (such as Joomla!, MediaWiki, WordPress, Drupal, Tracks or Redmine). To install Modules, you need to:

  • Download the base Stack, which will install and configure the BitNami platform on your machine. Currently, the Stacks that can serve as a base for the Modules are LAMPStack, WAMPStack, MAMPStack, SAMPStack and RubyStack. If you want to mix PHP and Ruby on Rails applications, you need to use RubyStack. Otherwise, choose the *AMPStack appropriate for your operating system, download and run the installer.
  • For each application that you want to deploy, download the corresponding Module and install it in the same path you selected for the base Stack.

An example may make it more clear. Imagine that you are a Windows user who wants to compare two applications like Joomla! and Drupal. Before we released BitNami Modules, you would have had to install both JoomlaStack and DrupalStack, each of which is around 40 MB. Now, you just download and install WAMPStack (40 MB). Then, you download Drupal Module (3.5 MB) and Joomla Module (7 MB) and select the WAMPStack folder during installation. Compared to the 80 MB that you downloaded in the first case, using the Modules means that you only need to download 50 MB. Not only that, but the memory and CPU usage of your computer will be much less when using Modules.

I hope this article makes the difference between Modules and Stacks a little clearer. We’d really like to get your feedback regarding the Modules concept. Are you already using Modules? Do you think that they are a better solution than Stacks? Should we focus on improving them? We’d love to hear your thoughts in our forums.