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.
Installation of the Platform
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.
Preparing the LAMP Stack For a New App
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).
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]/
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!