How to Add Your Own Web Apps to Bitnami LAMP Stacks

BitNami packages are a great way to test out a specific application, but their use isn’t limited just to the “stacks” that are provided. With a few extra steps, you can use the base platforms such as LAMP to quickly deploy and try out all sorts of web-based applications.

If you heeded the advise in the previous article, you installed one of the “Infrastructure” stacks, and installed an application such as SugarCRM as a module on top of it. If not, grab the latest “LAMPStack” here and run through the installation process.

Once you’ve completed it, start and stop your Stack to make sure everything went smoothly.

In addition to installing and configuring the application itself, the BitNami modules take some additional steps to integrate that application into the base platform:

  • They create the correct directory structure in the BitNami installation folder to hold all the files, including a logo/icon and description
  • They change the main Apache configuration file to include your new app
  • Lastly, they install a configuration file in your application’s folder to direct new requests

We’ll need to do these manually instead.

1. Create a directory structure

Inside the directory where you installed BitNami, you’ll find an “apps” folder – this is where you’ll place your app. But first, you’ll need to create a few directories of your own:

Create a new “myapp” folder, where “myapp” is the name of what you’re installing. I’ll be installing our old friend FengOffice for this, so mine’s named “fengoffice“.  Inside this directory, create two others: “conf” (which holds configuration files) and “htdocs” (which will hold the app’s files and folders).

bitnami-fengoffice-directory

2. Create the configuration files

You’ll need to create a configuration file that tells the web server where the app is located (in Apache-speak, we’re creating an “alias”). Paste the following into a text file, and replace your app’s directory as necessary:

Alias /[your app's directory/ "/full/path/to/your/apps/directory/htdocs/"
Alias /[your app's directory "/full/path/to/your/apps/directory/htdocs"
 
<Directory "/full/path/to/your/apps/directory/htdocs">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

The first two lines are important – they tell the server where to go whether or not you leave the last “/” off the URL. Save this file as “[your app’s name].conf” in the “conf” directory you created earlier.

3. Edit the main Apache configuration files

Finally, you’ll need to edit the “/path/to/bitnami/apache2/conf/httpd.conf” file so it will recognize the new app. Add the following line to the end of this file, and save:

Include "/path/to/bitnami/[your app's name]/conf/myphpapp.conf"

4. Unpack and install your application

The final step is to download/unpack your application’s files, and place them in the “/apps/[your app’s name]/htdocs/” directory. Now, start/re-start the stack. You’ll be able to see your app by going to the following URL:

http://localhost:[port Bitnami uses - it shows this when you start it up]/apps/[your app's name]/

bitnami-fenogffice-install

The above image shows FengOffice running on the LAMP stack I installed for this article. Depending on the app, you may need to go through the usual installation routine. To do this, I had to open “http://localhost:8080/apps/fengoffice/public/install/” as described in our previous article.  A little extra work, but once you get the hang of it, you’ll be putting up all sorts of apps for testing in no time!