В первой части описывается подготовка сервера перед развертыванием 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-freedeb 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 и руби для пользователя
- настройка PostgreSQL$ \curl -L https://get.rvm.io | bash -s stable$ source .bashrc$ rvm install 1.9.3-head
# su postgres
postgres@177581-10001:/home/deployer$ psql запускаем psqlpostgres=# \password устанавливаем пароль на польователя postgresEnter new password: парольEnter it again: подтверждениеpostgres=# create user <имя пользователя бд> with password '<пароль>'; создаем пользователя для приложения, например, create user deployer with password 'secret';CREATE ROLE
Комментариев нет:
Отправить комментарий