После обновления Debian с Wheezy до Jessie перестал работать Redmine, настроенный по заметке Установка Redmine в Debian Wheezy.
Во-первых, поскольку в дистрибутиве Jessie вместо плагинов uwsgi_rack_ruby18 и uwsgi_rack_ruby191 имеется только плагин uwsgi_rack_ruby21, использовать теперь нужно именно его.
Во-вторых, в каталоге, на который указывала опция rails, появился файл config.ru, поэтому uwsgi предлагает воспользоваться опцией rack, которой и нужно указать этот файл. Однако, одной этой опции rack недостаточно для правильной работы, нужно ещё указать опцию chdir, указав в ней путь к каталогу, где находится приложение.
Опция post-buffering теперь не обязательна, поэтому её можно убрать.
В результате получился такой вот файл /etc/uwsgi/apps-available/redmine.ini:
[uwsgi] procname = uwsgi-redmine procname-master = uwsgi-redmine-master plugin = uwsgi_rack_ruby21 env = RAILS_RELATIVE_URL_ROOT=/redmine env = RAILS_ENV=production chdir = /usr/share/redmine rack = /usr/share/config.ru processes = 2
Это всё было довольно быстро исправлено, но этого оказалось не достаточно. Осталась ещё одна проблема, которая заключалась в том, что redmine наотрез отказывался принимать во внимание переменную окружения RAILS_RELATIVE_URL_ROOT, которая позволяла получить доступ к приложению не через корневой каталог сервера, а поместить его в подкаталог. В данном случае этим каталогом являлся каталог /redmine/.
Вмешиваться в код приложения не хотелось, поэтому я искал другой способ исправить ситуацию. Чего я только не пробовал... В конце концов приспособил комментарий habermann24 commented on 13 May и создал файл /etc/redmine/config.ru со следующим содержимым:
require ::File.expand_path('/usr/share/redmine/config/environment', __FILE__) map ENV['RAILS_RELATIVE_URL_ROOT'] || '/' do run RedmineApp::Application end
Этот файл я указал в конфигурации /etc/uwsgi/apps-available/redmine.ini, заменив значение опции rack:
rack = /etc/redmine/config.ru
После добавления такого костыля и перезапуска uwsgi, всё заработало как положено.
К сожалению, подобные недоработки в Debian стали встречаться чаще. Может быть качество объективно падает, а может быть я чаще стал пользоваться всякими маргинальными программами и поэтому подобные недоработки просто стали мне чаще попадаться.