https://gist.github.com/the-sanjar/0f755693cd987fc85605119bc5b6679d
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04
adduser deployer
gpasswd -a deployer sudo
If your local machine has the ssh-copy-id script installed, you can use it to install your public key to any user that you have login credentials for.
ssh-copy-id [email protected]
su - deployer
Now that we have our new account, we can secure our server a little bit by modifying its SSH daemon configuration
nano /etc/ssh/sshd_config
PermitRootLogin no
Now that we have made our change, we need to restart the SSH service so that it will use our new configuration.
service ssh restart
########################################
sudo apt-get update sudo apt-get install build-essential libssl-dev libyaml-dev libreadline-dev openssl curl git-core zlib1g-dev bison libxml2-dev libxslt1-dev libcurl4-openssl-dev nodejs libsqlite3-dev sqlite3
sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | sudo bash -s stable
sudo usermod -a -G rvm whoami
rvm install ruby-2.5.1 rvm --default use ruby-2.5.1 rvm use 2.5.1@sound-service --create
$ gem install bundler --no-rdoc --no-ri
This is because Rails's asset pipeline compiler requires a Javascript runtime. The Node.js version does not matter.
$ sudo apt-get install -y nodejs && sudo ln -sf /usr/bin/nodejs /usr/local/bin/node
If you already had Nginx installed, then these commands will upgrade Nginx to Phusion's version (with Passenger compiled in).
sudo apt-get install -y dirmngr gnupg sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 sudo apt-get install -y apt-transport-https ca-certificates
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list' sudo apt-get update
sudo apt-get install -y nginx-extras passenger
http { include /etc/nginx/passenger.conf; ... }
sudo service nginx restart
Nginx updates, Passenger updates and system updates are delivered through the APT package manager regularly.
sudo apt-get update sudo apt-get upgrade
You do not need to restart Nginx or Passenger after an update, and you also do not need to modify any configuration files after an update.
#######################################
sudo apt-get update sudo apt-get install postgresql postgresql-contrib
sudo -u postgres psql postgres=# create user sound_service_dba; postgres=# create database sound_service;
sudo apt-get install redis-server
#######################################
sudo nano /etc/nginx/nginx.conf
server { listen 80; server_name ; root /var/www/sound-service/current/public; passenger_enabled on; }
sudo service nginx restart
#######################################
config/deploy/staging.rb: server '46.229.213.171', user: 'deployer', ssh_options: { user: 'deployer', # overrides user setting above keys: %w[~/.ssh/id_rsa], forward_agent: true, auth_methods: %w[publickey password] }
ssh-add ~/.ssh/id_rsa
#######################################
sudo apt-get install libshout3-dev
sudo apt update sudo apt install curl curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update sudo apt install yarn
yarn --version
psql -t -P format=unaligned -c 'show hba_file';
dpkg -l | grep postgres
sudo apt-get --purge remove postgresql postgresql-9.5 ... ... ...
sudo rm -rf /var/lib/postgresql/ sudo rm -rf /var/log/postgresql/ sudo rm -rf /etc/postgresql/
sudo deluser postgres
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" > /etc/apt/sources.list.d/PostgreSQL.list'
sudo apt update sudo apt-get install postgresql-10
#######################################
add to staging.rb: set :rvm_type, :system
rvm @global do gem uninstall bundler