Skip to content

Instantly share code, notes, and snippets.

@armanm
Forked from leesmith/setup.md
Last active December 15, 2015 14:39
Show Gist options
  • Save armanm/5276287 to your computer and use it in GitHub Desktop.
Save armanm/5276287 to your computer and use it in GitHub Desktop.

Ruby on Rails development setup on Ubuntu 12.04

System update

# change mirror to ubuntu.osuosl.org first
sudo apt-get update

Install common libraries

sudo apt-get install build-essential python-software-properties libreadline-dev libssl-dev zlib1g-dev libxml2-dev libxslt-dev htop git-core members memcached  mysql-client libmysqlclient-dev libv8-dev

Generate SSH keys

ssh-keygen -t rsa -C "your_email@youremail.com"

Add public key to github then test it out with this

ssh -T git@github.com

Set global git identity

git config --global user.name "John Doe"
git config --global user.email your_email@youremail.com

Set default text editor for git

git config --global core.editor vim

Set git status colors

git config --global color.ui true
git config --global color.status.changed yellow
git config --global color.status.added green
git config --global color.status.untracked red

Verify git settings

git config --list

Install rbenv locally or install it Globally from here

git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

Install ruby-build

mkdir ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
exec $SHELL

Install some rubies

rbenv install 1.9.3-p392
rbenv rehash

Set a global ruby

rbenv global 1.9.3-p392

Turn off rdoc generation when installing/updating gems

echo "install: --no-ri --no-rdoc" >> ~/.gemrc
echo "update: --no-ri --no-rdoc" >> ~/.gemrc

Install javascript runtime for rails projects

sudo apt-get install nodejs

Install Nginx

sudo -s
nginx=stable
add-apt-repository ppa:nginx/$nginx
apt-get update 
apt-get install nginx

If you get an error about add-apt-repository not existing, you will want to install python-software-properties. For other Debian/Ubuntu based distributions, you can try the lucid variant of the PPA which is the most likely to work on older package sets.

sudo -s
nginx=stable
echo "deb http://ppa.launchpad.net/nginx/$nginx/ubuntu lucid main" > /etc/apt/sources.list.d/nginx-$nginx-lucid.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C
apt-get update 
apt-get install nginx

Databases and libraries

Postgres

sudo apt-get install postgresql libpq-dev
sudo -u postgres createuser --superuser `logname`

MySQL

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Sqlite3

sudo apt-get install sqlite3 libsqlite3-dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment