1 мая, 2014
0 Comments
1 category
Задача на сегодня: перевести redmine с ruby 1.8 на ruby2. Надоело. Сейчас в системе уже есть и ruby1.8 и ruby1.9 . А ветка jessie уже ориентирована на ruby2. Поехали.
- Отключаем сайт: a2dissite <site>; apache2ctl restart
- Устанавливаем: apt-get -t jessie install ruby2.0
- Проверяем: gem –version . Результатом будет что-то типа 2.0.14
- Теперь смотрим на “инсталляционный документ” от redmine: http://www.redmine.org/projects/redmine/wiki/RedmineInstall
- Переходим к шагу 4. Выполняем: gem install bundler
- Переходим в корневой каталог redmine. Туда, где лежат файлы: config.ru, Gemfile,…
- Выполняем: bundle install –without development test
- Выполнение прерывается. Нет заголовочных фалов: (mkmf.rb can’t find header files for ruby at /usr/lib/ruby/include/ruby.h). Добавляем пакет разработчика: apt-get -t jessie install ruby2.0-dev
- И вторая попытка тоже неудачна. Не находит -lmysqlclient . Попробуем доставить девелоперскую библиотеку для MySQL: apt-get -t jessie install libmysqlclient-dev
- А вот теперь – порядок. Дальше то, ради чего всё и затевалось, обновление модулей для apache: aptitude -t jessie upgrade libapache2-mod-passenger ruby-passenger
- Сравниваем версии запущенных модулей из лога apache с теми, что поставились на предыдущем шаге.
- Попробуем включить сайт обратно a2ensite <site>; apache2ctl restart
- Упало… Ошибка 500. Ладно, попробуем перегенерить session store (rake generate_secret_token) из шага 5 инструкции. Не помогает. В файл production.log идёт ошибка: ActionView::Template::Error (incompatible character encodings: ASCII-8BIT and UTF-8)
- Пробуем заменить адаптер базы данных на mysql2 . Как оказалось, об этом написано в инструкции , да и в разборе ошибки. 😳
- Теперь запускает, но какая-то ошибка с правами доступа. Сделаем так, как написано на экране. Gemfile.lock пусть принадлежит “пользователю сайта”.
- О-о-о! Работает. 😛
Category: Redmine