The one-stop TYPO3 Vagrant Development box

Have you ever wanted to run a local TYPO3 installation, needed to test several versions of TYPO3 or needed to test a single installation against multiple php versions? You are mostly stuck with a LAMP package, macports, homebrew or some other custom solution. Setting up and configuring these environments is most likely not your cup of tea.

Now TYPO3 Homestead enables you to create a complete TYPO3 development machine in minutes. It will install a Vagrant box complete with all the versions of TYPO3 you wish to test. The only thing you need to do is run through the install tool.

No more worries about messing up your operating system.

Included software

TYPO3 Homestead comes with the following stack:

  • composer
  • hhvm
  • mariadb
  • memcached
  • nginx
  • nodejs
  • php-apcu
  • php-fpm
  • postfix nullmailer (outgoing only)
  • self signed ssl certificates
  • TYPO3 CMS
  • TYPO3 FLOW
  • TYPO3 NEOS
  • xdebug
  • xhprof / blackfire
  • zsh (and Prezto)

The TYPO3 sources will all have the proper push urls and commit message setup out of the box. So you can start bringing in those patches right away!

Requirements

To get started you will need some free software:

Installation

Once you have the requirements, the installation is pretty straight forward.

First, clone the repository and cd into the new directory:

Shell

The Vagrant box is built up using ansible roles. TYPO3 Homestead uses several of these roles. You can install them system wide so you can re-use them for other ansible based projects:

Shell

Now you can setup a shared folder where TYPO3 Homestead will place all TYPO3 CMS sources and all your websites. You can configure this folder in the Configuration/vagrant.yml file:

YAML

If you want to contribute code back to the project, set your typo3.org username in Configuration/typo3.yml. The typo3 role will then properly set up your gerrit push url for you.

And then all you need to do is:

Shell

On the first boot, the machine will be provisioned. Ansible will install all needed software, create all needed databases, generate ssl certificates, setup the nginx configurations etc. So it may take a while to complete.

But when it's done, you can access your freshly minted TYPO3 sites. The database credentials can be found in roles/mariadb/vars/main.yml. The mysql user: typo3 has access to all databases. The install tool password is the TYPO3 default.

You can find more information on the TYPO3 Homestead project page.

Want to react? Reach me on Twitter