getting started with drupal vm
TRANSCRIPT
ENTERPRISE DRUPAL
GETTING STARTED WITH
DRUPAL VM
ENTERPRISE DRUPAL
Who here uses a local development environment?
ENTERPRISE DRUPAL
Who here uses MAMP, WAMP, or XAMPP?
ENTERPRISE DRUPAL
Who here uses Virtual Machines or knows what a Virtual Machine is?
ENTERPRISE DRUPAL
Who here uses and/or knows what Vagrant & Ansible are?
ENTERPRISE DRUPAL
If you run a web server, a database server and your scripting language(s) of choice on your main machine and you
have not yet switched to using virtualization in your workflow then this
presentation is for you!
ENTERPRISE DRUPAL
What is Drupal VM?
A virtual machine for local Drupal development, built with Vagrant +
Ansible
ENTERPRISE DRUPAL
What is a Virtual Machine?A virtual machine (VM) is an emulation of a particular
computer system. Virtual machines operate based on the computer architecture and functions of a real or
hypothetical computer, and their implementations may involve specialized hardware, software, or a combination
of both.
ENTERPRISE DRUPAL
ENTERPRISE DRUPAL
• VMs can have different configurations than your local machine, and more importantly, different from VM to VM.
• VMs can mimic your production environment.
• You can have multiple VMs for the same projects; utilizing a Dev., Test, Production workflow.
• All team members can have the same setup eliminating the ‘it works on my computer’ troubleshooting.
VM Benefits
ENTERPRISE DRUPAL
What is Vagrant?Vagrant provides easy to configure, reproducible, and portable work
environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and
flexibility of you and your team.
To achieve its magic, Vagrant stands on the shoulders of giants. Machines are provisioned on top of VirtualBox, VMware or any other provider. Then
awesome and new tools such as Ansible can be used to automatically install and configure software on the machine.
ENTERPRISE DRUPAL
1. Setup
Download and install Vagrant within minutes on Mac OS X, Windows, or a popular distribution of
Linux. No complicated setup process, just a simple to use OS-standard installer.
ENTERPRISE DRUPAL
2. Configure
Create a single file for your project to describe the type of machine you want, the software that needs
to be installed, and the way you want to access the machine. Store this file with your project code.
ENTERPRISE DRUPAL
3. WorkRun a single command — "vagrant up" — and sit back as Vagrant puts together your complete
development environment. Say goodbye to the "works on my machine" excuse as Vagrant creates identical development environments for everyone
on your team.
ENTERPRISE DRUPAL
What is Ansible?
Ansible is a powerful automation engine that makes systems and applications simple to deploy.
No custom scripting or custom code. No agents. All using an automation language that's easy for
anyone to understand and learn.
ENTERPRISE DRUPAL
"I wrote Ansible because none of the existing tools fit my brain. I wanted a tool that I could not use for 6 months, come back later, and still remember how it
worked.”
-Michael DeHaan Ansible project founder
ENTERPRISE DRUPAL
Simply Clear
A simple automation language allows Ansible to be used by anyone - sysadmins, developers, IT
managers. It's easy to write, read, maintain and evolve - without gnarly scripts or custom code. It is
also used extensively in Drupal 8……YAML
ENTERPRISE DRUPAL
Example YAML
ENTERPRISE DRUPAL
Simply FastAnsible is so simple that it requires almost no learning curve when you're getting started and no reeducation when you come back. And because it's cloud-native
(relying on SSH keys with no software to install on remote machines), you don’t have to worry about setup.
Prototype quickly. Automate faster.
ENTERPRISE DRUPAL
Simply PowerfulAnsible is several tools in one: configuration
management, application deployment, workflow orchestration and continuous delivery. Ansible
modules are a comprehensive toolbox for automation - and they are bundled in Ansible core - batteries
included.
ENTERPRISE DRUPAL
Simply Efficient
Ansible doesn't require an agent - it uses SSH (on Linux/Unix) or PowerShell (on Windows). Not
having an agent means less software to manage. It's lightweight and unobtrusive, and gets out of
the way when it's done.
ENTERPRISE DRUPAL
Simply Secure
Not having an agent means that Ansible is inherently more secure - with nothing running or leftover on machines you manage. Ansible uses
built-in OS authentication and OpenSSH - the most peer-reviewed security component available.
ENTERPRISE DRUPAL
What is Drupal VM?
A virtual machine for local Drupal development, built with Vagrant +
Ansible
ENTERPRISE DRUPAL
• Because it does all the work for us and lets us just start developing.
• Because it is constantly being updated and is enhanced almost weekly.
• Because it is easy to configure for our needs.
• Because it is MADE FOR DRUPAL!
Why Drupal VM?
ENTERPRISE DRUPAL
Apache
2.4.x is pre-configured
ENTERPRISE DRUPAL
PHP
5.3, 5.5.x, and even PHP 7
ENTERPRISE DRUPAL
MySQL
5.5.x or MariaDB
ENTERPRISE DRUPAL
Drush
Drush is included and is configurable
ENTERPRISE DRUPAL
Drupal Console
If you are using Drupal 8, Drupal VM is ready for you!
ENTERPRISE DRUPAL
Drupal
6.x, 7.x, and 8.x.x are all highly configurable!!!
ENTERPRISE DRUPAL
Some other great additions…
ENTERPRISE DRUPAL
Apache Solr
4.10.x is included and configurable
ENTERPRISE DRUPAL
Selenium
Is included and ready for testing your sites via Behat
ENTERPRISE DRUPAL
• Memcached.
• Varnish.
• XHProf, for profiling your code.
• XDebug, for debugging your code.
• Adminer, for accessing databases directly.
• Pimp my Log, for easy viewing of log files.
• MailHog, for catching and debugging email.
And even more…
ENTERPRISE DRUPAL
• Website:
• http://www.drupalvm.com
• Github:
• https://github.com/geerlingguy/drupal-vm
• Guide:
• https://github.com/geerlingguy/drupal-vm#quick-start-guide
How do you get started?
ENTERPRISE DRUPAL
Live Demo!
ENTERPRISE DRUPAL
https://github.com/geerlingguy
ENTERPRISE DRUPAL
THANK YOU!OPIN Software Inc.
@opin_software
/opin.software
/company/opin-software
Steve Lavigne, Senior Software Engineer, OPIN Software Inc.