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


Tagged ,

Для ведения своих проектов я решил воспользоваться специально созданными для этого инструментами и мой выбор пал между trac и redmine. Поигравшись в демо, мне больше приглянулся Redmine. Написан этот инструмент на Ruby как утверждает википедия, на основе Ruby on Rails. Поэтому его установка может быть не совсем тривиальной. Основная загвоздка в том, как подружить его с Apache.

Итак приступим к установке:
Ставлю из портов. В качестве субд я выбрал MySQL.

# whereis redmine
redmine: /usr/ports/www/redmine
# cd /usr/ports/www/redmine && make install clean

Далее ставим для passenger следующие галки.

Произойдет установка еще ряда компонентов. После установки у вас в /usr/local/www появится redmine

Далее выполняем шаги из официальной документации.

Создаем пользователя и базу данных для redmine. А так же даем полные права на эту базу.
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost';

# cp /usr/local/www/redmine/config/database.yml.example /usr/local/www/redmine/config/database.yml

Убираем все лишнее из database.yml, оставляя:

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

И копируем следующий файл:

# cp /usr/local/www/redmine/public/dispatch.fcgi.example /usr/local/www/redmine/public/dispatch.fcgi

Переходим в директорию /usr/www/redmine и выполняем команды:

# rake generate_session_store
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data

Первая строка генерирует некий секретный ключ сессии, вторая создает структуру БД, третья загружает дефолтный конфиг в базу данных. В третей команде дается выбор, какой язык дефолной конфигурации, набираем ru и потом радуемся нормальному русскому интерфейсу redmine.

Почту я не стал настраивать, так как redmine крутится на домашнем сервере и я один буду им пользоваться.

Тестируем работоспособность установленного :

# ruby script/server webrick -e production

И заходим в браузере на http://localhost:3000/
Логин: admin
Пароль: admin

Если redmine открылся, значит установка и базовая настройка прошли удачно. Можете зайти а админку и поменять дефолтный пароль.

По нажатии Ctrl + C webrick должен закрыться, однако у меня он почему то отказывался это делать, пришлось делать kill -9 🙂

Заключительный шаг — заставить работать Redmine с Apache. У меня используется Apache 2.2. Так как у меня крутится еще несколько проектов на этом веб-сервере, установить Redmine как основной DocumentRoot не представляется возможным. Было решено вынести redmine в поддомен redmine.localhost и настроить для этого VirtualHost.
Для работы ruby в апаче надо добавить следующие 2 строки:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.2

Ну и добавляем VirtualHost:

<VirtualHost redmine.localhost:80> ServerName redmine.localhost ServerAdmin root@localhost DocumentRoot /usr/local/www/redmine/public/ ErrorLog /usr/local/www/redmine/log/redmine_error_log <Directory "/usr/local/www/redmine/public/"> Options Indexes ExecCGI FollowSymLinks Order allow,deny Allow from all AllowOverride all </Directory> </VirtualHost>

Впринципе на этом все, ребутаем апач и пробуем зайти на http://redmine.localhost/
Заходите в админку и меняйте все языковые настройки на русский.

Мой блог находят по следующим фразам

Share:

7 комментариев

RSS / trackback

Respond

  1. Maryanna Nesina

    on 08.04.2011 at 10:24

    Спасибо.
    Небольшое дополнение: пока я не добавила в httpd.conf строчку
    PassengerRuby /usr/local/bin/ruby

    после перезагрузки машины сайт redmine выдавал 500-ю ошибку и в httpd-error.log валилось:

    *** Passenger ERROR (ext/common/ApplicationPool/../SpawnManager.h:220):
    Could not start the spawn server: ruby: No such file or directory (2)
    [ pid=1124 thr=0x8016041c0 file=ext/apache2/Hooks.cpp:864 time=2011-04-08 18:17:23.916 ]: Unexpected error in mod_passenger: Cannot spawn application ‘/usr/local/www/redmine’: Could not read from the spawn server: Software caused connection abort (53)
    Backtrace:
    in ‘virtual Passenger::SessionPtr Passenger::ApplicationPool::Client::get(const Passenger::PoolOptions&)’ (Client.h:750)
    in ‘Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)’ (Hooks.cpp:297)
    in ‘int Hooks::handleRequest(request_rec*)’ (Hooks.cpp:566)

  2. Человек_Разумный

    on 09.04.2011 at 09:59

    У меня все прекрастно работает с настройкой, которая описана в статье.
    И кстати, не забывайте менять версии у 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

  3. Человек_Разумный

    on 08.05.2011 at 04:09

    Случилось и у меня такая же ошибка, как у Maryanna Nesina.Спасибо ей за дополнение.

  4. Maryanna Nesina

    on 30.05.2011 at 08:00

    Марианна! Добавьте в httpd.conf следующие строки, откорректировав пути для своей системы:

    PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7
    PassengerRuby /usr/local/bin/ruby
    PassengerDefaultUser www

  5. Денис

    on 01.08.2013 at 02:11

    Здравствуйте! У меня при установке вылезла вот такая ошибка:
    *** Error code 1

    Stop in /usr/ports/textproc/rubygem-nokogiri.
    *** Error code 1

    Stop in /usr/ports/devel/rubygem-capybara.
    *** Error code 1

    Stop in /usr/ports/www/redmine.
    *** Error code 1

    Stop in /usr/ports/www/redmine.
    1c# -1.5.0 Documentation —quiet
    Stop in /usr/ports/textproc/rubygem-nokogiri.
    *** Error code 1

    Stop in /usr/ports/devel/rubygem-capybara.
    *** Error code 1

    Stop in /usr/ports/www/redmine.
    *** Error code 1

    Stop in /usr/ports/www/redmine.

    Что мне делать, подскажите пожалуйста? Все делал по инструкции, как написанно в данной статье…

  6. Человек_Разумный

    on 01.08.2013 at 04:34

    Даже не знаю, что сказать. Статья может частично потерять свою актуальность.
    Какая версия фряхи? Когда порты обновлялись? Какая версия редмайна ставиться?

  7. Александр Фукалов

    on 09.12.2013 at 07:14

    Спасибо за полезную инструкцию. Ею интересуются люди так или иначе связанные с Redmine, а значит всем им может пригодиться наша разработка. Мы создали простой таймер RMClient для учета времени в Redmine. Программа удобна и функциональна. Мы используем этот таймер в собственной компании, что позволило существенно упростить работу с Redmine и оптимизировать работу команды. Предлагаю всем желающим ее протестировать и если понравиться будем рады новым пользователям!