OpenBD Jam Stack
The first full purpose Open Source CFML Linux stack, all pre-configured and ready for you to start using OpenBD CFML.
- Apache 2.2
- MySQL 5.1 (use the CFML datasource 'mysql' to access)
- Jetty 7.1
- Java 1.6
- OpenBD 2.0
The EASIEST way to get CFML running on Linux
Requirements / Download
This stack has been designed to be run on Linux 32bit systems, making it an ideal canidate for Amazon EC2, GoGrid and other cloud and hosting vendors. No prior software is required but the base Linux operating system. Everything you need to run is bundled in the OpenBDJam package.
http://openbdjam.s3.amazonaws.com/OpenBDjam-install-2.0.sh ~170MB
If you have MySQL or a web server already running on your machine, then please turn them off, or move them to non-standard ports.
Installation
Installation is a breeze. Simply untar, and run! Obtain the OpenBDJam distribution and then untar it into the /opt/ directory.
[root@openbdjam]# wget http://openbdjam.s3.amazonaws.com/OpenBDjam-install-2.0.sh [root@openbdjam]# sh OpenBDjam-install-2.0.sh
It will put itself into /opt/openbdjam/. This location is fixed, so please do not move it, otherwise it may not work. It will replace
any installation that is already there, so beware.
You must be 'root' to run this stack.
Running OpenBDJam
Once you have untarred OpenBDJam into /opt/openbdjam/ you access all the components using the 'openbdjam' command line launcher.
[root@openbdjam]# ./openbdjam
___ ___ ___ _
/ _ \ _ __ ___ _ _ | _ ) \ _ | |__ _ _ __
| (_) | '_ \/ -_) ' \| _ \ |) | || / _` | ' \
\___/| .__/\___|_||_|___/___/ \__/\__,_|_|_|_|
|_|
Command Console http://www.openbluedragon.org/openbdjam/
start - starts all; Apache, MySQL, Jetty and OpenBD
stop - shutsdown all the components
status - reports the status of each component
mysql - jump straight into the MySQL database console
stopjetty - Stops the Jetty process
startjetty - Starts the Jetty process
stopmysql - Stops MySQL
startmysql - Starts MYSQL
clean - Deletes all tmp/rotated logs from Jetty/OpenBD
upgrade - Upgrades OpenBD to the latest nightly build
usage: ./openbdjam
Starting/Stopping OpenBDJam
Starting the OpenBDJam stack couldn't be easier. Simply use the OpenBDJam launcher and type in the command 'start' and you should see it all come alive.
[root@openbdjam]# ./openbdjam start
___ ___ ___ _
/ _ \ _ __ ___ _ _ | _ ) \ _ | |__ _ _ __
| (_) | '_ \/ -_) ' \| _ \ |) | || / _` | ' \
\___/| .__/\___|_||_|___/___/ \__/\__,_|_|_|_|
|_|
Starting MySQL5.1...
Starting Jetty7.1...
Starting Apache2.2...
Once started, point your browser to the IP of that machine and you are ready to work. To stop the complete stack you run './openbdjam stop' and it will shutdown all the components.
Installing your CFML application
The main web document root is /opt/openbd/webapp/. This directory should contain all your application code.
The connection to the MySQL database has already been made and is available through the CFML datasource MYSQL, which maps to the embedded database "openbddatabase". You can access the console of MySQL by:
[root@openbdjam]# ./openbdjam mysql
If you wish to import any data or tables into the MySQL database you can by using:
[root@openbdjam]# ./bin/mysql openbddatabase < /path/to/mysql/dump/file.sql
Pre-configured CFML runtime
OpenBDJam has been designed for you the CFML developer with everything already setup and pre-configured for you. There is no configuration files you have to start editing, or additional steps to take.
- MySQL Connection
The connection to MySQL has already been setup and is available to your CFML app as the datasource "mysql" - Outgoing Mail
This has been setup to relay to 127.0.0.1 the localhost. With Linux, you will most likely have a sendmail or postfix runtime already installed that is already setup to relay email for localhost only - WebServices
Special consideration has been made for the availability of the tools to allow webservices to work from within your CFML app.
Security Considerations
The stack has been designed with security in mind from the start. The only open port is from Apache with Port#80. Apache runs as the user 'nobody' and has had all cgi-bin and perl access removed. MySQL is listening only on the local (127.0.0.1) interface, and the user account that OpenBD utilises, is locked to that IP address only. Jetty is listening for requests on Port#8080 and will only accept connections from the local Apache web server.
Upgrading OpenBDJam
Once you have installed your open source stack, it is very simple to upgrade the embedded OpenBD runtime to the latest and greatest from the nightly build distribution.
This will only upgrade the JAR files of OpenBD; it will not touch or remove any configuration settings or web files you have installed to OpenBDJam. If the upgrade doesn't work for you, then all the pervious JAR files can be restored.
[root@openbdjam]# ./openbdjam upgrade
Should you have to roll back an upgrade, then you will find all your historical JAR files in the /opt/openbdjam/var/upgrade/previous/ directory. Simply copy the contents of this
directory to /opt/openbdjam/webapp/WEB-INF/lib/ and you will be back in business.
Customize
The configuration for Apache, MySQL and Jetty are all available for you to customize for your production environment. Apache has all the popular modules made available to you with this stack.
Configuration files are found in: /opt/openbdjam/etc/.
Inspiration
The OpenBDJam stack has been discussed for sometime now. Seeing how easy it was for people to get started with PHP via the excellent Apache Friends XAMPP stack, we felt it should be that easy for people coming to CFML. They have been an inspiration to all on how easy and powerful open source software should be when it comes to ease of installation.
With the power of GPL, we can bundle OpenBD with other GPL software and make it available for everyone, to enjoy without the headaches of editing configuration files. We've repurposed the Apache web server from XAMPP as well as some script snippets, but built our own MySQL build to produce OpenBDJam.

