this commands are performed in lish - a “linode shell”
Update Ubuntu
$ apt-get update
SSH
$ apt-get install sshd
$ apt-get install sysv-rc-conf
$ vi /etc/ssh/sshd_config
# Disable root login
# Change default port to something else
$ /etc/init.d/ssh restart
$ netstat -anp # make sure we have sshd up and running
Now we can ssh to the machine itself
Development tools
$ sudo apt-get install ubuntu-standard
$ sudo apt-get install language-pack-en
$ sudo apt-get -y install build-essential libssl-dev libreadline5-dev zlib1g-dev
$ apt-get install bash # i'm using it :)
Setup simple UFW firewall
$ sudo ufw status
$ sudo ufw default deny
$ sudo ufw allow from any to any port 80
$ sudo ufw allow from any to any port 17777 # my obscure ssh port
$ sudo ufw enable
User
$ useradd -m -s /bin/bash
$ passwd gmarik
$ usermod -a -G admin gmarik
Public key ssh login
$ su - gmarik # become usual user
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
# append your public key to the end of ~/.ssh/authorized_keys
local$ ssh new_server_ip_or_name "cat >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub
$ chmod 600 authorized_keys
Ruby
$ mkdir 1ncubator && cd 1ncubator/
$ wget http://rubyforge.org/frs/download.php/48625/ruby-enterprise_1.8.6-20081215-i386.deb
$ sudo dpkg -i ruby-enterprise_1.8.6-20081215-i386.deb
$ which ruby
$ sudo vi /etc/environment # and add location of ruby to PATH
## Rubygems should be already installed(no need)
#$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
#$ tar -xzf rubygems-1.3.1.tgz
#$ cd rubygems-1.3.1
#$ sudo env PATH=$PATH ruby setup.rb
$ sudo env PATH=$PATH gem install passenger
$ vi /etc/gemrc