Skip to content

Instantly share code, notes, and snippets.

@cmaitchison
Created July 21, 2012 08:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save cmaitchison/3155122 to your computer and use it in GitHub Desktop.
Save cmaitchison/3155122 to your computer and use it in GitHub Desktop.
Ubuntu 12.04 Chef-Solo bootstrap (AWS)
#!/bin/bash -xe
#THIS SCRIPT MUST BE RUN AS ROOT
#configure SSH
SSH_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuwaDITgrsmxVvSJ+HEir4iW2eBb8XqB3wIxCWJwmhiB2S6MkdX1CFcj8boHL2RIYgKN0yiTCVlOdQFjhyRpnd8NbS0RW7753SE1hzkgOg+2e1B15lf1PCSD5OPWAtpb1eYlLcs6hns+yFhYCFeQrKLBL2/si8D8OcQcTR7BjjFQEWdhjl4cYiT68cr57yFT+c/f32ZTynEWukC2YIGMjJ1nACUOYF8CSp6RUrD2kY3C1Pb1Q5V3jwi0lhay4aF5AWp28hPVtYASBe2BrYXp8uErhnmWxgXNV19P0NSHE7TBXd9nXz/njI2SDP/p2N/vHquz/Ybxs4F+kGGXknUFitQ== cmaitchison@gmail.com"
echo $SSH_KEY >> /home/ubuntu/.ssh/authorized_keys
#configure locale
echo "export LANGUAGE=en_AU.UTF-8" > /tmp/locale
echo "export LANG=en_AU.UTF-8" >> /tmp/locale
echo "export LC_ALL=en_AU.UTF-8" >> /tmp/locale
cat /etc/bash.bashrc >> /tmp/locale
cp /tmp/locale /etc/bash.bashrc
locale-gen en_AU.UTF-8
dpkg-reconfigure locales
#update packages
apt-get update
apt-get upgrade -y --force-yes
#synchronise time
ntpdate ntp.ubuntu.com
#install ruby
RUBY_PATCH=p327
apt-get -y install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev
cd /tmp
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-$RUBY_PATCH.tar.gz
tar -xvzf ruby-1.9.3-$RUBY_PATCH.tar.gz
cd ruby-1.9.3-$RUBY_PATCH/
./configure --prefix=/usr/local
make
make install
#install chef
gem install chef ruby-shadow --no-ri --no-rdoc
mkdir -p /var/chef
chown ubuntu:admin /var/chef/
#init git repo
apt-get install -y git-core
reboot now
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment