Skip to content

@johnrees /
Last active

Embed URL


Subversion checkout URL

You can clone with
Download ZIP
Standard Rails 4.* setup for Ubuntu 14.04 LTS
# As root user
sudo su
# Update the OS
sudo apt-get update -y
# Add this to ~/.bashrc to remove timezone warnings
echo 'export LC_ALL="en_US.UTF-8"' >> ~/.bashrc
source ~/.bashrc
# Install Rails Requirements
sudo apt-get install build-essential zlib1g-dev curl git-core python-software-properties libssl-dev openssl libreadline-dev -y
# useful extras: libgeoip-dev
# Install latest stable Nginx
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update -y
sudo apt-get install nginx -y
service nginx restart
# Install Node
curl -sL | sudo bash -
sudo apt-get update -y
sudo apt-get install nodejs -y
# Install Firewall
apt-get install ufw -y
ufw enable
# enable ssh, either on default 22 or a port you change it to
ufw allow 22
# enable http etc...
ufw allow 80
# Add Deployment User
groupadd admin
adduser deployer --ingroup admin
su deployer
# (logout)
# brew install ssh-copy-id
# ssh-copy-id deployer@SERVER_IP
# ssh deployer@SERVER_IP
# Say hello to git (expect response: Permission denied (publickey).)
# Install rbenv
git clone ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
exec $SHELL -l
# Install Ruby 2.2.2
git clone ~/.rbenv/plugins/ruby-build
rbenv rehash
rbenv install 2.2.2
# ^ go and get a coffee, rbenv install takes a while
rbenv global 2.2.2
# Check installation went OK
ruby -v
# Install Bundler
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
gem install bundler
rbenv rehash
# ...
# Install postgres, redis, varnish etc
# Install Postgres 9.4
sudo sh -c "echo 'deb trusty-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - | sudo apt-key add -
sudo apt-get update -y --fix-missing
sudo apt-get install -y libpq-dev postgresql-9.4
sudo -u postgres psql
\password # enter a root user password
create user <appname> with password 'secret';
create database <appname>_production owner <appname>;
# generate ssh keys for github if private repo
ssh-keygen -t rsa -b 4096 -C "YOUR_EMAIL"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
cat ~/.ssh/ # paste in
ssh -T
# capistrano 3
cap production deploy:setup_config
cap production deploy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.