Use this with scotch box
- Install
virtualbox
andvagrant
- Clone scotch box with this:
git clone https://github.com/scotch-io/scotch-box.git new-project
Run cd new-project
and vagrant up
sudo apt-get install -y php7.0 php7.0-fpm php7.0-mysql php7.0-pgsql php-redis php-curl libapache2-mod-php7.0 php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-zip php7.0-soap htop
- Install vagrant-hostsupdater
- Clone this repo inside
new-project
- Paste this into the Vagrantfile:
config.hostsupdater.aliases = ["local.website.com"]
config.vm.provider :virtualbox do |p|
# p.gui = true
p.customize ["modifyvm", :id, "--memory", "2048"]
p.customize ["modifyvm", :id, "--cpuexecutioncap", "80"]
p.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
end
config.vm.provision "shell", inline: <<-SHELL
## ------------------------------------------------------------------------------------ ##
## FIRST PART (run once and comment) ##
## ------------------------------------------------------------------------------------ ##
echo "Adding composer to PATH"
export PATH="~/.composer/vendor/bin:$PATH"
echo "Activate SSL"
sudo a2enmod ssl
sudo service apache2 restart
sudo mkdir /etc/apache2/ssl
echo "Copy SSL files"
sudo cp /var/www/box_apache_config_files/apache.crt /etc/apache2/ssl/apache.crt
sudo cp /var/www/box_apache_config_files/apache.key /etc/apache2/ssl/apache.key
sudo cp /var/www/box_apache_config_files/vhost-custom-ssl.conf /etc/apache2/sites-available/vhost-custom-ssl.conf
## ------------------------------------------------------------------------------------ ##
## SECOND PART (run each time a new domain is added) ##
## ------------------------------------------------------------------------------------ ##
## SET DOMAINS (separated by blank spaces)
DOMAINS=("local.website.com")
## Loop through all sites
for ((i=0; i < ${#DOMAINS[@]}; i++)); do
## Current Domain
DOMAIN=${DOMAINS[$i]}
## Comment if directory is already created
echo "Creating directory for $DOMAIN..."
sudo mkdir -p /var/www/public/$DOMAIN
echo "Disabling $DOMAIN. Will probably tell you to restart Apache..."
sudo a2dissite $DOMAIN.conf
echo "So let's restart apache..."
sudo service apache2 restart
echo "Removing vhost config for $DOMAIN..."
sudo rm /etc/apache2/sites-available/$DOMAIN.conf
echo "Creating vhost config for $DOMAIN..."
sudo cp /etc/apache2/sites-available/vhost-custom-ssl.conf /etc/apache2/sites-available/$DOMAIN.conf
echo "Updating vhost config for $DOMAIN..."
sudo sed -i s,scotchbox.local,$DOMAIN,g /etc/apache2/sites-available/$DOMAIN.conf
sudo sed -i s,/var/www/public,/var/www/public/$DOMAIN,g /etc/apache2/sites-available/$DOMAIN.conf
echo "Enabling $DOMAIN. Will probably tell you to restart Apache..."
sudo a2ensite $DOMAIN.conf
echo "So let's restart apache..."
sudo service apache2 restart
done
SHELL
- Change / add domain(s) - default
local.website.com
vagrant provision
- Create DB
- Run inside box:
mysql -u root [database] < /var/www/box_apache_config_files/database_dump.sql