Skip to content

Instantly share code, notes, and snippets.

@Lewiscowles1986
Last active November 22, 2015 20:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Lewiscowles1986/cc38374dabc6ccf2f986 to your computer and use it in GitHub Desktop.
Save Lewiscowles1986/cc38374dabc6ccf2f986 to your computer and use it in GitHub Desktop.
Drupal 8 Vagrant
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "debian/jessie64"
config.vm.network "private_network", ip: "10.0.0.48"
config.vm.hostname = "drupal8.local"
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 = "2048"
vb.cpus = 2
end
config.vm.provision "shell", inline: <<-SHELL
# General
sudo apt-get update -qq
sudo apt-get install -qq wget nano
HOSTNAME=`hostname --fqdn`
# Dotdeb Repo's
wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
sudo echo "deb http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
sudo apt-get update -qq
# NginX
sudo apt-get install -qq nginx-full
# Redis
sudo apt-get install -qq redis-server
# Memcached
sudo apt-get install -qq memcached
# MariaDB
MYSQLPW=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c16`
sudo export DEBIAN_FRONTEND=noninteractive
sudo debconf-set-selections <<< "mariadb-server mysql-server/root_password password ${MYSQLPW}"
sudo debconf-set-selections <<< "mariadb-server mysql-server/root_password_again password ${MYSQLPW}"
sudo apt-get install -qq mariadb-server
sudo echo "MariaDB Root Password: ${MYSQLPW}" >> /etc/autosetup
# Git
sudo apt-get install -qq git
# Get PHP5 (latest)
sudo apt-get install -qq php5-cli php5-fpm php5-curl php5-common php5-gd php5-geoip php5-imagick php5-imap php5-intl php5-json php5-mcrypt
sudo apt-get install -qq php5-memcached php5-mssql php5-mysql php5-pgsql php5-readline php5-redis php5-sqlite php5-ssh2 php5-twig php5-xsl
# Get Composer
sudo curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
# Activate PHP5-FPM with phpinfo file
cd /etc/nginx/sites-available
sudo wget -O default http://lewiscowles.co.uk/recipies/jessie-nginx-php5-fpm
sudo service nginx restart
cd /home/vagrant
# App specific config can go here!
sudo echo "<?php phpinfo();" > /var/www/html/info.php
# Drupal8 BS
sudo adduser --home /var/www --no-create-home --ingroup www-data --disabled-password --gecos "" drupal-dev
sudo passwd -d -q drupal-dev
sudo chown -R drupal-dev:www-data /var/www
sudo chmod -R 775 /var/www
cd /var/www
sudo -H -u drupal-dev git clone --b 8.0.0 http://git.drupal.org/project/drupal.git --depth=1
cd drupal
composer install --no-dev
cp sites/default/default.settings.php sites/default/settings.php
cp -R ../drupal/* ../html/
sudo chown -R drupal-dev:www-data /var/www
sudo chmod -R 775 /var/www
sudo service nginx restart
DRUPALPW=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c16`
mysql -u root -p$MYSQLPW -e "create database drupal8; GRANT ALL ON drupal.* TO drupal@127.0.0.1 IDENTIFIED BY '${DRUPALPW}'; FLUSH PRIVILEGES;"
sudo echo "Drupal DB Password: ${DRUPALPW}" >> /etc/autosetup
sudo cp /etc/autosetup /vagrant/autosetup
SHELL
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment