Skip to content

Instantly share code, notes, and snippets.

@OleksandrPoltavets
Last active December 19, 2016 17:01
Show Gist options
  • Save OleksandrPoltavets/449dd0eec06377c8a1d940f49939c4ea to your computer and use it in GitHub Desktop.
Save OleksandrPoltavets/449dd0eec06377c8a1d940f49939c4ea to your computer and use it in GitHub Desktop.
Deploy Rails 5.0.0.1 to VPS(Ubuntu 14.04.4 LTS). Ruby 2.3.3, Nginx, Puma, Capistrano3, PostgreSQL, RVM.
root# apt-get update
root# adduser deployer
root# visudo
# add line
deployer ALL=(ALL:ALL) ALL
root# exit
ssh deployer@server
deployer$ sudo apt-get -y install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev
deployer$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
deployer$ \curl -sSL https://get.rvm.io | bash -s stable
deployer$ source /home/deployer/.rvm/scripts/rvm
deployer$ rvm install 2.3.3 && rvm use --default 2.3.3
deployer$ echo "gem: --no-document" > ~/.gemrc
deployer$ gem install bundler
deployer$ gem install rails -v 5.0.0.1
deployer$ ssh -T git@github.com
deployer$ ssh-keygen -t rsa
# Add the newly created public key (~/.ssh/id_rsa.pub) to your repository's deployment keys
# https://developer.github.com/guides/managing-deploy-keys/
deployer$ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
deployer$ sudo apt-get install -y nodejs
deployer$ sudo add-apt-repository ppa:nginx/stable
deployer$ sudo apt-get update
deployer$ sudo apt-get -y install nginx
deployer$ sudo rm /etc/nginx/sites-available/default
deployer$ export LANGUAGE=en_US.UTF-8
deployer$ export LANG=en_US.UTF-8
deployer$ export LC_ALL=en_US.UTF-8
deployer$ locale-gen en_US.UTF-8
deployer$ sudo dpkg-reconfigure locales
deployer$ sudo apt-get -y install postgresql postgresql-contrib libpq-dev
deployer$ sudo -u postgres createuser deployer -s
deployer$ sudo -u postgres psql
postgres=# \password deployer
postgres=# \q
deployer$ wget https://raw.githubusercontent.com/puma/puma/master/tools/jungle/upstart/puma-manager.conf
deployer$ wget https://raw.githubusercontent.com/puma/puma/master/tools/jungle/upstart/puma.conf
deployer$ nano puma.conf
SET:
setuid deployer
setgid deployer
SAVE:
ctrl + x
y
enter
deployer$ sudo cp puma.conf puma-manager.conf /etc/init
deployer$ sudo touch /etc/puma.conf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment