Created
June 11, 2014 18:36
-
-
Save jdunk/388547e2db44df5a8350 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 | |
echo '>>>> Fixing root .profile' | |
sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile | |
echo '>>>> Setting up "admin" group' | |
! grep -i '^admin:' /etc/group &>/dev/null && groupadd admin &>/dev/null | |
echo '>>>> Updating packages list' | |
#apt-get update | |
! which git &>/dev/null && apt-get -y install git | |
SETUP_USERS="root "`logname` | |
for u in $SETUP_USERS; do | |
echo ">>>> Setting up $u home dir" | |
HOMEDIR=$([ $u = "root" ] && echo "/root" || echo "/home/$u") | |
BASHRC=$HOMEDIR"/.bashrc" | |
! grep 'SUPER_BASHRC' $BASHRC &>/dev/null && cat <<- 'EOF' > $BASHRC | |
SUPER_BASHRC="$HOME/dotfiles/.bashrc" | |
[ -f $SUPER_BASHRC ] && . $SUPER_BASHRC | |
EOF | |
if [ ! -d $HOMEDIR/dotfiles ]; then | |
git clone https://github.com/jdunk/dotfiles $HOMEDIR/dotfiles | |
ln -snf dotfiles/.gitconfig $HOMEDIR | |
ln -snf dotfiles/.screenrc $HOMEDIR | |
ln -snf dotfiles/.vimrc $HOMEDIR | |
ln -snf dotfiles/.vim $HOMEDIR | |
fi | |
done | |
chown -R `logname` . | |
chgrp -R admin /usr/local | |
chmod -R g+w /usr/local | |
find /usr/local -type d -exec chmod g+s '{}' \; | |
echo '>>>> Checking for ack...' | |
which ack &>/dev/null | |
if [ $? -ne 0 ]; then | |
echo '>>>> Installing ack...' | |
curl -Ss http://beyondgrep.com/ack-2.12-single-file > /usr/local/bin/ack && chmod 0755 /usr/local/bin/ack | |
else | |
echo '>>>> ack already installed.' | |
fi | |
# to be able to add a ppa | |
apt-get -y install python-software-properties | |
# add ppa for latest php5 | |
echo -n '>>>> Checking for ppa:ondrej/php5...' | |
ls /etc/apt/sources.list.d/ondrej-php5-* &>/dev/null | |
if [ $? -ne 0 ]; then | |
echo ' not present. Adding it now...' | |
add-apt-repository ppa:ondrej/php5 | |
else | |
echo ' already added.' | |
fi | |
apt-get -y update && apt-get -y dist-upgrade | |
# install things missing from default ubuntu | |
apt-get -y install unzip git ntp colordiff | |
# NOTE: this needs to be configured to work, but depends on domain names. Just install for now. | |
#apt-get -y install qmail-run | |
apt-get -y install php5-fpm php5-cli php5-mysql php5-curl php5-mcrypt php5 # avoids apache dependency | |
echo -n '>>>> Checking for ppa:nginx/stable...' | |
ls /etc/apt/sources.list.d/nginx-stable-* &>/dev/null | |
if [ $? -ne 0 ]; then | |
echo ' not present. Adding it now...' | |
add-apt-repository ppa:nginx/stable | |
apt-get -y update | |
apt-get -y install nginx | |
else | |
echo ' already added.' | |
fi | |
# setting this var will suppress the prompt to set the root pw | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get -y install mysql-server-5.5 | |
# alternatively, mysql root pw can be set like so: | |
# mysqladmin -u root password desired_password_goes_here | |
echo '>>>> Checking for composer...' | |
which composer &>/dev/null | |
if [ $? -ne 0 ]; then | |
echo '>>>> Installing composer...' | |
cd /usr/local/bin | |
curl -sS https://getcomposer.org/installer | php | |
mv composer.phar composer | |
chmod +x composer | |
cd - &>/dev/null | |
else | |
echo '>>>> composer already installed.' | |
fi | |
echo '>>>> Checking for laravel...' | |
which laravel &>/dev/null | |
if [ $? -ne 0 ]; then | |
echo '>>>> Installing laravel...' | |
cd /usr/local/bin | |
wget -q http://laravel.com/laravel.phar -O laravel | |
chmod +x laravel | |
cd - &>/dev/null | |
else | |
echo '>>>> laravel already installed.' | |
fi | |
#(echo; date; whoami)>>whoami | |
date >> provisioned |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment