Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Shell
tree: 375ead9ff1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.final_builds
config
git
jobs
packages
releases
src
.gitattributes
.gitignore
LICENSE
NOTICE
README
wordpress-aws.yml
wordpress-vsphere.yml

README

This is a sample release repository for BOSH that deploys a three tier LAMP application: a wordpress blog which consists of a number of apache servers running php & wordpress, fronted by nginx, and using one mysql database for storage.

The sample is made up of three jobs:
- mysql
- wordpress
  which consist of apache + php5 + wordpress
- nginx

The repository also contains a sample deployment file (wordpress.yml) which you can use to deploy the jobs that makes up the application, after updating the "networks" section.

There are three main directories in the release:
- src
  this is the source code for the packages
- packages
  this is instructions on how to compile the source into binaries
- jobs
  this is scripts and configuration files required to run the packages

A package is made up of the following files:
- spec
  defines the package name, the source file it uses and optionally other
  packages it depends on to compile
- pre_packaging
  an optional file that prepares the source for the packaging script
- packing
  the script that compiles the source into binaries

A job is made up of the following files:
- spec
  defines the job name, package dependencies and how to convert templates
  into files
- monit
  the monit file which defines how to start and stop the job
- templates
  a directory which contain the scripts and config files for the job

The wordpress job consist of four packages: apache2, php5, wordpress and mysqlclient.
Normally php is compiled into apache, but here it is kept in its own package so that you can easily upgrade one without the other.

To deploy the sample application use the following command sequence:

bosh create release (name it wordpress)
bosh upload release
edit deployment manifest (wordpress.yml)
bosh deployment wordpress.yml
bosh deploy


TODO
use HyperDB & MySQL master/slave replication
http://wordpress.org/extend/plugins/hyperdb/installation/
http://dev.mysql.com/doc/refman/5.1/en/replication-howto.html

## File a Bug

To file a bug against Cloud Foundry Open Source and its components, sign up and use our bug tracking system: [http://cloudfoundry.atlassian.net](http://cloudfoundry.atlassian.net)

Something went wrong with that request. Please try again.