Redmine - это довольно популярная в последнее время платформа для управления проектами и отслеживания ошибок.По идее, его установка - стандартная процедура, но мне, как совершенно незнакомому с Ruby и тонкостями установки Ruby софта пришлось повозиться.
Кроме того, в большинстве инструкций описывается использование Apache в качестве веб-сервера. У меня для этой цели будет использован Nginx
Подготовка системы
Для начала установим минимально необходимые для работы Ruby пакеты
[codesyntax lang="bash"]sudo apt-get install ruby rubygems ruby1.8-dev libgemplugin-ruby libgemplugin-ruby1.8 libruby-extras libruby1.8-extras rubygems1.8 libsqlite3-ruby libopenssl-ruby[/codesyntax]
Пакеты ruby, ruby1.8-dev, libruby-extras, libruby1.8-extras нужны для работы самого руби, rubygemslib, gemplugin-ruby, libgemplugin-ruby1.8, rubygems1.8 нужны для установки Ruby библиотек из самого руби (эт такой руби-пакетный менеджер), libopenssl-ruby - для SSL, libsqlite3-ruby - для работы с sqlite3 базой данных. Хочу заметить, что это НЕОБХОДИМЫЙ МИНИМУМ пакетов.
Далее устанавливаем необходимые для работы Redmine Ruby - библиотеки через встроенный пакетный менеджер gem
[codesyntax lang="bash"]sudo gem install -v=2.3.5 rails
sudo gem install i18n
sudo gem install mysql mongrel mongrel_cluster[/codesyntax]
mysql - C-библиотека для работы с MySQL базой данных (см UPD), rails - знаменитые RubyOnRails (таблица совместимости различных версий redmine с версиями rails есть тут), mongrel и mongrel_cluster - родной веб-сервер для Ruby веб-приложений, i18n - библиотека для перевода интерфейса.
Создание учетных записей
В принципе, этот шаг можно пропустить и использовать существующего пользователя, например www-data, но я крайне рекомендую все-же не полениться и, ради безопасности, проделать и эту часть инструкции.
Создаем нового пользователя с домашней директорией /home/redmine , и именем redmine
[codesyntax lang="bash"]sudo useradd -d /home/redmine -m -s /bin/bash redmine ; sudo passwd redmine[/codesyntax]
После ввода этой команды придумайте пароль для нового пользователя и введите его в появившемся запросе.
Переключаемся на созданного пользователя
[codesyntax lang="bash"]sudo su redmine ; cd ~[/codesyntax]
.
Загрузка и настройка Redmine
Если у вас есть GIT, то
[codesyntax lang="bash"]git clone git://github.com/edavis10/redmine.git[/codesyntax]
Если нет:
[codesyntax lang="bash"]svn co http://redmine.rubyforge.org/svn/trunk redmine[/codesyntax]
Можно в общем-то и tarball скачать тут http://rubyforge.org/frs/?group_id=1850:
[codesyntax lang="bash"]wget http://rubyforge.org/frs/download.php/75097/redmine-1.2.1.tar.gz
tar -xzf redmine-1.2.1.tar.gz[/codesyntax]
Перемещаем полученные файлы в корень домашней директории и подчищаем мусор
[codesyntax lang="bash"]mv redmine/* . ; rm -r redmine[/codesyntax]
Теперь нужно настроить соединение Redmine с базой данных... Redmine поддерживает работу с базами данных sqlite, mysql и postgre-sql. MySQL у меня на сервере есть, но его версия 5.1. Проблема в том, что текущая версия Ruby библиотеки не поддерживает работу с версией 5.1 сервера MySQL, поэтому я решил использовать sqlite3 базу данных. Так вот, копируем пример конфиг-файла
[codesyntax lang="bash"]cp config/database.yml.example config/database.yml[/codesyntax]
И редактируем этот конфиг
[codesyntax lang="bash"]nano config/database.yml[/codesyntax]
Меняем строки production на что-то вроде backup_production а строку test_sqlite3 на production, сохраняем. Т.е. вся база данных будет храниться в sqlite3 файле db/test.db (создастся автоматически)
После создаем некое рандомное значение, необходимое для кодирования Cookies
[codesyntax lang="bash"]rake config/initializers/session_store.rb[/codesyntax]
Генерируем структуру базы данных
[codesyntax lang="bash"]rake db:migrate RAILS_ENV="production"[/codesyntax]
Загружаем и импортируем в базу данных стандартные данные
[codesyntax lang="bash"]RAILS_ENV=production rake redmine:load_default_data[/codesyntax]
Выставляем необходимые права доступа
[codesyntax lang="bash"]mkdir tmp public/plugin_assets sudo chown -R redmine:redmine files log tmp public/plugin_assets sudo chmod -R 755 files log tmp public/plugin_assets[/codesyntax]
В принципе, теперь можно попробовать запустить:
[codesyntax lang="bash"]ruby script/server webrick -e production[/codesyntax]
При этом запустится простенький веб-сервер по адресу http://localhost:3000/ Можно открыть в браузере, зайти под учеткой admin/admin, сменить пароль на нормальный. Для остановки сервера жмем Ctrl+C. Если хотите использовать redmine локально - на этом можно остановиться, а для совместной работы через интернет нужно настроить веб-сервер для работы с Ruby и Redmine. Как это сделать - см во 2-й части
UPD: для использования Redmine с базой данных MySQL необходимо установить драйвер MySQL для Ruby т.к. без этого будет выскакивать сообщение "!!! The bundled mysql.rb driver has been removed from Ruby 2.2". Т.е. выполняем
[codesyntax lang="bash"]sudo gem install mysql[/codesyntax]
Если при этом у вас появляется сообщение об ошибке типа
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension./usr/bin/ruby1.8 extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
...........
*** extconf.rb failed ***
То нужно немного настроить окружение:
[codesyntax lang="bash"]sudo apt-get install build-essential libmysqlclient-dev[/codesyntax]
Возможно понадобится libmysql-cil-dev пакет. После этого повторяем sudo gem install mysql и спокойненько пользуемся MySQL в качестве БД для Redmine.
[…] « Установка Redmine на Ubuntu 9.10 под Nginx 14 […]
[…] целиком подошла вот эта инструкция по установке: Установка Redmine на Ubuntu 9.10 под Nginx с небольшими оговорками, базу я все таки в отличии от […]
Разобрался таки, с запуском в бэкграунд:
ruby script/server webrick -d -e production
+ скрипт для запуска#!/bin/bash
# здесь должен быть путь к месту установки redmine
cd /var/www/redmine
SCRIPT="ruby script/server webrick -d -e production"
RETVAL=0
case "$1" in
start)
$SCRIPT
RETVAL=$?
;;
stop)
killall -9 ruby
RETVAL=$?
;;
restart)
killall -9 ruby
$SCRIPT
RETVAL=$?
;;
*)
echo "Usage: /etc/inid.d/redmine {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
Спасибо)Пришлось конечно поплясать, но Redmine завёлся)
Рад что помогло.
Есть момент, что статья старая, так что версии приложений уже заметно подросли а часть информации могла стать неактуальной…
Доброго времени суток, огромное спасибо за подробную инструкцию. После установки не мог войти в аккаунт по умолчанию. В логах нашел эту ошибку:
«Error calling Dispatcher.dispatch #»
Лечение:
да, тоже сталкивался недавно, это проявляется для определенных версий рельсов и mongrel.
Есть тикет в редмайне http://www.redmine.org/issues/7688 — мне удалось решить засовыванием https://gist.github.com/826692 в config/initializers/ как советовали в комментариях к этому багу.
[…] Для начала установим минимально необходимые для работы Ruby пакеты ? […]