Skip to content

Instantly share code, notes, and snippets.

@jonathanbossenger
Last active April 21, 2017 02:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonathanbossenger/00c010379b1dd4ceca76c88de154872f to your computer and use it in GitHub Desktop.
Save jonathanbossenger/00c010379b1dd4ceca76c88de154872f to your computer and use it in GitHub Desktop.
ScotchBox Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'yaml'
settings = YAML.load_file 'vagrant.yml'
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: settings['site']['ip']
config.vm.hostname = settings['site']['sitename']
config.vm.synced_folder ".", "/var/www/public", :mount_options => ["dmode=777", "fmode=666"]
# Optional NFS. Make sure to remove other synced_folder line too
#config.vm.synced_folder ".", "/var/www/public", :nfs => { :mount_options => ["dmode=777","fmode=666"] }
config.vm.provision "shell", :args => [settings['site']['sitename'], settings['site']['mysqlpassword']], inline: <<-SHELL
sitename=$1
mysqlpassword=$2
scotchbox="/etc/apache2/sites-enabled/scotchbox.local.conf"
if [ -f "$scotchbox" ]
then
echo "Disabling scotchbox.local.conf. Will probably tell you to restart Apache..."
sudo a2dissite scotchbox.local.conf
echo "So let's restart apache..."
sudo service apache2 restart
else
echo "scotchbox.local.conf not found. No cleanup needed."
fi
phpmyadmin="/etc/phpmyadmin"
if [ -d "$phpmyadmin" ]
then
echo "PHPMyAdmin already installed."
else
echo "Installing PHPMyAdmin..."
mysql -uroot -proot -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$mysqlpassword'); FLUSH PRIVILEGES;"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/dbconfig-install boolean true"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/app-password-confirm password $mysqlpassword"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/admin-pass password $mysqlpassword"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/app-pass password $mysqlpassword"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2"
sudo apt-get -y install phpmyadmin
fi
echo "Creating database, if it doesn't already exist"
mysql -uroot -p$mysqlpassword -e "CREATE DATABASE IF NOT EXISTS $sitename;"
echo 'Provisioning complete.'
SHELL
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment