Skip to content

Instantly share code, notes, and snippets.

@joynal
Last active September 22, 2016 04:05
Show Gist options
  • Save joynal/0e2d061315ad4e8388457571d77fde1e to your computer and use it in GitHub Desktop.
Save joynal/0e2d061315ad4e8388457571d77fde1e to your computer and use it in GitHub Desktop.
Ubuntu server setup automation. [compatible with 14.4]
#!/bin/sh
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
if [ -z "$1" ]
then
echo "Usage: $0 user_name"
exit 1
fi
USER=$1
USER_HOME="/home/$USER"
apt-get update
apt-get install -y --force-yes testdisk vim apache2 apache2-suexec php5 php-pear php5-sqlite php5-curl php5-imap php5-intl mysql-server php5-mysql phpmyadmin drush git openssh-server curl zlib1g zlib1g-dev build-essential sqlite3 libsqlite3-dev libssl-dev libyaml-dev wget guake kupfer
cp /usr/share/applications/guake.desktop /etc/xdg/autostart/
mkdir -p $USER_HOME/workspace/php/www
mkdir -p $USER_HOME/workspace/php/sites/custom
mkdir -p $USER_HOME/workspace/php/sites/drupal
mkdir -p $USER_HOME/workspace/php/sites/wordpress
mkdir -p $USER_HOME/workspace/php/sites/symfony2
mkdir -p $USER_HOME/workspace/php/sites/laravel3
mkdir -p $USER_HOME/workspace/php/sites/laravel42
mkdir -p $USER_HOME/workspace/php/sites/laravel50
mkdir -p $USER_HOME/workspace/php/sites/laravel51
mkdir -p $USER_HOME/workspace/php/sites/laravel52
mkdir -p $USER_HOME/workspace/php/sites/magento
cp -r ./home/bin $USER_HOME/
chmod +x $USER_HOME/bin/*.sh
chown -R $USER:$USER $USER_HOME
rm -f /etc/apache2/mods-enabled/vhost_alias.load
ln -s /etc/apache2/mods-available/vhost_alias.load /etc/apache2/mods-enabled/vhost_alias.load
rm -f /etc/apache2/mods-enabled/rewrite.load
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
sed -e "s#__USER_HOME__#$USER_HOME#" etc/apache2/sites-enabled/001-vhosts.dev.tpl > /etc/apache2/sites-enabled/001-vhosts.conf
sed -e "s#__USER_HOME__#$USER_HOME#" etc/apache2/sites-available/default.tpl > /etc/apache2/sites-available/000-default.conf
echo "UseDNS no" >> /etc/ssh/sshd_config
cd /opt
git clone https://github.com/mnishihan/dev-tld-resolver.git
cd dev-tld-resolver/src && make && make install
cp /etc/nsswitch.conf /etc/nsswitch.conf.orig
sed -e '/^\(hosts\:.*\)/s//\1 dev_tld/' /etc/nsswitch.conf > /etc/nsswitch.conf
echo "DEV_TLD_DOMAINS=dev,wp,dpl,sf2,l3,l42,l50,l51,l52,lrvl,mag" >> /etc/environment
reboot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment