Giter Club home page Giter Club logo

devops-vagrant's Introduction

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.

devops-vagrant's People

Contributors

anthonysterling avatar jerel avatar

Watchers

James Allen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.