Sei sulla pagina 1di 2

- Setup swap (connect as root)

swapon -s
touch /var/swap.img
chmod 600 /var/swap.img
dd if=/dev/zero of=/var/swap.img bs=1024k count=1000
mkswap /var/swap.img
cp /etc/fstab /etc/fstab.backup
echo "/var/swap.img
none
swap
sw
0
0" >> /etc/fstab
swapon /var/swap.img
sysctl -w vm.swappiness=30
- Setup ps1 command prompt (this is optional)
* From your machine:
scp ps1.sh root@198.199.110.148:~/.ps1.sh
* From vps:
echo '[ -f ~/.ps1.sh ] && source ~/.ps1.sh && ps1_set' >> ~/.bashrc
* Logout and login to see new ps1 command prompt
- Add .gemrc
echo "gem: --no-rdoc --no-ri" > ~/.gemrc
- Add user "deploy" or "deployer" or any name you want
sudo adduser deploy
- Add that user to sudo group
sudo usermod deploy -G sudo
- Install necessary packages and PostgreSQL and Nginx
sudo apt-get install software-properties-common python-software-properties y
sudo add-apt-repository ppa:nginx/stable -y
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg
main" > /etc/apt/sources.list.d/precise-pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-k
ey add sudo apt-get update -y && sudo apt-get dist-upgrade -y
sudo apt-get install \
htop git-core openssh-server nginx-full vim tmux xsel xclip \
postgresql-9.3 postgresql-client-9.3 libpq5 libpq-dev \
build-essential autoconf automake libtool bison patch \
libmagickwand-dev libxml2-dev libxslt1-dev libxslt-dev openssl libssl-de
v \
libmemcached-dev libreadline-dev libreadline6 libreadline6-dev \
zlib1g zlib1g-dev libyaml-dev libc6-dev ncurses-term ncurses-dev \
libcurl4-openssl-dev libffi-dev libevent1-dev imagemagick -y
- Switch to deploy user
sudo su - deploy
- Install rbenv to deploy's
cd
git clone https://github.com/sstephenson/rbenv.git
git clone https://github.com/sstephenson/ruby-build.git

~/.rbenv
~/.rbenv/plu

gins/ruby-build
git clone https://github.com/jf/rbenv-gemset.git
gins/rbenv-gemset
git clone https://github.com/sstephenson/rbenv-gem-rehash.git
gins/rbenv-gem-rehash

~/.rbenv/plu
~/.rbenv/plu

- Init rbenv (add the following lines to ~/.bashrc)


cat <<STRING >> ~/.bashrc
export EDITOR='vim'
export PATH=\$HOME/.rbenv/bin:\$PATH
if which rbenv >/dev/null 2>&1; then
eval "\$(rbenv init -)"
fi
export RUBY_CONFIGURE_OPTS='--disable-install-doc'
STRING
- Install Ruby version for deployment
rbenv install -v 2.0.0-p451
- Install Bundler
rbenv local 2.0.0-p451
gem install bundler
- PostgreSQL: Enable md5 authentication in pg_hba.conf and Create deploy user an
d change password
sudo su - postgres
createuser -U postgres -d -s deploy
createdb -U postgres -O deploy deploy
psql -U postgres -d postgres
\password deploy
- Config nginx /etc/nginx/nginx.conf
change worker_processes from 4 to 1;
uncomment the line: server_names_hash_bucket_size 64;
- Add /etc/sudoers.d/deploy file for deployment
cat <<STRING > /etc/sudoers.d/deploy
deploy ALL=NOPASSWD: /etc/init.d/nginx
deploy ALL=NOPASSWD: /bin/cp -fv config/nginx-*
x-*
deploy ALL=NOPASSWD: /bin/cp -fv config/puma-*

/etc/nginx/sites-enabled/ngin
/etc/init.d/puma-*

deploy ALL=NOPASSWD: /bin/cp -fv /home/deploy/*/current/config/nginx-*


ginx/sites-enabled/nginx-*
deploy ALL=NOPASSWD: /bin/cp -fv /home/deploy/*/current/config/puma-*
nit.d/puma-*
deploy ALL=NOPASSWD: /bin/rm -fv /etc/nginx/sites-enabled/nginx-*
deploy ALL=NOPASSWD: /bin/rm -fv /etc/init.d/puma-*
STRING

/etc/n
/etc/i

Potrebbero piacerti anche