Skip to content

Instantly share code, notes, and snippets.

@s-belichenko
Last active September 29, 2018 19:33
Show Gist options
  • Save s-belichenko/dd694c1095de2008981d872756842ac0 to your computer and use it in GitHub Desktop.
Save s-belichenko/dd694c1095de2008981d872756842ac0 to your computer and use it in GitHub Desktop.
Preparing Vagrant box via bootstrap script (scotch/box 3.5.0, purpose: apache2 + php 7.2)
#!/bin/bash
#########################################################
#
# Bootstrap script v1.0.2 for Vagrant scotch/box 3.5.0 (Ubuntu 16.04.2 LTS)
# Purpose: PHP 7.2
#
#########################################################
echo "================== Installing PHP 7.2 ====================="
echo "==> Adding ondrej/php to repositories"
sudo add-apt-repository ppa:ondrej/php -y >/dev/null 2>&1
sudo apt-get update >/dev/null 2>&1
echo "==> Installing packages"
sudo apt-get install -y --allow-unauthenticated apache2 git curl php7.2 php7.2-bcmath php7.2-bz2 php7.2-cli php7.2-curl php7.2-intl php7.2-json php7.2-mbstring php7.2-opcache php7.2-soap php7.2-sqlite3 php7.2-xml php7.2-xsl php7.2-zip libapache2-mod-php7.2 php7.2-mysql >/dev/null 2>&1
echo "==> Enabling/disabling apache2 modules"
sudo a2dismod php7.0 >/dev/null 2>&1
sudo a2enmod php7.2 >/dev/null 2>&1
echo "==> Restarting web server"
sudo service apache2 restart >/dev/null 2>&1
echo "==================== Set up php vars ======================"
echo "==> post_max_size = 100M"
sudo replace "post_max_size = 8M" "post_max_size = 100M" -- /etc/php/7.2/apache2/php.ini >/dev/null 2>&1
echo "==> upload_max_filesize = 100M"
sudo replace "upload_max_filesize = 2M" "upload_max_filesize = 100M" -- /etc/php/7.2/apache2/php.ini >/dev/null 2>&1
echo "==> date.timezone = Europe/Moscow"
sudo replace ";date.timezone =" "date.timezone = Europe/Moscow" -- /etc/php/7.2/apache2/php.ini >/dev/null 2>&1
echo "========================== XDebug =========================="
echo "==> Downloading xdebug-2.6.0"
if ! [ -L xdebug-2.6.0.tgz ]; then
rm -rf xdebug-2.6.0.tgz
fi
wget http://xdebug.org/files/xdebug-2.6.0.tgz -nv >/dev/null 2>&1
echo "==> Preparing files"
if ! [ -L xdebug-2.6.0 ]; then
rm -rf xdebug-2.6.0
fi
tar -xvzf xdebug-2.6.0.tgz >/dev/null 2>&1
cd xdebug-2.6.0 >/dev/null 2>&1
echo "==> Installing phpize"
sudo apt-get install php7.2-dev -qq >/dev/null 2>&1
echo "==> Compiling xdebug"
sudo phpize
sudo ./configure >/dev/null 2>&1
sudo make >/dev/null 2>&1
echo "==> Installing xdebug"
sudo cp modules/xdebug.so /usr/lib/php/20170718 >/dev/null 2>&1
echo "zend_extension = /usr/lib/php/20170718/xdebug.so" | sudo tee --append /etc/php/7.2/apache2/php.ini 2>&1 >/dev/null
echo "======================== End of work ======================="
echo "==> Restarting web server"
sudo service apache2 restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment