Skip to content

Instantly share code, notes, and snippets.

@RupGautam
Last active September 14, 2017 15:39
Show Gist options
  • Save RupGautam/08d6fc28fc2ee04e341a to your computer and use it in GitHub Desktop.
Save RupGautam/08d6fc28fc2ee04e341a to your computer and use it in GitHub Desktop.
rtCamp EasyEngine Vagrant Auto Script -- This will auto install ubuntu/trusty64 + easyengine And setups up php site.
sudo echo -e "[user]\n\tname = abc\n\temail = [email protected]" > ~/.gitconfig
wget -qO ee rt.cx/ee && sudo bash ee # Install easyengine 3
sudo ee site create app.dev --php # This default to create php site. Change flavour from below options
sudo ee site create wordpress.dev --wp # Wordpress site for testing
# Standard WordPress Sites
# sudo ee site create example.com --wp # install wordpress without any page caching
# sudo ee site create example.com --w3tc # install wordpress with w3-total-cache plugin
# sudo ee site create example.com --wpsc # install wordpress with wp-super-cache plugin
# sudo ee site create example.com --wpfc # install wordpress + nginx fastcgi_cache
# sudo ee site create example.com --wpredis # install wordpress + nginx redis_cache
# WordPress Multsite with subdirectory
# sudo ee site create example.com --wpsubdir # install wpmu-subdirectory without any page caching
# sudo ee site create example.com --wpsubdir --w3tc # install wpmu-subdirectory with w3-total-cache plugin
# sudo ee site create example.com --wpsubdir --wpsc # install wpmu-subdirectory with wp-super-cache plugin
# sudo ee site create example.com --wpsubdir --wpfc # install wpmu-subdirectory + nginx fastcgi_cache
# sudo ee site create example.com --wpsubdir --wpredis # install wpmu-subdirectory + nginx redis_cache
# WordPress Multsite with subdomain
# sudo ee site create example.com --wpsubdomain # install wpmu-subdomain without any page caching
# sudo ee site create example.com --wpsubdomain --w3tc # install wpmu-subdomain with w3-total-cache plugin
# sudo ee site create example.com --wpsubdomain --wpsc # install wpmu-subdomain with wp-super-cache plugin
# sudo ee site create example.com --wpsubdomain --wpfc # install wpmu-subdomain + nginx fastcgi_cache
# sudo ee site create example.com --wpsubdomain --wpredis # install wpmu-subdomain + nginx redis_cache
# Non-WordPress Sites
# sudo ee site create example.com --html # create example.com for static/html sites
# sudo ee site create example.com --php # create example.com with php support
# sudo ee site create example.com --mysql # create example.com with php & mysql support
# HHVM Enabled Sites
# sudo ee site create example.com --wp --hhvm # create example.com WordPress site with HHVM support
# sudo ee site create example.com --php --hhvm # create example.com php site with HHVM support
# PageSpeed Enabled Sites
# sudo ee site create example.com --wp --pagespeed # create example.com WordPress site with PageSpeed support
# sudo ee site create example.com --php --pagespeed # create example.com php site with PageSpeed support
# Index.php sample file from gist
cd /var/www/app.dev/htdocs
curl -LO https://gist.githubusercontent.com/RupGautam/d4c28087e1dc73346710/raw/cdd0996adddb65a55808da8aac230a20733231fe/index.php
sudo chown www-data:www-data index.php
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
config.vm.network :private_network, ip: "192.168.33.10"
config.vm.hostname = "wordpress.dev"
config.hostsupdater.aliases = ["wordpress.dev", "app.dev"]
# SSH Agent Forwarding
# Enable agent forwarding on vagrant ssh commands. This allows you to use ssh keys
# on your host machine inside the guest. See the manual for `ssh-add`.
config.ssh.forward_agent = true
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "ubuntu/trusty64"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.10"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
config.vm.synced_folder "./", "/var/www/app.dev/htdocs"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
config.vm.provision "shell", path: "script.sh"
# sudo apt-get update
# sudo apt-get install -y apache2
# SHELL
end
@RupGautam
Copy link
Author

No more hosts file edit | Using HostUpdater Plugin README

Simply install the plugin HostUpdater
vagrant plugin install vagrant-hostsupdater

Please update hosts file: 192.168.33.10 app.dev and wordpress.dev


Don't forget to copy your http auth credential when vagrant up is done.

@RupGautam
Copy link
Author

This script has been updated to install multi host domains

  • app.dev --php
  • wordpress.dev --wp

Whereas app.dev is simply php based site for php development
and wordpress.dev is standard Wordpress site with no caching plugins.
But you can always re-run ee site update wordpress.dev --wp --wpfc or --wp --w3tc to install various favours.

README EasyEngine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment