Skip to content
Simple Magento 2 Vagrant Box
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
data updated submodules to magento 2.0.4 Apr 26, 2016
manifests updates to, set forwarding agent to true in vagrant file, c… Oct 7, 2015
puppet_modules update latest magento 2 version and composer submodule Jan 11, 2015
.gitignore Adding a gitignore file Jan 14, 2015
.gitmodules [DOC] Added notice about Magento Connect authentication keys Nov 21, 2015

Magento2 Vagrant Box

A simple way to get magento2 up and running. It consists of a Debian Wheezy box provised via Puppet. The provider is Virtual Box. It will install apache2 +fastcgi, php, php-fpm, mysql and any other necessary dependancies.

The Magento 2 repository is a git submodule and can be edited/explored from the host machine. It is accessed by the guest via shared directories.



  1. Clone this repository: git clone --recursive
  2. Navigate into the repository via cd
  3. IMPORTANT: If you cloned the repository without the --recursive param, you need to initialize the required submodules: git submodule update --init --recursive
  4. Start up virtual machine: vagrant up
  5. Point a host name to in /etc/hosts echo '' >> /etc/hosts

NOTE: Some composer dependancies require git. Agent Forwarding over SSH is enabled in the Vagrant file but you must have ssh-agent running and your key added. Running ssh-add should add the default key to the identities list, which presumably is the same key used to access github/bitbucket. You'll may also need to create a API access token in github, instructions can be found here:

  1. Once the machine completes provisioning, SSH to the server (vagrant ssh).
  2. Add your Magento Connect authentication credentials to the global composer auth.json:
  • Open or create the file ~/.composer/auth.json
  • Add the Magento Connect authentication credentials (if you don't have any, please check here on how to create them):
    "http-basic": {
        "": {
            "username": "<public key>",
            "password": "<private key>"
  • Or you can use the composer config command: composer.phar global config <public_key> <private_key>
  1. Install Magento 2 by running:
  • Via CLI (recommended)

    • reinstall (Magento without sample data) or reinstall -s (Magento with sample data).
  • Via Web Installer

    • Please go to the Magento directory within the vagrant box (cd /vagrant/data/magento2/) and run composer install. Then open '' in your browser and go through the installation process.


  1. From the host machine run git pull && git submodule update --init && vagrant provision.
  • If there is an update to the manifests/mage.pp or files/* files it is recommended to provision the guest machine. This can be done by running: vagrant provision. There is also a cron that runs every 15 minutes to provision within the guest machine in the event it's not done after updating.
  1. If you want to start from a clean slate run: reinstall from within the guest machine. This will uninstall the application and reinstall it from scratch.

Shell Aliases / Scripts

  • m - cd into the base magento directory: /vagrant/data/magento2
  • reinstall - run magento shell uninstall script with the cleanup_database flag and run installation again, uses as base URL
  • reinstall -s - install magento with sample data
  • mt - run bulk magento test suites

Status and Debug utilities

A status vhost on port 88 has been setup to view apache's server status, php-fpm status as well as some other utilities.

Magento Admin User

  • Username: admin
  • Password: password123

Database Info

  • Username: root
  • Password: mage2
  • DB Name: mage2

SSH Info

  • username: vagrant
  • password: vagrant

It's also possible to use vagrant ssh from within the project directory

File Structure

Host Machine / Project directory

  • manifests/mage.pp - Puppet manifest file
  • files/ - contains various service configuration files
    • bash_aliases - vagrant user bash aliases script
    • fastcgi.conf - fastcgi configuration
    • - magento reinstall wrapper script
    • site.conf - apache virtual host configuration
    • www.conf - php-fpm pool configuration
    • xdebug.ini - php xdebug configuration file
  • data/magento2 - Git submodule to Magento2 Github repository:
  • data/magento2-sample-data - Git submodule to Magento2 Sample Data Github repository:

Guest Machine

  • /vagrant/data/magento2 - Apache Document Root
You can’t perform that action at this time.