You need to be Payday Loans UK Why would you

Установка Redmine в FreeBSD

Вам, вероятно, известно, что redmine портирован в FreeBSD. Прежде всего я попытался его собрать:

#cd /usr/ports/www/redmine
===> redmine-1.2.1_1 is marked as broken: Does not work with RubyGems 1.8.
*** Error code 1

Stop in /usr/ports/www/redmine.

Конечно, Вы бы врядли читали сейчас этот пост если бы порт собрался успешно ;)
Автор порта пометил его как “broken” из-за бага в Gem 1.8.

В результате мне пришлось ставить его вручную по официальноу руководству
В процессе установки я столкнулся с рядом проблемами. Таким образом данный пост является дополненным, а также адаптированным под FreeBSD руководством установки Redmine. Рассмотрены возможные ошибки и способы их решения.
Надеюсь это пригодится кому-нибудь. итак, поехали…

1) Качаем Redmine (I used svn for it):

#svn co http://redmine.rubyforge.org/svn/branches/1.2-stable redmine-1.2

2) Создаем базу данных (конечно, Вы можете использовать для этого phpmyadmin или что угодно):
mysql -uuser -ppasword
mysql> create database redmine character set utf8;
mysql> create user 'redmine'@'localhost' identified by 'passforuser';
mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
mysql>exit;


3) Правим конфиг для подключения к базе данных ( копируем из config/database.yml.example). config/database.yml:

production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: passforuser

4) Генерируем session store secret.
#rake generate_session_store
Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`

Вот здесь начинаются проблемы. Без паники делаем то, что предлагаетcя:
#gem install -v=0.4.2 i18n
Fetching: i18n-0.4.2.gem (100%)
Successfully installed i18n-0.4.2
1 gem installed
Installing ri documentation for i18n-0.4.2...
Installing RDoc documentation for i18n-0.4.2...

снова пробуем:

#rake generate_session_store
Missing the Rails 2.3.11 gem. Please `gem install -v=2.3.11 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

Я попробовал изменить значение RAILS_GEM_VERSION (on 3.0.5) но Redmine еще не работает с версией 3.0.5 (у меня была установлена именно она) так что устанавливаем раннюю версию:
# gem install -v=2.3.11 rails

и снова пробуем:
# rake generate_session_store
rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+)
WARNING: 'task :t, arg, :needs => [deps]' is deprecated. Please use 'task :t, [args] => [deps]' instead.
at /vol1/www/www.slim/httdocs/redmine/redmine-1.2/lib/tasks/email.rake:170

Немного погуглив, выяснилось, что это связано с версией rake которую тоже нужно “опустить”:
# gem install -v=0.8.7 rake
Fetching: rake-0.8.7.gem (100%)
Successfully installed rake-0.8.7
1 gem installed
Installing ri documentation for rake-0.8.7...
Installing RDoc documentation for rake-0.8.7...

# gem uninstall -v=0.9.2 rake
Successfully uninstalled rake-0.9.2

В конечном итоге сработало:
# rake generate_session_store
(in /vol1/www/www.slim/httdocs/redmine/redmine-1.2)

5) Миграция базы данных:
# rake db:migrate RAILS_ENV=production
(in /vol1/www/www.slim/httdocs/redmine/redmine-1.2)
rake aborted!
syntax error on line 8, col 2: ` encoding: utf8'

(See full trace by running task with --trace)
Нашел-таки проблему. Оказалось я допустил ошибку в конфигурации базы данных – пропустил проблем перед паролем. Далее:

# rake db:migrate RAILS_ENV=production
(in /vol1/www/www.slim/httdocs/redmine/redmine-1.2)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

устанавливаем gem mysql:
howtobsd# gem install mysql

и снова пробуем запустить миграцию:
howtobsd# rake db:migrate RAILS_ENV=production

На этот раз все прошло гладко, миграция завершена!

6) Импортируем дефолтные данные (рекомендуется):
# rake redmine:load_default_data RAILS_ENV=production
(in /vol1/www/www.slim/httdocs/redmine/redmine-1.2)

Select language: bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]

Выбираем язык и двигаемся дальше.

7) В соответствии с руководством устанавливаем права на папки (создаем, если каких-то нет):

chown -R username:username files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets

8) Тестируем установку:
#ruby script/server webrick -e production
=> Booting WEBrick
=> Rails 2.3.11 application starting on http://0.0.0.0:3000

Готово, теперь можете попробовать в браузере ввести http://localhost:3000

* login: admin
* password: admin

У меня заработало. Надеюсь у Вас тоже!

9) Нам осталось только сконфигурировать Apache для redmine.
Конфигурация ROR приложений для Apache описана в моей статье “Installing Ruby on Rails on FreeBSD” только сейчас я внес некоторые изменения в httpd.conf в связи с измененной версией passenger.
Теперь у меня в httpd.conf это выглядит так:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.5/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.5
PassengerRuby /usr/local/bin/ruby18

10) Ну, и напоследок, мой пример конфигурации виртуального хоста для redmine:
<VirtualHost *:80>
ServerName my-projects.com
DocumentRoot /vol1/www/www.slim/httdocs/redmine/redmine-1.2/public/
RailsEnv production
ErrorLog /vol1/www/www.slim/httdocs/redmine/redmine-1.2/log/httpd.log
</VirtualHost>

Это все!

4 Responses to “Установка Redmine в FreeBSD”

  1. Годная статья.

    Но я проблему решил обновлениями портов

  2. just install 1.7.2 ruby-gems and comment out BROKEN=… line in the Makefile of redmine port and install as usual

  3. За статью спасибо, но упущен важный момент:
    как ruby-gems откатить до версии меньше 1.8?! Бьюсь сейчас, никак не могу найти нужный порт…

  4. /usr/ports/ports-mgmt/portdowngrade/