PHPackages                             byteinternet/hypernode-vagrant - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. byteinternet/hypernode-vagrant

Abandoned → [byteinternet/hypernode-vagrant](/?search=byteinternet%2Fhypernode-vagrant)ArchivedProject[DevOps &amp; Deployment](/categories/devops)

byteinternet/hypernode-vagrant
==============================

Easily configurable Magento Vagrant. Hypernode development environment.

20170712.1(8y ago)519219[32 issues](https://github.com/ByteInternet/hypernode-vagrant/issues)MITRuby

Since Sep 5Pushed 6y ago4 watchersCompare

[ Source](https://github.com/ByteInternet/hypernode-vagrant)[ Packagist](https://packagist.org/packages/byteinternet/hypernode-vagrant)[ Docs](https://github.com/byteinternet/hypernode-vagrant)[ RSS](/packages/byteinternet-hypernode-vagrant/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)DependenciesVersions (15)Used By (0)

[![Build Status](https://camo.githubusercontent.com/34c514121dbc583efd3f196f152ab9eef74ec19ef7630e2f8381a8cdc215ce06/68747470733a2f2f7472617669732d63692e6f72672f42797465496e7465726e65742f68797065726e6f64652d76616772616e742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ByteInternet/hypernode-vagrant)[![Coverage Status](https://camo.githubusercontent.com/804b925832b66225fffd5de0fc204aa5d6801eb42d04141ebb0994117821becc/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f42797465496e7465726e65742f68797065726e6f64652d76616772616e742f62616467652e737667)](https://coveralls.io/github/ByteInternet/hypernode-vagrant)

Hypernode test environment for MacOSX and Linux
===============================================

[](#hypernode-test-environment-for-macosx-and-linux)

NOTICE: This project has been deprecated in favor of [hypernode-docker](https://github.com/ByteInternet/hypernode-docker). It is possible to keep using this Vagrant Virtualbox and LXC box, but we will push no further box updates. Since we have released the [official Hypernode Docker image for Magento development](https://community.hypernode.io/hypernode-docker/) we have seen that most users prefer that over Vagrant for the advantages in performance and compatibility, and we encourage all `hypernode-vagrant` users to switch to that. If you wish to continue using the `hypernode-vagrant` boxfiles that is possible, but note that no new box files will be uploaded. However, it is possible to still receive newer versions of Hypernode related tooling by manually running `apt-get update` and `apt-get upgrade`. Note that official support from Byte on this box is no longer available though.

You can start developing on your own local Hypernode within 15 minutes.

Starting the test environment
-----------------------------

[](#starting-the-test-environment)

### Installing

[](#installing)

1. Install [Virtualbox 5.0.x](https://www.virtualbox.org/wiki/Downloads), or [LXC](https://help.ubuntu.com/lts/serverguide/lxc.html) (experimental).
2. Install [Vagrant 1.6.4 or later](http://www.vagrantup.com/downloads.html).
3. Clone this [repository](https://github.com/ByteInternet/hypernode-vagrant.git) using Git or download the [zip file](https://github.com/ByteInternet/hypernode-vagrant/archive/master.zip) from Github.

```
    # check if vagrant version > 1.7.3 ?
    vagrant --version
    cd hypernode-vagrant
    vagrant plugin install vagrant-hostmanager

```

```
    vagrant plugin install vagrant-vbguest
    vagrant up --provider virtualbox

```

### Configuring your hypernode vagrant

[](#configuring-your-hypernode-vagrant)

The first time you run `vagrant up` after downloading the hypernode-vagrant zip file or cloning this git repository, some user input is required to prepare and setup some configuration:

```
    $ vagrant up

    Bringing machine 'hypernode' up with 'virtualbox' provider...
        hypernode: Is this a Magento 1 or 2 Hypernode? [default 2]:
    ==> hypernode: Nginx will be configured for Magento 2. /data/web/magento2/pub will be symlinked to /data/web/public
        hypernode: Is this a PHP 5.5 or 7.0 Hypernode? [default 7.0]:
    ==> hypernode: Will boot a box with PHP 7.0 installed
        hypernode: Do you want to enable Varnish? Enter true or false [default false]:
    ==> hypernode: Varnish will be disabled by loading a nocache vcl.
        hypernode: What filesystem type do you want to use? Options: nfs_guest, nfs, rsync, virtualbox [default virtualbox]:
    ==> hypernode: Virtualbox is the default fs type. If you later want to try a faster fs type like nfs_guest, edit local.yml
    ==> hypernode: Disabling fs->folders->magento1 in the local.yml because Magento 2 was configured..
        hypernode: Do you want to enable the production-like firewall? Enter true or false [default false]:
    ==> hypernode: The firewall will be disabled
        hypernode: Do you want to enable production-like memory management?
        hypernode: This might be slower but it is more in-line with a real Hypernode.
        hypernode: Note: for LXC boxes this setting is disabled.
        hypernode: Enter true or false [default false]:
    ==> hypernode: Production-like memory management will be disabled
        hypernode: Do you want to install Xdebug? Enter true or false [default false]:
    ==> hypernode: Xdebug will be disabled
        hypernode: What Ubuntu version do you want to use? Options: xenial, precise (deprecated) [default xenial]:
    ==> hypernode: Will use the Xenial version. This is the default.
    ==> hypernode: Your hypernode-vagrant is now configured. Please run "vagrant up" again.

```

By answering the questions, you can decide:

- Whether a magento 2 or a magento 1 environment will be set up.
- What php version should be used
- Varnish should be enabled or not
- What file sharing type should be used
- Whether firewall configuration similar to production should be configured
- If you want to enable strict memory management (production-like conditions)
- If you want to enable Xdebug
- What Ubuntu version to use (Xenial or the old Precise version)

This way a valid local.yml is created which is then used to preconfigure the hypernode-vagrant. When this is done, you can run `vagrant up` again to start your vagrant box.

Voila! Access your local Hypernode through  or .

### Using vagrant with LXC (Linux only)

[](#using-vagrant-with-lxc-linux-only)

Virtualbox can be rather slow. In case you are on Linux you can also use LXC instead.

To do this, change the synced folder type in local.yml to something other than virtualbox like rsync or nfs:

```
    fs:
      type: rsync

```

Then install the vagrant-lxc plugin:

```
    vagrant plugin install vagrant-lxc
    vagrant up --provider lxc

```

Even though we do not officially support it, if you insist of running the box on Arch Linux see [this document](Documentation/archlinux_setup.md) for additional instructions.

Using the test environment
--------------------------

[](#using-the-test-environment)

### Uploading files

[](#uploading-files)

The local directories `data/web/public/` and `data/web/nginx/` are bound to the Vagrant image. You can use this local dir to edit all your files.

So fire up PHPStorm and edit away locally. Then check out the Hypernode box to see results.

### SSH

[](#ssh)

SSH is available at port 22 on hostname hypernode.local, or at port 2222 localhost.

```
    ssh app@hypernode.local -oStrictHostKeyChecking=no -oAddressFamily=inet
```

You can use this config snippet for SSH to ease logging in and then just `ssh hypernode.local`:

```
    Host hypernode.local
        Hostname hypernode.local
        User app
        StrictHostKeyChecking no
        # because the host key will change over time

```

### PHP version

[](#php-version)

The default php version is 5.5. To boot a hypernode-vagrant box with php 7.0 edit the local.yml file or input 5.5 or 7.0 for when asked for the required php version when setting up your vagrant.

Change local.yml to:

```
    php:
      version: 7.0

```

Destroy and re-create the box

```
    vagrant destroy -f
    vagrant up

```

### MySQL

[](#mysql)

MySQL is available at hostname hypernode.local, port 3306 or at localhost, port 3307.

```
     # find your MySQL password in /data/web/.my.cnf by loging in to SSH
     # ssh app@hypernode.local cat /data/web/.my.cnf

     mysql -u app --host=hypernode.local -p

```

To connect directly from the vagrant directory you can use `vagrant ssh`. This will log you in as the `vagrant` user. This will allow you to use `sudo` and manage the server. Do not use this for normal operation, however, the app user should be used for normal usage and as the website user.

### Mail

[](#mail)

All mail is redirected to a local [MailHog](https://github.com/mailhog/MailHog) instance. Access MailHog at  .

[![Mail is routed to MailHog](https://raw.githubusercontent.com/ByteInternet/hypernode-vagrant/12f11242e4ed66631ee2dc4e44390b3f62c27932/Documentation/mailhog.png "MailHog impression")](https://raw.githubusercontent.com/ByteInternet/hypernode-vagrant/12f11242e4ed66631ee2dc4e44390b3f62c27932/Documentation/mailhog.png)

Keeping up to date with Hypernode versions
------------------------------------------

[](#keeping-up-to-date-with-hypernode-versions)

With every Hypernode release, we'll update the Hypernode vagrant image as well. Use the following to update your box (you'll lose your MySQL data unless you make a mysqldump first!):

```
    vagrant box update
    # optionally backup MySQL, whose data is not currently in a shared directory
    vagrant destroy
    vagrant up

```

Customizing the setup
---------------------

[](#customizing-the-setup)

You might have some ports already in use. Hypernode by default forwards ports 2222 to 22, 3307 to 3306 and 8080 to 80.

Collisions will be automatically resolved, Vagrant will print the newly assigned ports if that happens.

If you want to change these ports, just have a look at the Vagrant file. It is pretty self-explanatory.

Running multiple hypernode-vagrant boxes at the same time
---------------------------------------------------------

[](#running-multiple-hypernode-vagrant-boxes-at-the-same-time)

If you have two checkouts of this repository or have copied this Vagrantfile to multiple projects, you can run them simultaneously. Some things to keep in mind:

1. The static aliases (hypernode.local, hypernode-alias) will point to the box that was booted last.
2. Aliases are created based on the name of the directory the Vagrantfile is in. If the dir name is 'hypernode-vagrant' the parent directory name will be used. You can override this name with an environment variable

    ```
    HYPERNODE_VAGRANT_NAME="mywebshop" vagrant up

    ```

    You can access the node on

    ```
    http://mywebshop.hypernode.local

    ```
3. You can add your own aliases by updating the following section in the local.yml file

    ```
    hostmanager:
      extra-aliases:
        - my-custom-store-url1.local
        - my-custom-store-url2.local

    ```

    Apply these settings to a provisioned environment by running the following command inside your Vagrant directory

    ```
    vagrant hostmanager

    ```
4. If there are two hypernode-vagrants running with the same name, you can still access them both using the alias derived from the path name. The hash based on the Vagrantfile's directory path is always unique because there can only be one Vagrantfile per directory.

    ```
    http://b033d-mywebshop-magweb-vgr.nodes.hypernode.local
    http://eb7b8-mywebshop-magweb-vgr.nodes.hypernode.local

    ```

For the defined aliases check `/etc/hosts` on Unix based systems (Linux, Mac). On Windows see `C:\Windows\System32\drivers\etc\hosts`.

Working with shared folders
---------------------------

[](#working-with-shared-folders)

When you start the vagrant box by running `vagrant up`, vagrant will mount pre-defined directories on the guest onto the host machine (your local desktop). This way you can work locally and make changes in your preferred IDE and view the results by visiting the vagrant box in your browser.

These shared directories are defined in local.yml, a configuration file created when you run `vagrant up` for the first time:

```
    fs:
      folders:
        magento1:
          host: data/web/public
          guest: /data/web/public
        nginx:
          host: data/web/nginx/
          guest: /data/web/nginx/
      type: virtualbox
      disabled_folders:
        magento2:
          host: data/web/magento2
          guest: /data/web/magento2

```

All mountpoints defined in `folders` that have their own `host` and `guest` paths are mounted when setting up. If you want to add your own mountpoints, you can add your own section:

```
    folders:
      some_mount:
        host: my/dir
        guest: /some/path

```

Make sure you don't combine both magento2 and magento1 sections as they will be mounted on top of each other.

Switching between magento1 and magento2
---------------------------------------

[](#switching-between-magento1-and-magento2)

To switch between magento1 and magento2, change the `version` setting in the local.yml file:

```
    magento:
      version: 2

```

After changing the version, run `vagrant destroy && vagrant up` to remove the old node and boot up a new one.

Vagrant will notice the magento version changed and correct the shared folders settings accordingly:

```
    ==> hypernode: Disabling fs->folders->magento1 in the local.yml because Magento 2 was configured..

```

Change the allocated memory
---------------------------

[](#change-the-allocated-memory)

By default 2048M of memory is allocated to the hypernode, this value can be altered. To do so change the `memory` section in your `local.yml` to any valid value.

```
memory: 4096

```

For LXC it's enough to issue the `vagrant reload` command.

For VirtualBox a rebuild of the machine is required. If `vagrant up` is issued for the first time the machine will be build with the specified `memory`. Otherwise a `vagrant destroy` should be issued first. If there is no possibility to issue `vagrant destroy` (due to local changes) the memory can be adjusted through the VirtualBox GUI.

Port forwarding
---------------

[](#port-forwarding)

There is no port forwarding enabled by default, except for the default SSH forward managed by Vagrant. Port forwarding can be set up by modifying the `ports: false` section in your `local.yml`.

```
ports:
- send: 8080
  to: 80
- send: 33060
  to: 3306
- send: 2222
  to: 22

```

Ports will be bound to 127.0.0.1 by default, which means the forward will only be accessible from the local machine. If remote access is wished a separate `bind-addr` can be added to those in question.

```
ports:
- send: 8080
  to: 80
  bind-addr: 0.0.0.0

```

For LXC it's required to have the [redir](http://manpages.ubuntu.com/manpages/xenial/man1/redir.1.html) package installed.

Troubleshooting
---------------

[](#troubleshooting)

### ==&gt; default: stdin: is not a tty

[](#-default-stdin-is-not-a-tty)

This is Vagrant bug [\#1673](https://github.com/mitchellh/vagrant/issues/1673) and perfectly harmless.

### Logging in with SSH is slow on Mac

[](#logging-in-with-ssh-is-slow-on-mac)

Macs try to connect over IPv6 by default, which makes logging in with SSH slow. To make it faster either add `-oAddressFamily=inet` to your ssh command or add "AddressFamily inet" to your ~/.ssh/config file.

```
MacBook-Air:hypernode-vagrant vdloo$ time ssh app@hypernode.local -A exit
real	0m5.093s
MacBook-Air:hypernode-vagrant vdloo$ time ssh app@hypernode.local -oAddressFamily=inet -A exit
real	0m0.112s

```

### The config reloader is not reloading on changes in /data/web/nginx

[](#the-config-reloader-is-not-reloading-on-changes-in-datawebnginx)

/data/web/nginx is an NFS mount on your local computer. We use inotify to detect changes in the config files, but NFS does not support inotify. If you want to use automatic config reloads on nginx config changes, change the vagrant file to not use an nfs mount by uncommenting:

```
config.vm.synced_folder "data/web/nginx/", "/data/web/nginx/", owner: "app", group: "app", create: true

```

And then manually sync your nginx config files to the hypernode vagrant box.

### \[hypernode\] GuestAdditions versions on your host (X.X.XX) and guest (X.X.XX) do not match.

[](#hypernode-guestadditions-versions-on-your-host-xxxx-and-guest-xxxx-do-not-match)

This error appears when your VM GuestAdditions installed by virtualbox are older then the one used on the hypernode vagrant. To resolve this, upgrade your virtualbox to the latest version and make sure you have the latest box version with vagrant box update.

### The web pages don't change

[](#the-web-pages-dont-change)

Varnish is NOT enabled by default but can be enabled in local.yml or by answering the configuration questions asked the first time `vagrant up` is executed (this will generate a local.yml)

If you enabled varnish however it's possible your pages are not changing due to caching. To check if this is what is causing your pages to remain static try clearing the cache.

```
# this clears the entire varnish cache (warning: makes things slow until cache is filled up again)
varnishadm "ban req.url ~ /"

```

To completely disable Varnish caching

```
# Create a vcl that tells Varnish to cache nothing
echo -e 'vcl 4.0;\nbackend default {\n  .host = "127.0.0.1";\n  .port = "8080";\n}\nsub vcl_recv {\n  return(pass);\n}' > /data/web/disabled_caching.vcl

# Compile the vcl
varnishadm vcl.load nocache /data/web/disabled_caching.vcl

# Load the vcl
varnishadm vcl.use nocache

```

For more information about Varnish on Hypernode see [this knowledgebase article](https://support.hypernode.com/knowledgebase/varnish-on-hypernode/).

### Transfer closed with x bytes remaining to read

[](#transfer-closed-with-x-bytes-remaining-to-read)

Sometimes there is a connection error while downloading or upgrading the vagrant box.

```
http://vagrant.hypernode.com/hypernode.vagrant.release-2653.box
An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again.

transfer closed with 675809792 bytes remaining to read

```

If you get this error you can continue the interrupted download with another `vagrant up` (or a `vagrant box update` if you have already installed a previous version of the box)

```
==> hypernode: Adding box 'hypernode' (v2653) for provider: virtualbox
    hypernode: Downloading: http://vagrant.hypernode.com/hypernode.vagrant.release-2653.box
==> hypernode: Box download is resuming from prior download progress

```

### Can't connect to hypernode.local but can connect to 127.0.0.1:8080

[](#cant-connect-to-hypernodelocal-but-can-connect-to-1270018080)

Make sure you have `net-tools` installed if you're on Linux. If that did't fix it, you can check out [this issue](https://github.com/ByteInternet/hypernode-vagrant/issues/153) or [this issue](https://github.com/ByteInternet/hypernode-vagrant/issues/150) for more debugging suggestions.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance7

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 90.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~28 days

Recently: every ~34 days

Total

12

Last Release

3275d ago

Major Versions

20170217.1 → 20170222.12017-02-22

20170222.1 → 20170414.12017-04-14

20170414.1 → 20170421.12017-04-21

20170421.1 → 20170503.12017-05-03

20170503.1 → 20170712.12017-07-12

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3043901?v=4)[Hypernode](/maintainers/hypernode)[@Hypernode](https://github.com/Hypernode)

---

Top Contributors

[![vdloo](https://avatars.githubusercontent.com/u/1437341?v=4)](https://github.com/vdloo "vdloo (251 commits)")[![allardhoeve](https://avatars.githubusercontent.com/u/1262726?v=4)](https://github.com/allardhoeve "allardhoeve (4 commits)")[![hongaar](https://avatars.githubusercontent.com/u/205834?v=4)](https://github.com/hongaar "hongaar (4 commits)")[![frosit](https://avatars.githubusercontent.com/u/4974910?v=4)](https://github.com/frosit "frosit (3 commits)")[![nocturnalfrog](https://avatars.githubusercontent.com/u/1250532?v=4)](https://github.com/nocturnalfrog "nocturnalfrog (3 commits)")[![fliphess](https://avatars.githubusercontent.com/u/2484666?v=4)](https://github.com/fliphess "fliphess (3 commits)")[![gwillem](https://avatars.githubusercontent.com/u/1145479?v=4)](https://github.com/gwillem "gwillem (2 commits)")[![tomlankhorst](https://avatars.githubusercontent.com/u/675432?v=4)](https://github.com/tomlankhorst "tomlankhorst (2 commits)")[![hslatman](https://avatars.githubusercontent.com/u/1219780?v=4)](https://github.com/hslatman "hslatman (1 commits)")[![timweprovide](https://avatars.githubusercontent.com/u/67999201?v=4)](https://github.com/timweprovide "timweprovide (1 commits)")[![andreas-bytenl](https://avatars.githubusercontent.com/u/30630443?v=4)](https://github.com/andreas-bytenl "andreas-bytenl (1 commits)")[![tdgroot](https://avatars.githubusercontent.com/u/1165302?v=4)](https://github.com/tdgroot "tdgroot (1 commits)")[![rikwillems](https://avatars.githubusercontent.com/u/5927342?v=4)](https://github.com/rikwillems "rikwillems (1 commits)")

### Embed Badge

![Health badge](/badges/byteinternet-hypernode-vagrant/health.svg)

```
[![Health](https://phpackages.com/badges/byteinternet-hypernode-vagrant/health.svg)](https://phpackages.com/packages/byteinternet-hypernode-vagrant)
```

###  Alternatives

[ryoluo/sail-ssl

Laravel Sail plugin to enable SSL (HTTPS) connection with Nginx.

192739.0k3](/packages/ryoluo-sail-ssl)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4676.9k](/packages/tiamo-phpas2)[wapmorgan/php-rpm-packager

RPM packager for PHP applications.

116.5k](/packages/wapmorgan-php-rpm-packager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
