Last active
January 2, 2016 22:09
-
-
Save robclancy/8368160 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Upgrade Base Packages | |
sudo apt-get update | |
sudo apt-get upgrade -y | |
# Install Web Packages | |
sudo apt-get install -y build-essential dkms re2c php5-fpm php5-cli php5-dev php-pear php5-xdebug php5-json php5-sqlite \ | |
php5-mysql php5-pgsql php5-gd curl php5-curl memcached php5-memcached libmcrypt4 php5-mcrypt postgresql redis-server \ | |
openssh-server git vim python2.7-dev | |
# Install MySQL | |
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password secret' | |
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password secret' | |
sudo apt-get -y install mysql-server | |
# Configure Postgres | |
sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /etc/postgresql/9.1/main/postgresql.conf | |
echo "host all all 10.0.2.2/32 md5" | sudo tee -a /etc/postgresql/9.1/main/pg_hba.conf | |
sudo -u postgres psql -c "CREATE ROLE robbo LOGIN UNENCRYPTED PASSWORD 'secret' SUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;" | |
sudo -u postgres /usr/bin/createdb --echo --owner=robbo laravel | |
sudo service postgresql restart | |
# Configure MySQL | |
sudo sed -i '/^bind-address/s/bind-address.*=.*/bind-address = 10.0.2.15/' /etc/mysql/my.cnf | |
mysql -u root -p mysql -e "GRANT ALL ON *.* TO root@'10.0.2.2' IDENTIFIED BY 'secret';" | |
sudo service mysql restart | |
# Install Composer | |
curl -sS https://getcomposer.org/installer | php | |
sudo mv composer.phar /usr/local/bin/composer | |
# Install PHPUnit | |
sudo pear config-set auto_discover 1 | |
sudo pear install pear.phpunit.de/phpunit | |
# Enable PHP Error Reporting | |
sudo sed -i "s/error_reporting = .*/error_reporting = E_ALL/" etc/php5/fpm/php.ini | |
sudo sed -i "s/display_errors = .*/display_errors = On/" etc/php5/fpm/php.ini | |
sudo sed -i "s/error_reporting = .*/error_reporting = E_ALL/" etc/php5/fpm/php.ini | |
sudo sed -i "s/display_errors = .*/display_errors = On/" etc/php5/fpm/php.ini | |
sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" etc/php5/fpm/php.ini | |
# Generate SSH Key | |
cd ~ | |
mkdir .ssh | |
cd .ssh | |
ssh-keygen -f id_rsa -t rsa -N '' | |
# Install NodeJs | |
cd ~ | |
wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz | |
tar -xvf node-v0.10.24.tar.gz | |
cd node-v0.10.24 | |
./configure | |
make | |
sudo make install | |
# NodeJs Clean | |
cd ~ | |
rm ~/node-v0.10.24.tar.gz | |
rm -rf ~/node-v0.10.24 | |
# Install Grunt | |
sudo npm install -g grunt-cli | |
# Install Forever | |
sudo npm install -g forever | |
# Create Scripts Directory | |
mkdir ~/Scripts | |
mkdir ~/Scripts/PhpInfo | |
# Build PHP Info Site | |
echo "<?php phpinfo();" > ~/Scripts/PhpInfo/index.php | |
# Configure Nginx Hosts | |
# TODO | |
# TODO mailcatcher | |
# VirtualBox Guest Additions | |
sudo mount /dev/cdrom /media/cdrom | |
sudo sh /media/cdrom/VBoxLinuxAdditions.run | |
sudo usermod -aG vboxsf www-data | |
sudo usermod -aG vboxsf robbo | |
sudo reboot |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment