вторник, 16 ноября 2010 г.

Установка Redmine на FreeBSD (из портов), с БД PostgreSQL

Установка из портов не простая, а очень простая:
$ cd /usr/ports/redmine
# make install clean
При вопросе как «ставить порт?» я выбираю PostgreSQL (MySQL фтопку) и веб-сервер Thin (шустрый рубирельсовый веб-сервер, завязанный на EventMachine).

Далее — настраиваем БД:
# psql -U pgsql postgres
# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

Ещё далее — готовим редмайн к старту:
# cd /usr/local/www/redmine/config
# cp database.yml.example database.yml

Тут надо подравить конфиг работы с БД под себя:
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: my_password
  encoding: utf8

development:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: my_password
  encoding: utf8

Продолжаем готовить:
# cd /usr/local/www/redmine
# rake generate_session_store
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data
# ruby script/server thin -e production

Последняя строка — запуск редмайна из консоли, всё должно запуститься удачно; проверяем, жмём Ctrl-C, и прикручиваем автостарт редмайна правильными FreeBSD-методами:
# echo 'redmine_enable=\"YES\"' >> /etc/rc.conf
# /usr/local/etc/rc.d/redmine start

Если что-то идёт не так, или просто интересно вникнуть в смысл вышеописанных команд, то следует читать вот здесь на языке Вильяма, нашего, Шекспира.

1 коммент.:

Topol комментирует...

При выполнении команды:

RAILS_ENV=production rake db:migrate

может выпасть ошибка:

RAILS_ENV=production: Command not found.

тогда выполняем:

rake db:migrate RAILS_ENV=production

но и тут может выпасть ошибка:

A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key => "_myapp_session", :secret => "some secret phrase" } in config/environment.rb

пытаемся исправить ... выполнив:

# rake config/initializers/session_store.rb
# rake db:migrate RAILS_ENV=production

на этом ошибки должны закончиться...

Спасибо http://nick-on.name :)