garyconstable
10/18/2017 - 11:46 PM

Vagrant Setup

Vagrant Setup

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  #config.vm.box_version = "1.1.0"
  #config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 1234
end
#!/usr/bin/env bash

#-------------------------------------------------------------------------------
# Config
#-------------------------------------------------------------------------------
PASSWORD='root'
PROJECTFOLDER='myproject'
WEBROOT="/var/www/${PROJECTFOLDER}/public_html"

#-------------------------------------------------------------------------------
# Create Dirs
#-------------------------------------------------------------------------------
sudo mkdir -p "${WEBROOT}"

#-------------------------------------------------------------------------------
# System Update
#-------------------------------------------------------------------------------
sudo apt-get upgrade
sudo apt-get update

#-------------------------------------------------------------------------------
# Apache
#-------------------------------------------------------------------------------
sudo add-apt-repository ppa:ondrej/apache2 -y
sudo apt-get update
sudo apt-get install apache2 -y

#-------------------------------------------------------------------------------
# Symlink Vagrant to Webroot
#-------------------------------------------------------------------------------
if ! [ -L /var/www ]; then
 rm -rf ${WEBROOT}
 ln -fs /vagrant ${WEBROOT}
fi

#-------------------------------------------------------------------------------
# MYSQL
#-------------------------------------------------------------------------------
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $PASSWORD"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $PASSWORD"
sudo apt-get -y install mysql-server

#-------------------------------------------------------------------------------
# PHP7
#-------------------------------------------------------------------------------
sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php5-common -y
sudo apt-get install php7.0 php7.0-fpm php7.0-mysql php7.0-mcrypt php-gettext libapache2-mod-php7.0 -y
sudo apt-get install php7.0-mbstring -y
sudo apt-get --purge autoremove -y
sudo apt-get -f install -y

sudo a2dismod php5

sudo phpenmod mcrypt
sudo phpenmod mbstring
service apache2 restart

#-------------------------------------------------------------------------------
# PHPMYADMIN
#-------------------------------------------------------------------------------
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/dbconfig-install boolean true"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/app-password-confirm password $PASSWORD"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/admin-pass password $PASSWORD"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/mysql/app-pass password $PASSWORD"
sudo debconf-set-selections <<< "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2"
sudo apt-get -y install phpmyadmin

#-------------------------------------------------------------------------------
# VHOSTS
#-------------------------------------------------------------------------------
VHOST=$(cat <<EOF
<VirtualHost *:80>
  DocumentRoot "${WEBROOT}"
  <Directory "${WEBROOT}">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>
EOF
)
echo "${VHOST}" > /etc/apache2/sites-available/000-default.conf

#-------------------------------------------------------------------------------
# MOD REWRITE
#-------------------------------------------------------------------------------
sudo a2enmod rewrite

#-------------------------------------------------------------------------------
# RESTART APACHE
#-------------------------------------------------------------------------------
service apache2 restart

#-------------------------------------------------------------------------------
# Install Git
#-------------------------------------------------------------------------------
sudo apt-get -y install git

#-------------------------------------------------------------------------------
# Install Composer
#-------------------------------------------------------------------------------
curl -s https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer






# apt-get update
# apt-get install -y apache2
#
# if ! [ -L /var/www ]; then
#  rm -rf /var/www
#  ln -fs /vagrant /var/www
# fi