Skip to content

Instantly share code, notes, and snippets.

@mass6
Forked from derrekbertrand/post_install.sh
Created April 15, 2018 22:58
Show Gist options
  • Save mass6/3f19ba08ac3d9e4f5869912eb9d515b2 to your computer and use it in GitHub Desktop.
Save mass6/3f19ba08ac3d9e4f5869912eb9d515b2 to your computer and use it in GitHub Desktop.
PHP development machine post install setup for Ubuntu 16.04 LTS and Mint 18 LTS.
#!/bin/bash
# Post install script for Ubuntu 16.04LTS and Mint 18LTS
# add the PHP PPA https://deb.sury.org/
sudo add-apt-repository -y ppa:ondrej/php
# I believe even releases are LTS, so when 8 comes out should update
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
# add Sublime Text 3 stable to your sources
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
#update sources
sudo apt update -y && sudo apt dist-upgrade -y
#install git, a graphical git viewer, and a git merging tool
sudo apt install -y git gitg meld
# install helpful stuff and dev apps: Chrome Stable, Faenza Icons, Guake Terminal, Vim
sudo apt install -y faenza-icon-theme chromium-browser guake vim sublime-text
# todo: add guake to startup
# install mysql, whois
sudo apt install -y whois mariadb-server mysql-workbench
# install npm for front-end workflow
sudo apt install -y nodejs
# install PHP/MySQL Development tools
sudo apt install -y php7.2-cli php7.2-common php7.2-dom php7.2-sqlite3 php7.2-mysql php7.2-mbstring php7.2-bcmath php7.2-gd
sudo apt install -y php7.1-cli php7.1-common php7.1-dom php7.1-sqlite3 php7.1-mysql php7.1-mbstring php7.1-bcmath php7.1-gd php7.1-mcrypt
#we have legacy applications that run on PHP 5... please kill me
sudo apt install -y php5.6-cli php5.6-common php5.6-dom php5.6-sqlite3 php5.6-mysql php5.6-mbstring php5.6-bcmath php5.6-gd php5.6-mcrypt
#install composer for PHP development
EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")
if [ "$EXPECTED_SIGNATURE" == "$ACTUAL_SIGNATURE" ]
then
php composer-setup.php --quiet
rm composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
sudo chown root:root /usr/local/bin/composer
fi
#todo: set faenza as icon set
#Ask for reboot, but be polite about it
if $(zenity --question --text="Restart now? It is reccommended that you do."); then sudo reboot -f; fi;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment