Skip to content

Instantly share code, notes, and snippets.

@gmgp
Forked from leesmith/setup.md
Last active December 19, 2015 16:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gmgp/5985463 to your computer and use it in GitHub Desktop.
Save gmgp/5985463 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 libreadline-dev libssl-dev zlib1g-dev libxml2-dev libxslt-dev

Install all the things

sudo apt-get install vim git-core gitg tmux

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

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.2-p320
rbenv install 1.9.3-p194
rbenv rehash

Set a global ruby

rbenv global 1.9.3-p194

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

Databases and libraries

  • Postgres

Minimally alter one of Postgres's configuration files to accept (app-specific) connections from Rails...:

nano /etc/postgresql/9.1/main/pg_hba.conf

by changing 'peer' to 'md5' where it says:

  # "local" is for Unix domain socket connections only
  #local   all         all                               peer
  local   all         all                               md5

Restart the Postgres server:

sudo /etc/init.d/postgresql stop
sudo /etc/init.d/postgresql start
sudo apt-get install postgresql libpq-dev
sudo -u postgres createuser --echo --encrypted --pwprompt --no-superuser --no-inherit --createdb --no-createrole <app_user_name>
  • 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