Coder Social home page Coder Social logo

puphpet's Introduction

PuPHPet

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

Build Status Code Climate

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?

PHP drives the frontend, using the "Symfony2 framework". Choices are set into a yaml file that configures the main Puppet manifest with your custom settings.

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 29 contributors (as of 12/15/13), with the talented Frank Stelzer heavily contributing. Also making significant contributions is Michaël Perrin.

Sometime in mid August 2013, work on v2 was begun to attempt to solve problems encountered with v1: difficult to add new features, too much PHP logic controlling Puppet logic, difficult to change an existing manifest.

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.8.6 or greater. Vagrant will run on Windows, OS X and Linux.

Contribution

If you have a patch, or stumbled upon an issue with PuPHPet core, you can contribute this back to the code. Please read our contributor guidelines for more information how you can do this.

License

PuPHPet is licensed under the MIT license all third-party Puppet

Modules are licensed under Apache License v2.0.

Clearmin Design licensed under GPLv3 with an exemption provided for PuPHPet.

puphpet's People

Contributors

adamculp avatar andrew-miller-rakuten avatar aristona avatar atukai avatar beryllium avatar buzzedword avatar cryptiklemur avatar d-ph avatar devwellington avatar displague avatar frastel avatar gabrielbull avatar jaendres avatar jtreminio avatar khromov avatar killua99 avatar leipert avatar mbrukman avatar mfairchild365 avatar michaelmackus avatar michaelperrin avatar pauloelr avatar philetaylor avatar podarok avatar rot26 avatar shivapoudel avatar steverhoades avatar thiagotalma avatar wimpyprogrammer avatar ykamakazi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

puphpet's Issues

Multiple Sync Folders

At the moment there can only be one "Box Sync Folder Source" and "Box Sync Folder Target".

I know these can be added manually but it would be good to allow multiple Sync Folders.

Introducing Quickstarts

The form from the start page and the logic behind it is already very powerful and one could define optimized boxes for several needs, however with considerable effort.

Many developers out there might not need the huge form and just want a pre-configured box which could be downloaded and started as quick as possible. My goal is a one-click installation.

Therefore I am currently working on "Quickstarts". A Quickstart takes an Edition name (an edition is a pre-defined configuration) and provides a minimal form for this Edition.

As I work at SensioLabs it seems obvious that I want to start with a Symfony Quickstart. A user selects in this case only between the webserver, database, the OS and the project name. All other settings are added internally (document root, PHP modules, db credentials...). The user will also be able to install a Symfony project automatically in the according document root.

To complete the one-click installation the user should be able to pre-fill the form via the querystring

/quickstart/symfony?ws=apache&db=mysql&php=php54&name=someproject.local

The querystring should be as short as possible, so shortend option names are used here.

Putting everything together the user is able to install a box and running project with minimal effort.

Quickstarts will be ready for extensions and contributions so that we could provide pre-configured editions for all the greater libs and frameworks out there.

Save custom boxes configurations

Hi, this idea is pretty much the same as #60 but the final idea is give the change to save a full-configured vagrant machine.

Why?
Well I found I pretty much always want to use the same machine but with a different domain name or mysql user, or things like that.

What do you thing about that idea? and, because you all have much more experience with the project, how you would address this idea if is approved?

Add support for custom Vagrant boxes

Currently PuPHPet enforces the use of the official Vagrant Ubuntu-based box files.

Many people may not be too thrilled with idea of using Ubuntu on VM, they may want to enter in their own box URL.

Problem: we currently do not support non-Debian based OS. We can either tackle this easy problem and warn the user first, or tackle the harder problem of making the vagrant code work with either OS.

Related to https://github.com/puphpet/vagrant-puppet-lamp/issues/5

RFC: Integrating puppet-lint

There is a tool out there which could validate the syntax of Puppet manifests: puppet-lint.

Currently the resulting Puppet manifests are not tested but the code could be refactored in this way that we could analyze the result of rendered templates,

The tests include next to normal content checks also syntax checks with the help of puppet-lint. The templates have to be stored in tmp files and with the help of shell execs the linting result could be parsed.
The drawback is of course that puppet-lint has to be installed on the testing machine. However the according test cases could be tagged so that they are not executed in the normal test suite.

/**
 * @group lint
 */
class LintTest extends Base
{
    public function testLint()
    {
        $cmd = 'puppet-lint /vagrant/default2.pp';

        $output = shell_exec($cmd);
        $this->assertEmpty($output, sprintf('puppet-lint is incredibly sad: %s', $cmd));
    }
}

What do you think?

Slow page load in my basic web app

I have a basic Laravel application that seems to work fine locally under xampp, but when I load it up under my new puphpet vm it's taking 2 minutes to load the pages.. I'm not sure what would be different, but I've tried bumping the ram up to 2 gb and it doesn't seem to help. I'm not sure what else would be causing the slowdown.. basic static html seems to load quickly.

I've also tried installing phpmyadmin and it's also timing out to load. Not sure what's going on.

Any suggestions would be appreciated..!

Could not pars Pkey: no start line (ArgumentError)

I'm getting this error when executing vagrant up in a fresh folder. I think has no direct relation with the project, but i posted here just to be sure.

C:\vm\seriesly-sdk>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'precise32'...
←[0K[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 80 => 8080 (adapter 1)
[default] Running any VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] Forcing shutdown of VM...
[default] Destroying VM and associated drives...
C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/key_factory.rb
:77:in `read': Could not parse PKey: no start line (ArgumentError)
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/k
ey_factory.rb:77:in `load_data_private_key'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/k
ey_factory.rb:42:in `load_private_key'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/key_manager.rb:214:in `block in load_identities'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/key_manager.rb:207:in `map'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/key_manager.rb:207:in `load_identities'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/key_manager.rb:100:in `each_identity'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/methods/publickey.rb:19:in `authenticate'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/session.rb:78:in `block in authenticate'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/session.rb:65:in `each'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh/a
uthentication/session.rb:65:in `authenticate'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.6.7/lib/net/ssh.r
b:196:in `start'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:203:in `block (2 levels) in connect'
        from C:/HashiCorp/Vagrant/embedded/lib/ruby/1.9.1/timeout.rb:68:in `time
out'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:185:in `block in connect'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/retryable.rb:17:in `retryable'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:184:in `connect'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/commu
nicators/ssh/communicator.rb:38:in `ready?'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/boot.rb:26:in `block in wait_for_boot'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/boot.rb:25:in `times'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/boot.rb:25:in `wait_for_boot'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/boot.rb:17:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/customize.rb:31:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/sane_defaults.rb:49:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/set_hostname.rb:16:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/forward_ports.rb:31:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/network.rb:105:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/clear_network_interfaces.rb:26:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/share_folders.rb:25:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/clear_shared_folders.rb:12:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/prepare_nfs_settings.rb:11:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/nfs.rb:28:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/prune_nfs_exports.rb:15:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/handle_forwarded_port_collisions.rb:118:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/prepare_forwarded_port_collision_params.rb:30:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/env_set.rb:19:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/provision.rb:45:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/clear_forwarded_ports.rb:13:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/set_name.rb:35:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/clean_machine_folder.rb:17:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/check_accessible.rb:18:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `block in run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/busy.rb:19:in `busy'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/call.rb:51:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `block in run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/busy.rb:19:in `busy'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/call.rb:51:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `block in run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/busy.rb:19:in `busy'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/call.rb:51:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/config_validate.rb:25:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/check_virtualbox.rb:17:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/call.rb:57:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builtin/config_validate.rb:25:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/provi
ders/virtualbox/action/check_virtualbox.rb:17:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/warden.rb:34:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/builder.rb:116:in `call'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `block in run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/u
til/busy.rb:19:in `busy'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/a
ction/runner.rb:61:in `run'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/m
achine.rb:147:in `action'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.2.2/lib/vagrant/b
atch_action.rb:63:in `block (2 levels) in run'

live-demo or screenshots

would be nice to have a link to a live demo or a screenshot to get a rough understanding what this UI does and how it looks like

Host port setting is ignored

The Vagrantfile does not contain a rule concerning the forwarded port.
e.g. when someone changes the host port setting to 8085, the Vagrantfile should have the following rule in it:
config.vm.network :forwarded_port, guest: 80, host: 8085

I ran into this issue while generating a default LAMP stack, no custom options applied except for the host port.

Moving to Symfony

@jtreminio Did you ever thought of moving this project to the Symfony Framework? We are using already a couple of components and for the next bigger steps like translations, database persistence, more modular structure more components will be needed.
I am reaching the limits of Silex with my Edition/Quickstart integration and wondered how do you think about this topic.

Migration would not be so much work and I could do it if you want and after my quickstart stuff is done. However I do not know how good the production server is and if Symfony will run there fast enough (APC would be needed at least).

You can close the issue or start a chat if you like :)

Error when doing vagrant up

Hi,

So I created a Vagrant setup with your software but ran into an error the minute I did vagrant up:

/Users/stefan/Downloads/puphpet/Vagrantfile:1:in <top (required)>': undefined methodconfigure' for Vagrant:Module (NoMethodError)
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:115:in load' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:115:inblock in procs_for_source'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config.rb:41:in block in capture_configures' from <internal:prelude>:10:insynchronize'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config.rb:36:in capture_configures' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:114:inprocs_for_source'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:51:in block in set' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:45:ineach'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/config/loader.rb:45:in set' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:377:inblock in load_config!'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:392:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:392:inload_config!'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/lib/vagrant/environment.rb:327:in load!' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.0.6/bin/vagrant:40:in<top (required)>'
from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in load' from /Applications/Vagrant/bin/../embedded/gems/bin/vagrant:23:in

'

I'm not sure what the problem is, I'm only starting to get to know Vagrant. am I doing something wrong? All I did was unzip, cd to the directory, and vagrant up

ssh login vm

whats the default username + password to login to the VM via SSH?

Git module doesn't seem to be running

I am trying to set my user and email in git in my vagrant setup. I've noticed there is a module for 'git' in the provided modules, and have gone in and edited /modules/git/manifests/user.php and updated it with my info.. however it doesn't seem to be taking effect in any new VM.

I have managed to ensure git is being installed at least, by adding it to the 'installed packages' in puphpet. Any idea if there's anything I would have to do to make sure this git module is being called?

Submodule missing? (repo)

Hi

I try to checkout your project but keep getting errors. I trace it down to a missing submodule:

No submodule mapping found in .gitmodules for path 'src/Puphpet/repo'

Could you add the submodule information for the repo dir?

Btw: really a great project. Always wanted to do the same!

Greetings
Sebastian

MySql database stuff won't execute if the info ends with "ee"

This is sort of a weird one, but seems easy to repro, so I thought I'd bring it up. I tried to setup a new manifest with a new database, user, and password all ending in "ee", and for some reason the db wasn't there.

I tried to reproduce the issue with a new manifest setup with "blahee" as the db/user/pass, and sure enough the database wasn't being created. If I re-use the same manifest but update it to be "blahe" for the db/user/pass then it works fine. Obviously for now I will just use info without the double e, but just wanted to bring it up.

Remove uneeded Zimple requirement

As far as i have seen the requirement jtreminio/zimple is never used in the project, so it could be removed. Is this correct or did I miss something?

PHP version

The "Use PHP 5.4" option doesn't seem to work. PHP 5.3.10 has install for me when I run "php -v"

Delete VHOST / DB User

It would be nice to be able to delete any extra VHosts and DB Users which were added in error by clicking the "Add" buttons otherwise they become required fields.

Add Nginx support

The user should be able to choose between apache and nginx. I would like to add nginx support and want to assign this integration to me.

First timer, errors

Here is what happened after running 'vagrant up'

John@Nomad /cygdrive/c/vms/precise64
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Running any VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
←[31mThe VM failed to remain in the "running" state while attempting to boot.
This is normally caused by a misconfiguration or host system incompatibilities.
Please open the VirtualBox GUI and attempt to boot the virtual machine
manually to get a more informative error message.←[0m

Syntax error with generated vagrant file

There is a syntax error in the following Vagrantfile. The syntax error

message is reproduced below for convenience:

/documents/Downloads/precise64/Vagrantfile:5: syntax error, unexpected tSYMBEG, expecting kDO or '{' or '('
  config.vm.network :private_network, ip:"192.168.56.101"
                                      ^
/documents/Downloads/precise64/Vagrantfile:15: syntax error, unexpected ':', expecting kEND
  config.vm.synced_folder "./", "/var/www", id: "vagrant-root" 

I am using a fresh install of vagrant-1.0.7 from sudo gem install vagrant

Could not run box with php 5.4 install

I am running the tool with some options from the website.
Like Imagick, pdo and pdo_mysql.

Output:

Running Puppet with default.pp...
stdin: is not a tty
info: Loading facts in /tmp/vagrant-puppet/modules-0/concat/lib/facter/concat_basedir.rb
info: Loading facts in /tmp/vagrant-puppet/modules-0/php/lib/facter/php_fact_extension_dir.rb
info: Loading facts in /tmp/vagrant-puppet/modules-0/php/lib/facter/php_fact_version.rb
info: Loading facts in /tmp/vagrant-puppet/modules-0/puppi/lib/facter/last_run.rb
info: Loading facts in /tmp/vagrant-puppet/modules-0/puppi/lib/facter/puppi_projects.rb
info: Loading facts in /tmp/vagrant-puppet/modules-0/stdlib/lib/facter/pe_version.rb
info: Loading facts in /tmp/vagrant-puppet/modules-0/stdlib/lib/facter/puppet_vardir.rb
info: Loading facts in /tmp/vagrant-puppet/modules-0/stdlib/lib/facter/root_home.rb
warning: Could not retrieve fact fqdn
info: Applying configuration version '1371926161'
notice: /Stage[main]//Xdebug::Config[cgi]/File[/usr/bin/xdebug]/ensure: defined content as '{md5}813de5ab3b902336754e83d0391e375d'
notice: /Stage[main]//File[/home/vagrant/.bash_aliases]/ensure: defined content as '{md5}ae7728a6f16c2f6327e53af25cde0e70'
notice: /Stage[main]/Apache/Package[apache]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Apache::Dotconf[custom]/File[Apache_custom.conf]/ensure: created
info: /Stage[main]//Apache::Dotconf[custom]/File[Apache_custom.conf]: Scheduling refresh of Service[apache]
notice: /Stage[main]//Apache::Vhost[phpmyadmin.stagioni.local]/File[/etc/apache2/sites-available/1-phpmyadmin.stagioni.local.conf]/ensure: created
info: /Stage[main]//Apache::Vhost[phpmyadmin.stagioni.local]/File[/etc/apache2/sites-available/1-phpmyadmin.stagioni.local.conf]: Scheduling refresh of Service[apache]
notice: /Stage[main]//Apache::Vhost[phpmyadmin.stagioni.local]/File[ApacheVHostEnabled_phpmyadmin.stagioni.local]/ensure: created
notice: /Stage[main]//Exec[apt-get update]/returns: executed successfully
notice: /Stage[main]//Package[build-essential]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Package[python-software-properties]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Package[curl]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Apache::Module[rewrite]/Exec[/usr/sbin/a2enmod rewrite]/returns: executed successfully
info: /Stage[main]//Apache::Module[rewrite]/Exec[/usr/sbin/a2enmod rewrite]: Scheduling refresh of Service[apache]
notice: /Stage[main]//Package[vim]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Php::Pecl::Module[xhprof]/Php::Custom::Xhprof[xhprof]/File[/home/vagrant/xhprof]/ensure: created
notice: /Stage[main]/Mysql/Package[mysql]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Mysql::Password/File[/home/vagrant/root-mysql]/ensure: created
notice: /Stage[main]/Mysql::Password/File[/home/vagrant/root-mysql/.my.cnf]/ensure: created
info: /Stage[main]/Mysql::Password/File[/home/vagrant/root-mysql/.my.cnf]: Scheduling refresh of Exec[mysql_root_password]
notice: /Stage[main]//Mysql::Grant[stagioni]/File[/home/vagrant/puppet-mysql]/ensure: created
notice: /Stage[main]//Mysql::Grant[stagioni]/File[mysqlgrant-stagioni-localhost-stagioni.sql]/ensure: created
info: /Stage[main]//Mysql::Grant[stagioni]/File[mysqlgrant-stagioni-localhost-stagioni.sql]: Scheduling refresh of Exec[mysqlgrant-stagioni-localhost-stagioni]
notice: /Stage[main]/Mysql::Password/File[/home/vagrant/root-mysql/.my.cnf.backup]/ensure: created
notice: /Stage[main]/Mysql::Password/Exec[mysql_root_password]: Triggered 'refresh' from 1 events
notice: /Stage[main]//Mysql::Grant[stagioni]/Exec[mysqlgrant-stagioni-localhost-stagioni]: Triggered 'refresh' from 1 events
notice: /Stage[main]//Apt::Ppa[ppa:ondrej/php5]/Exec[add-apt-repository-ppa:ondrej/php5]/returns: executed successfully
info: /Stage[main]//Apt::Ppa[ppa:ondrej/php5]/Exec[add-apt-repository-ppa:ondrej/php5]: Scheduling refresh of Exec[apt_update]
notice: /Stage[main]/Apt::Update/Exec[apt_update]/returns: executed successfully
notice: /Stage[main]/Apt::Update/Exec[apt_update]: Triggered 'refresh' from 1 events
err: /Stage[main]/Php/Package[php]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install php5' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
php5 : Depends: libapache2-mod-php5 (>= 5.4.17rc1-2precise+1) but it is not going to be installed or
libapache2-mod-php5filter (>= 5.4.17rc1-2precise+1) but it is not going to be installed or
php5-cgi (>= 5.4.17rc1-2precise+1) but it is not going to be installed or
php5-fpm (>= 5.4.17rc1-2precise+1) but it is not going to be installed
Depends: php5-common (>= 5.4.17rc1-2precise+1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

notice: /Stage[main]//Php::Module[php5-mcrypt]/Package[PhpModule_php5-mcrypt]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Module[php5-mcrypt]/Package[PhpModule_php5-mcrypt]: Skipping because of failed dependencies
notice: /Stage[main]/Php/File[php.conf]: Dependency Package[php] has failures: true
warning: /Stage[main]/Php/File[php.conf]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Ini[custom]/File[/etc/php5/conf.d/custom.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Ini[custom]/File[/etc/php5/conf.d/custom.ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Module[php5-cli]/Package[PhpModule_php5-cli]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Module[php5-cli]/Package[PhpModule_php5-cli]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Ini[php]/File[/etc/php5/conf.d/php.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Ini[php]/File[/etc/php5/conf.d/php.ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Module[php5-curl]/Package[PhpModule_php5-curl]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Module[php5-curl]/Package[PhpModule_php5-curl]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Ini[php]/File[/etc/php5/cli/conf.d/php.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Ini[php]/File[/etc/php5/cli/conf.d/php.ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Module[php5-imagick]/Package[PhpModule_php5-imagick]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Module[php5-imagick]/Package[PhpModule_php5-imagick]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Module[php5-mysql]/Package[PhpModule_php5-mysql]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Module[php5-mysql]/Package[PhpModule_php5-mysql]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Ini[custom]/File[/etc/php5/cli/conf.d/custom.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Ini[custom]/File[/etc/php5/cli/conf.d/custom.ini]: Skipping because of failed dependencies
notice: /Stage[main]/Xdebug/Package[xdebug]: Dependency Package[php] has failures: true
warning: /Stage[main]/Xdebug/Package[xdebug]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Module[php5-intl]/Package[PhpModule_php5-intl]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Module[php5-intl]/Package[PhpModule_php5-intl]: Skipping because of failed dependencies
notice: /Stage[main]/Php::Pear/Package[php-pear]: Dependency Package[php] has failures: true
warning: /Stage[main]/Php::Pear/Package[php-pear]: Skipping because of failed dependencies
notice: /Stage[main]/Php::Devel/Package[php-devel]: Dependency Package[php] has failures: true
warning: /Stage[main]/Php::Devel/Package[php-devel]: Skipping because of failed dependencies
notice: /Stage[main]/Php::Composer/Exec[composer-/usr/bin]: Dependency Package[php] has failures: true
warning: /Stage[main]/Php::Composer/Exec[composer-/usr/bin]: Skipping because of failed dependencies
notice: /Stage[main]//Xdebug::Config[cgi]/Php::Ini::Removeblock[xdebug-cgi]/Exec[perl -pi -w -e "s/^([?)xdebug(]?)(.+\n)//" /etc/php5/apache2/php.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Xdebug::Config[cgi]/Php::Ini::Removeblock[xdebug-cgi]/Exec[perl -pi -w -e "s/^([?)xdebug(]?)(.+\n)//" /etc/php5/apache2/php.ini]: Skipping because of failed dependencies
notice: /Stage[main]//Xdebug::Config[cgi]/File_line[/etc/php5/apache2/php.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Xdebug::Config[cgi]/File_line[/etc/php5/apache2/php.ini]: Skipping because of failed dependencies
notice: /Stage[main]//Xdebug::Config[cli]/Php::Ini::Removeblock[xdebug-cli]/Exec[perl -pi -w -e "s/^([?)xdebug(]?)(.+\n)//" /etc/php5/cli/php.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Xdebug::Config[cli]/Php::Ini::Removeblock[xdebug-cli]/Exec[perl -pi -w -e "s/^([?)xdebug(]?)(.+\n)//" /etc/php5/cli/php.ini]: Skipping because of failed dependencies
notice: /Stage[main]//Xdebug::Config[cli]/File_line[/etc/php5/cli/php.ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Xdebug::Config[cli]/File_line[/etc/php5/cli/php.ini]: Skipping because of failed dependencies
notice: /Stage[main]/Git::Install/Package[git]/ensure: created
notice: /Stage[main]/Git::Install/Package[git-svn]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Apache::Vhost[stagioni.local]/File[/etc/apache2/sites-available/1-stagioni.local.conf]/ensure: created
info: /Stage[main]//Apache::Vhost[stagioni.local]/File[/etc/apache2/sites-available/1-stagioni.local.conf]: Scheduling refresh of Service[apache]
notice: /Stage[main]//Apache::Vhost[stagioni.local]/File[ApacheVHostEnabled_stagioni.local]/ensure: created
notice: /Stage[main]//Php::Pecl::Module[PDO]/Exec[pecl-PDO]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[PDO]/Exec[pecl-PDO]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[SPL_Types]/Exec[pecl-SPL_Types]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[SPL_Types]/Exec[pecl-SPL_Types]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[PDO_MYSQL]/Exec[pecl-PDO_MYSQL]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[PDO_MYSQL]/Exec[pecl-PDO_MYSQL]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[xhprof]/Exec[pecl-xhprof]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[xhprof]/Exec[pecl-xhprof]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[xhprof]/Exec[pecl-xhprof-ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[xhprof]/Exec[pecl-xhprof-ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[PDO_MYSQL]/Exec[pecl-PDO_MYSQL-ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[PDO_MYSQL]/Exec[pecl-PDO_MYSQL-ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[PDO_MYSQL]/Exec[pecl-PDO_MYSQL-ini-so-include]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[PDO_MYSQL]/Exec[pecl-PDO_MYSQL-ini-so-include]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[xhprof]/Exec[pecl-xhprof-ini-so-include]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[xhprof]/Exec[pecl-xhprof-ini-so-include]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[xhprof]/Php::Custom::Xhprof[xhprof]/Exec[add-xhprof-output-dir-to-ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[xhprof]/Php::Custom::Xhprof[xhprof]/Exec[add-xhprof-output-dir-to-ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[PDO]/Exec[pecl-PDO-ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[PDO]/Exec[pecl-PDO-ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[SPL_Types]/Exec[pecl-SPL_Types-ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[SPL_Types]/Exec[pecl-SPL_Types-ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[SPL_Types]/Exec[pecl-SPL_Types-ini-so-include]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[SPL_Types]/Exec[pecl-SPL_Types-ini-so-include]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[SPL]/Exec[pecl-SPL]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[SPL]/Exec[pecl-SPL]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[SPL]/Exec[pecl-SPL-ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[SPL]/Exec[pecl-SPL-ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[SPL]/Exec[pecl-SPL-ini-so-include]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[SPL]/Exec[pecl-SPL-ini-so-include]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[PDO]/Exec[pecl-PDO-ini-so-include]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[PDO]/Exec[pecl-PDO-ini-so-include]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[json]/Exec[pecl-json]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[json]/Exec[pecl-json]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[json]/Exec[pecl-json-ini]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[json]/Exec[pecl-json-ini]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[json]/Exec[pecl-json-ini-so-include]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Pecl::Module[json]/Exec[pecl-json-ini-so-include]: Skipping because of failed dependencies
notice: /Stage[main]//Php::Pecl::Module[xhprof]/Php::Custom::Xhprof[xhprof]/Git::Repo[xhprof]/Exec[git_repo_xhprof]/returns: executed successfully
notice: /Stage[main]/Git::Install/Git::User[root]/Exec[root_git_email]/returns: executed successfully
notice: /Stage[main]//Apache::Vhost[xhprof]/File[/etc/apache2/sites-available/1-xhprof.conf]: Dependency Package[php] has failures: true
warning: /Stage[main]//Apache::Vhost[xhprof]/File[/etc/apache2/sites-available/1-xhprof.conf]: Skipping because of failed dependencies
notice: /Stage[main]//Apache::Vhost[xhprof]/File[ApacheVHostEnabled_xhprof]: Dependency Package[php] has failures: true
warning: /Stage[main]//Apache::Vhost[xhprof]/File[ApacheVHostEnabled_xhprof]: Skipping because of failed dependencies
notice: /Stage[main]/Git::Install/Git::User[root]/Exec[root_git_name]/returns: executed successfully
notice: /Stage[main]//Php::Module[phpmyadmin]/Package[PhpModule_phpmyadmin]: Dependency Package[php] has failures: true
warning: /Stage[main]//Php::Module[phpmyadmin]/Package[PhpModule_phpmyadmin]: Skipping because of failed dependencies
notice: /Stage[main]/Apache/Service[apache]: Dependency Package[php] has failures: true
warning: /Stage[main]/Apache/Service[apache]: Skipping because of failed dependencies
notice: /Stage[main]/Apache/Service[apache]: Triggered 'refresh' from 4 events
info: Creating state file /var/lib/puppet/state/state.yaml
notice: Finished catalog run in 141.58 seconds
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

cd /tmp/vagrant-puppet/manifests && puppet apply --verbose --modulepath '/etc/puppet/modules:/tmp/vagrant-puppet/modules-0' default.pp --detailed-exitcodes || [ $? -eq 2 ]

403 Forbidden on stock PuPHPet configuration

I've been unable to access the web server on the default download from PuPHPet. I get the precise32 Vagrant file, run vagrant up and let it do its thing, but when I try to access the VM through the IP provided (http://192.168.56.101/) but I just get a 403 Forbidden error:

Forbidden
You don't have permission to access / on this server.
Apache/2.2.22 (Ubuntu) Server at 192.168.56.101 Port 80

Add vagrant machine

HI

Would be great if you add a vagrant file to this project (Maybe generated with your project). So you just checkout the project + vagrant up and build your own vm with your tool in a ready to run Environment.

Greetings
Sebastian

Add Debian support

It would be nice feature if this project supported Debian OS since we use Debian in our production/development environments.

Zip archive is a "tarbomb"

This might be deliberate, but the zip file provided is a tarbomb (not to be confused with a zipbomb).

As such if you download the zip then do something like this:

$ cp precise64.zip ~
$ cd ~
$ unzip precise64.zip
Archive:  precise64.zip
  inflating: README                  
  inflating: Vagrantfile
  ...

The files explode in the cwd instead of being contained in a subfolder.

Can be resolved a number of ways of course, e.g. (hacky but brief):

$ git diff
diff --git src/Puphpet/Domain/Filesystem.php src/Puphpet/Domain/Filesystem.php
index 99a8f75..7a2d62b 100644
--- src/Puphpet/Domain/Filesystem.php
+++ src/Puphpet/Domain/Filesystem.php
@@ -98,9 +98,14 @@ class Filesystem
    *   
    * @param string $archivePath an absolute path where archive should be created
    * @param string $inDir       the source folder of the content
+   * @param bool   $noBomb      Ensure the archive contents are in a subfolder
    */  
-    public function createArchive($archivePath, $inDir)
+    public function createArchive($archivePath, $inDir, $noBomb = true)
    {   
+        if ($noBomb) {
+            $base = basename($archivePath, '.zip');
+            $this->exec(sprintf("mkdir %s && mv * ./%s", $base, $base), $inDir);
+        }   
        return $this->exec(sprintf("zip -r %s * -x */.git\*", $archivePath), $inDir);
    } 

Add port forwarding support

Vagrant allows you to configure ports to be forwarded from the host OS to the guest VM. For example you could forward port 8080 on the host to port 80 on the guest. Could support for configuring the port forwarding be added to puphpet? If I get some time I'll see if I can cook up a PR.

re-import manifest files

would be great to re-import exported manifest files so one can update the settings and export it again

Create cron or similar to delete old zip files

We recently ran out of space on /tmp

Either need to create a cron job to go through every day and remove older files, or we need to not even create the zip file and have it all on RAM?

Downloaded Tar File

Inside the gz file which is downloaded the "phuphpet" file should be called "phuphpet.tar" if possible to make it obvious that it should be extracted. This really applies on windows machines.

PS Great idea and really well done. - Thanks

Create tests for different configurations of Vagrantfile/manifests

Need to more completely cover the end result. Not the vagrant-puppet-lamp code, but what is generated by puphpet directly.

Will need refactor Puphpet\Controller\Front::createAction() and separate out the twig stuff from the file generation stuff from the download file stuff.

Will need to more strictly define what values are valid for each input field from website, and create random data from valid values.

Then we can run multiple tests through puppet-lint to see if our stuff builds.

php mysql extension

I just build a VM with this great tool consiting of apache+mysql+php5.4 and ran into the problem that the phps' mysql module was missing... maybe this should be also considered a default apt-get installed module?

Apache running altough nginx is provisioned

Since some days I have the really strange behaviour that on a fresh test box with nginx as webserver apache is running after provisioning is done.
I really do not know and why apache gets installed on this machine. I checked the provisioning log but it contains no according entry. Really no idea why this happens

PHP 5.4 box phpmyadmin facts error

Hi,

I'm getting this when trying to up my box generated on puphpet:

Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults
Error: Failed to parse template phpmyadmin/config.db.php:
Filepath: /opt/ruby/lib/ruby/gems/1.9.1/gems/puppet-3.0.2/lib/puppet/parser/templatewrapper.rb
Line: 70
Detail: Could not find value for 'pma_controluser_password' at /tmp/vagrant-puppet/modules-0/phpmyadmin/templates/config.db.php:12
at /tmp/vagrant-puppet/modules-0/phpmyadmin/manifests/init.pp:51 on node precise64.localdomain
Error: Failed to parse template phpmyadmin/config.db.php:
Filepath: /opt/ruby/lib/ruby/gems/1.9.1/gems/puppet-3.0.2/lib/puppet/parser/templatewrapper.rb
Line: 70
Detail: Could not find value for 'pma_controluser_password' at /tmp/vagrant-puppet/modules-0/phpmyadmin/templates/config.db.php:12
at /tmp/vagrant-puppet/modules-0/phpmyadmin/manifests/init.pp:51 on node precise64.localdomain
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

I'm on a OsX 10.8.4 host using vagrant + vmware.

Creating new box causes phpmyadmin error

With phpmyadmin, this is the output when doing "vagrant up":

Puppet::Parser::AST::Resource failed with error ArgumentError: Cannot alias Package[PhpModule_phpmyadmin] to ["phpmyadmin"] at /tmp/vagrant-puppet/modules-0/php/manifests/module.pp:59; resource ["Package", "phpmyadmin"] already declared at /tmp/vagrant-puppet/modules-0/phpmyadmin/manifests/init.pp:26 at /tmp/vagrant-puppet/modules-0/php/manifests/module.pp:59 on node precise64

Without phpmyadmin checked, the machine at least starts.

Separate the vagrant modules into their own repos

To make updating puphpet easier to maintain as it grows larger, it may be best to begin separating the Vagrant modules into their own repos, and only add those that are required into the zip file.

This would also help with the problem I've created by adding/editing features into some of the modules - if we force the PHP module to be a separate branch we can always pull from the parent and receive any updates they have.

Clarify which license is used for the generated files

I am writing an OS project and plan to deliver my puphpet configuration.
Unfortunately all the configuration files like in Vagrantfile, /manifest etc don't have a copyright notice.

It would be great to have that applied, so others will know if these files can be reused or not.
Its simply a bad taste to have files in an os project without any copyright notice.

php error log enabled

Would be awesome to have the error_log configurable from the interface. something like

error_log = /var/log/php_errors.log

Compress vagrant files with ZipArchive

I did create a virtual machine with puPHPet, and I was testing my fork with new improvements.

After VM was up, I had problems with data compression and I changed the compression to \ZipArchive.

I did some tests with this improvement and it's working good.

You can look in my fork:
tonicospinelli@badb6b2

If you agree, I do a PR with my changes.

Optimize apt-get update calls

Currently we have to exec calls in the setup which are doing the same:

Exec['apt_update'] and Exec[apt-get update]

Both execs are executed and provisioning lasts longer than it should. Besides apt-get update should be the very first task executed during provisioning and so all other resources should require it.

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.