Skip to content

Configuration for vagrant and puppet systems, allowing you to build a PyroCMS-friendly environment in next to no-time.

Notifications You must be signed in to change notification settings

JamesLAllen/devops-vagrant

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyroCMS Vagrant

Configuration for vagrant and puppet systems, allowing you to build a PyroCMS-friendly environment in next to no-time. That means that instead of needing to install XAMPP/WAMPP/MAMP, fight with the built in version of Apache on your Mac or configure some slow over-the-network VPS to run your code you can use our Vagrant / Puppy setup to run PyroCMS in its own little virtual box.

Tools

Vagrant

Create and configure lightweight, reproducible, and portable development environments. A command line wrapper for VirtualBox.

Puppet

Puppet manages your servers: describe machine configurations in an easy-to-read declarative language, and Puppet will bring your systems into the desired state and keep them there.

Installation

Install Vagrant (which requires VirtualBox) then run the following commands:

mkdir ~/vagrant
git clone --recursive git://github.com/pyrocms/devops-vagrant.git ~/vagrant/pyrocms
cd ~/vagrant/pyrocms
vagrant up

This will actually launch 6 boxes:

* mysql
* sqlite
* postgres
* pro_mysql
* pro_sqlite
* pro_postgres

Note: The boxes prefixed with "pro" are Profesional only. They will only work if you have access to the Professional repo on GitHub. This is only going to be the development team and the 100 or so people who have specifically asked for access. If you would like to ask for access then just get in touch, otherwise you can paste your downloaded ZIP file contents into the /vagrant/www/pyrocms-pro folder and this will work just as well.

Each box has it's own local IP and its own virtual host set up, so you can set the following in your /etc/hosts file:

PyroCMS Community

198.18.0.201 dev.pyrocms.mysql 198.18.0.202 dev.pyrocms.sqlite 198.18.0.203 dev.pyrocms.postgres

PyroCMS Professioanl - optional

198.18.0.211 dev.pyrocms-pro.mysql 198.18.0.212 dev.pyrocms-pro.sqlite 198.18.0.213 dev.pyrocms-pro.postgres

Then simply browse to http://dev.pyrocms.mysql/. If you would like to only bring up one server then run:

vagrant halt # takes down all servers
vagrant up mysql # bring up just the one

This will hopefully give you a chance to play around with different systems other than just MySQL for a change.

Configuring Vagrant

There is a Vagrantfile included in the root of this repository with some default settings enabled. Change the port number or switch to using a hostonly connection. It's all in here.

Configuring Puppet

This repo includes a submodule which contains all of our Puppet manifests, and various modules for building a LAMP stack (or something) close to that at least. We have a few PHP, Apache, Nginx, MySQL, Postgres and SQLite combinations and more will be made over time.

TODO

CentOS / Redhat

Currently this repo uses a fork of saz/puppet-php, which only supports Ubuntu and Debian, but could easily be extended to support more by adding to the params.pp. If there are any CentOS guys out there, we would love your help making this work.

More Manifiests

There plan is to add multiple "stock" Puppet manifest files in manifests/ for various setups like:

  • nginx + PHP + FPM + APC
  • nginx + PHP + SQLite + Memcache

And of course everything in between. By building these boxes we can facilitate development and testing of PyroCMS in multiple environments far easier than if we have to wrestle these systems onto our personal workstations. If you would like to submit a manfest, please simply send in a pull request with a logical name, like centos-nginx-php5-mysql.pp and we'll merge it.

About

Configuration for vagrant and puppet systems, allowing you to build a PyroCMS-friendly environment in next to no-time.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%