Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save afair/111244 to your computer and use it in GitHub Desktop.
Save afair/111244 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Update the system first
sudo ntpdate ntp.ubuntu.com
sudo apt-get update
sudo apt-get upgrade
# Ubuntu stuff
sudo apt-get -y install git-core openssh-server openssh-client build-essential wget ntp-simple
# be aware: vim vim-ruby installed x crap :(
# Setup ruby, apache, and necessary dev libs
sudo apt-get -y install ruby rdoc irb libyaml-ruby libzlib-ruby ri libopenssl-ruby ruby1.8-dev libopenssl-ruby
# Ruby Enterprise Edition?
REE=ruby-enterprise_1.8.6-20090421_i386.deb
wget http://rubyforge.org/frs/download.php/55510/$REE
sudo dpkg -i $REE
rm $REE
sudo ln -s /opt/ruby-enterprise/bin/* /usr/local/bin/
# rubygems and rails
#wget "http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz"
#tar -xvzf rubygems-1.3.1.tgz
#rm rubygems-1.3.1.tgz
#cd rubygems-1.3.1
#sudo ruby setup.rb
#cd ..
#rm -r rubygems-1.3.1
#sudo ln -sf /usr/bin/gem1.8 /usr/bin/gem
sudo apt-get -y install rubygems -y
sudo gem update --system
sudo gem sources -a http://gems.github.com
sudo gem install rails --no-rdoc --no-ri
# database libs
#sudo apt-get install mysql-server mysql-client
#sudo apt-get install libmysql-ruby libmysqlclient15-dev
#sudo gem install mysql --no-rdoc --no-ri
# postgresql https://help.ubuntu.com/9.04/serverguide/C/postgresql.html
sudo apt-get -y install postgresql libpq-dev
sudo gem install postgres --no-rdoc --no-ri
# Apache2 / passenger
#sudo apt-get -y install apache2 apache2-mpm-prefork apache2-prefork-dev
sudo apt-get -y install apache2-mpm-prefork libapr1-dev apache2-prefork-dev
sudo gem install passenger --no-rdoc --no-ri
# Ruby-MRI: sudo passenger-install-apache2-module
# Ruby-EE:
sudo /opt/ruby-enterprise/bin/passenger-install-apache2-module
sudo echo "LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.1
PassengerRuby /usr/bin/ruby1.8" > /etc/apache2/mods-available/passenger.load
sudo a2enmod passenger
sudo a2enmod ssl
sudo a2enmod rewrite
sudo /etc/init.d/apache2 force-reload
# other required gems
sudo apt-get -y install libxml2 libxml2-dev
sudo gem install rake rspec rspec-rails ruby-debug capistrano libxml-ruby fastercsv --no-rdoc --no-ri
sudo gem install mislav-will_paginate --no-rdoc --no-ri
# setup backup scripts
#wget http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
#tar -xzvf s3sync.tar.gz
#chmod 700 -R s3sync
#mkdir -p ~/s3backups
#sudo apt-get install git-core
sudo ssh-keygen
# Install an app
sudo mkdir /var/app
sudo chown allen:allen /var/app
cd /var/app
git clone ~/k23
sudo chown www-data:www-data /var/app/k23/config/environment.rb
sudo echo "<VirtualHost *:80>
ServerName k23.us
DocumentRoot /var/app/k23/public
</VirtualHost>" >> /etc/apache2/sites-available/k23.us
sudo a2ensite k23.us
sudo /etc/init.d/apache2 reload
############################################################################
echo "1) add ssh keys to your github account and git clone the rest of your sensitive scripts"
echo "2) edit /etc/postgresql/8.3/main/postgresql.conf to enable listen_addresses = 'localhost,127.0.0.1'"
echo "3) edit /etc/postgresql/8.3/main/pg_hba.conf change md5 to trust in line: host all all 127.0.0.1/32 md5"
echo "4) sudo /etc/init.d/postgresql-8.3 restart"
echo "5) Check passenger version in /etc/apache2/mods-available/passenger.load"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment