Установка Redmine 2.6 на Debian 7 Wheezy (Nginx + Thin)

install_redmine_nginx_thin_image

На моем сервере был установлен 2.6 на + Passenger связке. Но учитывая, что у меня наконец-то дошли руки до сервера и я переехал с PHP + на + PHP-FPM, мне пришлось так же поменять для сервер на Nginx + Thin. О настройке и thin в этом посте.

Для старта прилагаю ссылку на прошлый пост об установке Redmine.

Установка Redmine 2.6 на Debian 7 Wheezy (Apache + Passenger)

Тут необходимо дойти до заголовка “настройка apache и passenger” и остановиться. Дальше нужно продолжить уже тут.

Настройка nginx и thin

 

При условии, что на сервере уже настроен и запущен nginx версии не ниже 1.8 (за более старые не ручаюсь), нужно проделать следующие шаги, чтобы запустить thin.
Напоминаю, что у меня установлен и rails при помощи rvm, т.е. никаких deb пакетов нету, и текущая версия ruby у меня 2.1.5

Перво-наперво надо установить thin глобально. Чтобы понимать что и куда ставится, я перешел в текущую папку ruby инсталляции.

Выдаст версию типа thin 1.6.4 codename Gob Bluth

Теперь можно создать конфиг thin для redmine.

Как видно, конфиг предполагает запуск на локальном адресе и порте 3000. После генерации он будет выглядеть так

Есть еще вариант запуска thin через socket, тогда вместо разделов address и port будет socket: /tmp/thin.sock

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

Вместо локального ip можно поставить ip сервера и redmine уже откроется по ip:port адресу на внешку. Для проверки локальных хостов без выхода на внешку я использую консольный браузер lynx.

Теперь надо в Gemfile.lock в /opt/redmine/current добавить строку  “thin” и обновить бандлы.

Все готово для испытания thin.

Для проверки, что все работает, можно сделать следующее. Во первых проверить процессы.

Их должно быть 1-2 как минимум. Далее посмотреть лог

Тут не должно быть ошибок. Ну и конечно же можно проверить наличие pid файлов в tmp директории установки redmine.

Так же можно попробовать открыть redmine в консольном браузере

Убедившись, что все работает (а если нет, то гуглим), приступаем к настройке nginx хоста. Ну а тут все просто, нужно настроить его как proxy к thin. Вот пример конфига хоста.

В моем случае хост у меня sub.seyferseed.ru для примера, т.е. тут надо заменить на свой.

После чего redmine предстанет во всей красе в браузере по используемому в конфиге адресу хоста.

В качестве дополнения и упрощения жизни я сделал 2 bash скрипта

И добаил тот, который стартует thin, в crontab

Теперь при перезагрузке сервера все сразу заведется.
Хотя в посте процесс настройки написан просто и прямолинейно, все же я столкнулся со множеством проблем по ходу. Тут уже выжимка только по работающим шагам.
Мне помогали следующие ссылки:

http://www.redmine.org/boards/2/topics/31291?r=32985
http://www.redmine.org/boards/2/topics/37072
https://mihanentalpo.me/2015/09/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-redmine-nginx-thin-%D0%BD%D0%B0-debian-8-jessie/
http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine

А так же stackoverflow. :)
Далее я, возможно, буду делать обновление redmine на последнюю версию. Либо откажусь от него полностью в пользу онлайн сервисов, таких как basecamp.