-
Notifications
You must be signed in to change notification settings - Fork 23
Развёртывание проекта с нуля под Ubuntu Server
Oleksii Chyrkov edited this page Feb 28, 2014
·
10 revisions
Тут вкратце написано о том, как поднять у себя проект под Ubuntu Server. Например, в виртуалке.
Установить sshd, nginx, git, PostgreSql, curl, Redis
sudo apt-get install openssh-server nginx git postgresql postgresql-server-dev-all postgresql-contrib curl redis-server
Поставить Ruby-2.0.0.-p247 через RVM:
rvm install 2.0.0-p247
Установить bundler
gem install bundler
Задать пароль PostgreSQL
sudo -u postgres psql \password
В файле /etc/postgresql/9.1/main/pg_hba.conf заменить
local all postgres peer
на
local all postgres md5
Перезапустить PostgreSQL
sudo service postgresql restart
Клонировать репозиторий
git clone https://github.com/fbkinfo/rosvybory.git cd rosvybory
Установить все gem’ы
bundle install
Прописать настройки БД и другие (см. все файлы *.sample)
cd rosvybory/config/ cp database.yml.sample database.yml nano database.yml
Создать начальную БД
rake db:setup
Прописать для nginx проксирование unicorn. Например, в файле /etc/nginx/sites-available/unicorn_rails:
upstream unicorn { server localhost:8080 fail_timeout=0; } server { listen 80 default deferred; # server_name example.com; root /home/ubuntu/rosvybory/public; try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://unicorn; } error_page 500 502 503 504 /500.html; client_max_body_size 4G; keepalive_timeout 10; }
Создать симлинк
sudo ln /etc/nginx/sites-available/unicorn_rails /etc/nginx/sites-enabled/unicorn_rails
Удалить конфигурацию nginx по умолчанию:
sudo rm /etc/nginx/sites-available/default
Запустить unicorn
bundle exec unicorn -D
Запустить nginx
sudo service nginx start
Теперь проект должен открываться в браузере.
Создание пользователя админки в новой БД:
user = User.create!(:phone => '1234567890', :email => '[email protected]', :password => 'password', :password_confirmation => 'password') user.add_role :admin user.save!