upload your config

  1. Download the latest version of VirtualBox from here
  2. Download the latest version of Vagrant from here.

To login to your VM you must use $ vagrant ssh or user vagrant using the private key automatically generated at puphpet/files/dot/ssh/id_rsa.key. This key is generated after your initial $ vagrant up!

Local VM Details

Local VM Forwarded Ports

Sharing Folders with Local VM


Digital Ocean Droplet

Don't have a Digital Ocean account? Click here to create one (affiliate link - help support this free service)!

Login to Digital Ocean and go to the API page. You will need a Client ID and API Key.

Installation Requirements

Run the following commands from your host's terminal (not within the VM):

$ vagrant plugin install vagrant-digitalocean
$ vagrant box add dummy https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box
$ brew install curl-ca-bundle
$ echo export SSL_CERT_FILE=/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt >> ~/.bash_profile
$ vagrant plugin install vagrant-digitalocean
$ vagrant box add dummy https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box

You need rsync installed. Easiest way is to use Cygwin and install it through there. Alternatively, you can install rsync separately and add it to your PATH.

$ vagrant plugin install vagrant-digitalocean
$ vagrant box add dummy https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box

Accessing Your VM

To access your VM after running $ vagrant up, type $ vagrant ssh-config to get the IP address assigned to the server you created, and add the IP address to your computer's hosts file. Type $ vagrant ssh to be immediately connected via SSH to your new server!

Digital Ocean VM Details

Sharing Your Folders

Rackspace Instance

Login to Rackspace and go to the API page. You will need an API Key.

Installation Requirements

Run the following commands from your host's terminal (not within the VM):

$ vagrant plugin install vagrant-rackspace
$ vagrant box add dummy https://github.com/mitchellh/vagrant-rackspace/raw/master/dummy.box
$ brew install curl-ca-bundle
$ echo export SSL_CERT_FILE=/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt >> ~/.bash_profile
$ vagrant plugin install vagrant-rackspace
$ vagrant box add dummy https://github.com/mitchellh/vagrant-rackspace/raw/master/dummy.box

You need rsync installed. Easiest way is to use Cygwin and install it through there. Alternatively, you can install rsync separately and add it to your PATH.

$ vagrant plugin install vagrant-rackspace
$ vagrant box add dummy https://github.com/mitchellh/vagrant-rackspace/raw/master/dummy.box

Accessing Your VM

To access your VM after running $ vagrant up, type $ vagrant ssh-config to get the IP address assigned to the server you created, and add the IP address to your computer's hosts file. Type $ vagrant ssh to be immediately connected via SSH to your new server!

Rackspace VM Details

Sharing Your Folders

AWS EC2 Instance

Use Amazon's famously reliable servers for your app!

Installation Requirements

Run the following commands from your host's terminal (not within the VM):

$ vagrant plugin install vagrant-aws
$ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
$ brew install curl-ca-bundle
$ echo export SSL_CERT_FILE=/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt >> ~/.bash_profile
$ vagrant plugin install vagrant-aws
$ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box

You need rsync installed. Easiest way is to use Cygwin and install it through there. Alternatively, you can install rsync separately and add it to your PATH.

$ vagrant plugin install vagrant-aws
$ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box

AWS EC2 Instance Details


US East (Northern Virginia) Region
US West (Northern California) Region
US West (Oregon) Region
EU (Ireland) Region
South America (Sao Paulo) Region
Asia Pacific (Tokyo) Region
Asia Pacific (Singapore) Region
Asia Pacific (Sydney) Region

Sharing Your Folders

Server Packages

Packages to install via the OS package manager, separated by comma. Do not add Apache/Nginx or PHP here - you will choose those later.

Some common packages are (do not mix!):

    Debian/Ubuntu:
  • vim

MailCatcher

Custom files

dotfiles

You can add all your dot files (.bash_aliases, .vimrc, .gitconfig, etc), to the puphpet/files/dot/ folder that will appear after you extract your generated zip file.

During initial startup, they will automatically be copied into the VM. There is a sample .bash_aliases file there for you to start with - overwrite at will!

Script files

You can run your own custom code after the VM finishes provisioning by adding files to the puphpet/files/exec-always and puphpet/files/exec-once folders.

Files are executed in alphabetical order. Files within exec-once are run before files within exec-always.

Files within exec-always will run on initial $ vagrant up and all $ vagrant provision, while files within exec-once will run only the first time you run Vagrant, unless you SSH into the VM and remove the /.puphpet-stuff/exec-once-ran file and re-run Vagrant.

Apache Modules

Only Apache or Nginx can be installed (or none at all). Installing both at the same time is not supported.



Apache Virtual Host

Install Nginx

Only Apache or Nginx can be installed (or none at all). Installing both at the same time is not supported.

PHP Quick Settings

If you install PHP, you cannot install HHVM.



PHP Libraries

Not using Xdebug? Still pounding out var_dump() and print_r() and echo?
Xdebug and You: Why You Should be Using a Real Debugger

Logs will be available from http://<ip_address>/xhprof/xhprof_html.
The IP address is the one you chose here.
Click here for instructions

You can choose which branch / tag of drush to checkout. See documentation for current versions.

HHVM Quick Settings

If you install HHVM, you cannot install PHP.

MySQL Quick Settings

If you install MySQL, you cannot install MariaDB.



The preferred way to connect to your database is using a dedicated application like Sequel Pro (OS X), HeidiSQL (Windows), and MySQL Workbench (Cross Platform).

Connect using SSH tunnel, username vagrant and SSH key generated at puphpet/files/dot/ssh/id_rsa.key. This key is generated after your initial $ vagrant up!

MySQL Create User & Database

PostgreSQL Quick Settings

MariaDB Quick Settings

If you install MariaDB, you cannot install MySQL.

MongoDB Quick Settings

Redis Quick Settings

Beanstalkd Quick Settings

RabbitMQ Quick Settings