суббота, 22 декабря 2012 г.

Развертывание Rails приложения на VPS (виртуальный частный сервер) Часть 1 - подготовка сервера


В первой части описывается подготовка сервера перед развертыванием Rails приложения.

Пример приведен с использованием Debian 7, в качестве СУБД использован PostgreSQL, в качестве сервера - Nginx.

Использовался хостинг clodo, в его VPS уже были установлены sudo, ssh сервер, vnc сервер и прочие мелочи, которые необходимо учитывать, если приложение выкатывается на голые железки.


Список команд:
- создание пользователя и добавление его в группы sudo и wheel
# adduser deployer
# usermod deployer -a -G wheel,sudo
- создание ключей для рута и пользователя
# ssh-keygen
$ ssh-keygen
- изменение /etc/apt/sources.list
deb http://cdn.debian.net/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
- добавление скрипта add-apt-repository для добавления репозиториев необходимых программ:
# mv add-apt-repository.sh.txt /usr/sbin/add-apt-repository
# chmod o+x /usr/sbin/add-apt-repository
- добавления репозитория с Nginx, PostgreSQL и NodeJS
# add-apt-repository ppa:nginx/stable
# add-apt-repository ppa:pitti/postgresql
# add-apt-repository ppa:chris-lea/node.js
- обновление и установка nginx,  PostgreSQL, libpq-dev (для гема pg) и NodeJS
# aptitude update
# aptitude install nginx postgresql libpq-dev nodejs
- установка необходимых для rvm и руби пакетов
# apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
- установка rvm и руби для пользователя
$ \curl -L https://get.rvm.io | bash -s stable
$ source .bashrc
$ rvm install 1.9.3-head
- настройка PostgreSQL
# su postgres

postgres@177581-10001:/home/deployer$ psql  запускаем psql
postgres=# \password                        устанавливаем пароль на польователя postgres
Enter new password:                         пароль
Enter it again:                             подтверждение
postgres=# create user <имя пользователя бд> with password '<пароль>'; создаем пользователя для приложения, например, create user deployer with password 'secret';
CREATE ROLE 

Комментариев нет:

Отправить комментарий