Giter VIP home page Giter VIP logo

puphpet's Introduction

PuPHPet

PuPHPet - A simple GUI to set up virtual machines for PHP development

Build Status

What?

PuPHPet is a web application that allows you to easily and quickly generate custom Vagrant and Puppet controlled virtual machines.

If you're unfamiliar with either Vagrant or Puppet, I wrote a blog titled "Make $ vagrant up yours".

How?

Built on top of the great Silex framework, we use PHP to generate a custom Vagrantfile and Puppet manifest with your custom choices.

Why?

I started using Vagrant and Puppet when I wanted a simple PHP 5.4 VM to do my development on. I could find nothing pre-made that didn't come with a bunch of cruft I did not want so I decided to create a tool that would ease this task for other developers who may not want to learn Puppet's DSL to get a VM up and running so they can develop in their language of choice.

Who?

Originally developed by Juan Treminio, PuPHPet has now had 22 contributors with the talented Frank Stelzer heavily contributing. Also making significant contributions is Michaël Perrin.

Goals

The main goal of PuPHPet is to eventually replace tools such as XAMPP, WAMPP, MAMPP and other all-in-one servers that create development environments on your main operating system.

Eventually PuPHPet will be good enough to help create production-ready servers!

Requirements

To run PuPHPet-generated manifests, you'll need to install Vagrant version 1.2.0 or greater. Vagrant will run on Windows, OS X and Linux.

Contribute

Requirements

  • PHP 5.4
  • For executing all the tests puppet-lint has to be installed on your machine.
  • Some Silex knowledge is required.

The all-in-one solution

  • Enter our quickstart page and download the vagrant archive.

  • Create a new vagrant box and start it with $ vagrant up on your terminal.

  • Provisioning progress will need some time as the PuPHPet project is directly cloned and installed to /var/www/puphpet.dev

  • Edit your hosts file and map puphpet.dev to localhost.

    127.0.0.1 puphpet.dev

If you're using Windows based operating systems, hosts file can be found under system32/drivers/etc/hosts.

  • Browse puphpet.dev in your browser's address bar and you hould see the project's index page.

Note: The quickstart approach is still in beta. Any feedback is highly appreciated!

For creating a patch you have to fork the project and within the box you have to do:

cd /var/www/puphpet.dev
git remote add fork [email protected]:<your username here>/puphpet.git
git checkout -b my-patch
# git add ...
# git commit -m "some patch"
git push fork my-patch

For existing environments

  • PuPHPet will work on any default LAMP or LNMP environment.
  • Enter our quickstart page and download the vagrant archive.
  • When you already have a running environment, please have a look at the generated manifest/default.pp file and especially to the package list.
  • Ensure that the required packages are installed on your system.
  • Clone the project from github and install it via composer.

Setup:

mkdir -p /var/www/puphpet.dev
cd /var/www/puphpet.dev
git clone [email protected]:puphpet/puphpet.git .
composer install --dev

Run the tests

Before you create a PR you should go sure that everything works well and you didn't break anything. Running the tests is quite simple as PHPUnit is already installed by Composer and you only have to call its runner.

$ ./vendor/bin/phpunit

Used third-party Puppet Modules

License

PuPHPet is licensed under the MIT license all third-party Puppet Modules are licensed under Apache License v2.0.

puphpet's People

Contributors

jtreminio avatar frastel avatar michaelperrin avatar aristona avatar hexmode avatar staabm avatar pborreli avatar atukai avatar ercanozkaya avatar ericcholis avatar fdob avatar guzzlefry avatar jimlind avatar johnkary avatar beryllium avatar ricog avatar rogeriopradoj avatar

Watchers

 avatar James Cloos 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.