Установка Redmine на Windows 7 в виде службы, с базой данных sqlite3
В этой статье рассматривается вариант установки Redmine с базой данных SQlite3 на Windows и запуск его как сервиса. Все необходимые компоненты для установки приведены в статье. Для тестирования была установлена виртуальная машина с «голым» Windows 7 без пакетов обновления, без дополнительного ПО и произведена пошаговая установка по инструкции в статье.
Ответ на вопрос: «Сколько требует ресурса так установленная Redmine?»
ОЗУ: Процесс Redmine использует 2 МБ оперативной памяти, а интерпретатор Ruby «ест» 170 МБ оперативной памяти.
ЖД: Установленный «пустой» Redmine с остальным ПО занимает
500 МБ жесткого диска.
Необходимые компоненты для установки Redmine
• Ruby — среда разработки Ruby.
• DevKit для Ruby — компонент разработчика для Ruby.
• AddTrustExternalCARoot-2048.pem — сертификат безопасности для Ruby.
• Redmine — последняя версия Redmine.
• NSSM — сервис менеджер.
Пошаговая инструкция
Часть 1, распаковка
1. Устанавливаем RubyInstaller в нужный нам каталог (например C:\Ruby) и при установке ставим галочки:
2. Распаковываем DevKit в C:\Ruby\Devkit
3. Копируем сертификат в C:\Ruby\lib\ruby\2.1.0\rubygems\ssl_certs
4. Распаковываем Redmine в C:\Ruby\Redmine
5. Распаковываем NSSM в папку Redmine C:\Ruby\Redmine\NSSM
Часть 2, установка devkit
1. Открываем консоль cmd от имени администратора.
2. Переходим в каталог Devkit:
3. Выполняем команду инициализации Devkit:
4. Выполняем команду установки Devkit:
Часть 3, установка необходимых gem`ов
1. Устанавливаем менеджер для управления gem`ами:
2. Устанавливаем sqlite3 для Ruby
3. Обновляем все gem`ы и подтверждаем обновления:
4. Сворачиваем консоль.
Часть 4, настройка redmine
1. В папке config (C:\Ruby\redmine\config) открываем файл “database.yml.example”.
2. Удаляем все записи, кроме sqlite3:
3. Сохраняем его уже в формате yml. (C:\Ruby\redmine\config\database.yml)
4. В папке Redmine (C:\Ruby\redmine) открываем файл “Gemfile”.
5. Дописываем туда в начало:
сохраняем и выходим.
Часть 5, создание БД и первый запуск redmine
1. Возвращаемся в консоль и переходим в папку с redmine:
2. Выполняем команду (установка зависимостей для Redmine):
Найдите в файле “Gemfile” (C:\Ruby\redmine\Gemfile):
ИЛИ просто запустите вместо bundle install:
3. Выполняем команду (генерируем ключ для Rails):
4. Выполняем команду (создаем базу данных):
5. Выполняем команду (устанавливаем конфигурацию по умолчанию):
и при запросе пишем “ru”
6. Запускаем сервер:
7. Проверяем запуск сервера по адресу:
8. Возвращаемся в консоль и останавливаем сервер:
Часть 6, создание сервиса для redmine
1. Сворачиваем консоль.
2. Создаем cmd файл:
3. Помещаем его в C:\Ruby\Redmine\
4. Переходим в консоль и переходим в папку NSSM:
5. Заходим в папку с разрядностью вашей системой, например:
6. Создаем сервис:
7. В открытом окне создания сервиса, в Path устанавливаем:
8. В Arguments устанавливаем:
9. Во вкладке «Details» устанавливаем Startup type: Automatic
10. Перезагружаем ПК (или просто включаем сервис руками) и пользуемся.
Примечания
Для примера были приведены пути C:\Ruby, C:\Ruby\Redmine, C:\Ruby\Redmine\NSSM и другие; Вы можете использовать свои пути, но не забудьте изменить все команды, которые приведены в примере.
Установка автономного сервера Redmine в Windows
Эта инструкция является компиляцией материалов из различных источников.
Для установки не требуется специальных знаний, достаточно навыков работы с командной строкой Windows.
Надеюсь, эта инструкция будет полезна для тех, кто не особо вдается в тонкости администрирования, но хочет использовать Redmine, то есть для начальников отделов разработки или технической поддержки в небольших организациях.
Для простоты изложения будем считать что у нас диск C: доступен для записи и мы будем все устанавливать на него. Эксперименты производилась под Windows 7 SP1, инструкция проверялась на Windows XP SP3.
Поздравляю, вы запустили для своей организации автономный сервер Redmine без Apache, MySQL и других зависимостей. Для бэкапа достаточно отключить сервер redmine и сделать архив каталога c:\redmine.
Запуск сервера можно осуществлять bat-файлом с вышеуказанной командой из автозагрузки. Или можно воспользоваться информацией со страницы http://www.redmine.org/projects/redmine/wiki/HowTo_run_Redmine_as_a_Windows_service_(win32-service_+_taskill_approach) для запуска Redmine как сервиса.
О песочнице
Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.
Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.
Чтобы исключить предвзятость при оценке, все публикации анонимны, псевдонимы показываются случайным образом.
О модерации
Не надо пропускать:
Redmine
Latest releases¶
Resources¶
Установка Redmine¶
Данная документацию по установке Redmine 1.4.0 и выше. Вы все еще можете прочитать документ для 1.3.x здесь.
Требования¶
Операционная система¶
Redmine должен работать на Unix, Linux, Mac, Mac Server и Windows поскольку Ruby доступен для этих платформ. Конкретные инструкции доступны здесь.
Ruby интерпретатор¶
Соответствие версий Ruby и версий Redmine:
| Версия Redmine | Поддерживаемая версия Ruby | Необходимая версия Rails |
|---|---|---|
| текущий trunk | ruby 1.9.3, 2.0.0, 2.1, 2.2 | Rails 4.2 |
| 3.0 | ruby 1.9.3, 2.0.0, 2.1, 2.2 | Rails 4.2 |
| 2.6 | ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1, 2.2, jruby-1.7.6 | Rails 3.2 |
База данных¶
Не обязательные компоненты¶
Версии Redmine¶
Установка¶
Получите исходный код Redmine, загрузив архив релиза или получив код из хранилища. См. Download.
Redmine использует Bundler для управления зависимостями gems пакетов.
Вам необходимо вначале установить Bundler:
Затем вы можете установить все зависимости требующиеся Redmine. Для этого распаковываете полученный на первом шаге архив релиза в какую-нибудь папку. Делаете эту папку рабочей и устанавливаете зависимости с помощью следующей команды:
не обязательные зависимости¶
RMagick (позволяет использовать ImageMagick для работы с изображениями в при экспорте в PDF и PNG)¶
Если ImageMagick не установлен в вашей системе, вы должны пропустить установку gem-пакета rmagick используя команду:
Если у вас проблемы с установкой rmagick на Windows, посмотрите это HowTo.
Неиспользуемые адаптеры баз данных¶
Вы также можете пропустить установку адаптеров баз данных, которые вы не используете.
Например, если вы используете MySQL, вы можете пропустить установку пакетов PostgreSQL, SQLite с помощью команды:
Дополнительные зависимости ( Gemfile.local )¶
Создайте пустую базу данных и сопутствующего пользователя¶
MySQL¶
Для версий MySQL до 5.0.2 вместо шага create user используйте:
PostgreSQL¶
Скопируйте файл config/database.yml.example в config/database.yml и отредактируйте этот файл так, чтобы настроить параметры базы данных для «production» окружения(реальное окружения, используемое для работы).
Пример для базы данных MySQL, использующей ruby1.8 или jruby:
Пример для базы данных MySQL, использующей ruby1.9 (адаптер должен быть установлен в mysql2 ):
Если ваш сервер не работает со стандартным портом (3306), используйте эту конфигурацию:
Пример для PostgreSQL (порт по-умолчанию):
Этот шаг генерирует случайный ключ, используемый Rails для шифрования хранилища, содержащего данные сессий, тем самым предотвращая их фальсификацию.
Генерация нового ключа сделает недействительными все существующие сеансы после перезагрузки.
Если вы получите вот такую ошибку:
Установите в базу данных конфигурацию по умолчанию, выполнив следующую команду:
Redmine запросит у вас язык набора данных, которые должны быть загружен. Вы можете также перед запуском команды установить в переменную окружения REDMINE_LANG значение, которое будет автоматически использовано в процессе загрузки.
Пользователи Windows могут пропустить этот шаг.
Предполагается, что вы запустили Redmine от пользователя redmine:
Протестируйте установку путем запуска веб-сервера WEBrick:
После старта WEBrick, откройте в браузере http://localhost:3000/. Теперь вы должны увидеть страницу приветствия приложения.
Примечание: Webrick не подходит для нормальной эксплуатации, пожалуйста, используйте WEBrick только для тестирования установки. Не рекомендуется использовать webrick ни для чего кроме разработки. Используйте одно из многих руководств в этой вики для настройки Passenger(также известного как mod_rails ), FCGI или Rack сервер (Unicorn, Thin, Puma, hellip;) для обслуживания вашего redmine.
Используйте учетную запись администратора по умолчанию, чтобы войти:
Теперь вы можете посетить раздел Administration (Администрирование) для изменения настроек приложения.
Настройка¶
Если вам необходимо изменить настройки по-умолчанию, просто скопируйте config/configuration.yml.example в config/configuration.yml и отредактируйте новый файл. Этот файл хорошо прокомментирован, так что смотрите его.
Эти настройки могут быть определены для каждого окружения Rails ( production / development / test ).
: Не забудьте перезапустить приложение после любого изменения.
Настройка Email / SMTP-серверов¶
Настройка email описана на отдельной странице.
Настройки SCM ¶
Переопределение имени команды:
Настройка хранилища вложений¶
Настройка логирования¶
Для использования последнего, необходимо скопировать config/additional_environment.rb.example в config/additional_environment.rb и в нем добавить следующие строки. Отметим, что по умолчанию в файле установлен высокий уровень журналирования, следовательно, должен быть явно установлен в информацию.
Резервное копирование¶
Вот простой скрипт, который может быть использован для создания ежедневных резервных копий (предположим вы используете базу данных MySQL):
Замечания по установке на Windows¶
Существует готовый инсталлятор Ruby MRI, который можно получить http://rubyinstaller.org.
После его установки, выберите Start Command Prompt with Ruby в меню Пуск.
При выполнении команд, описанных в данном руководстве, вы должны установить переменной окружения RAILS_ENV с помощью отдельной команды.
Например команды со следующим синтаксисом:
должны быть превращены в 2-е последовательные команды:
Вам может понадобиться установить gem mysql с помощью команды:
В некоторых случаях необходимо скопировать libmysql.dll в вашу директорию ruby/bin. Не все libmysql.dll подходят, эта похоже работает http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
Важное замечание для Win7 и последующих
Альтернатива ручной установке¶
Некоторые пользователи предпочитают пропустить ручную установку и использовать один из сторонних пакетов Redmine со страницы загрузки.
Установка Redmine за 15 минут (RVM + RoR + Unicorn + Nginx)
Эта статья является результатом работы по установке и автономизации работы сервера на базе ОС Linux с Redmine по различным источникам (в том числе и по официальной инструкции), часть команд и последовательность действий были взяты из других источников. Все используемые источники указаны в конце статьи.
Введение
В общем задача звучала так: установить Redmine на сервер, где веб-сервер на nginx.
Так как Redmine написан на RoR, то необходимо иметь RoR среду, но проблема в том, что разные RoR приложения могут требовать разные версии окружения. В моем случае необходимо было предусмотреть возможность установки RoR приложений с разным окружением, а значит нужен менеджер версий, который будет разворачивать нужную среду в нужном месте.
Также хотелось классический вариант веб-сервера на nginx. Однако, nginx не знает как исполнять приложение, и в данном случае выступает в качестве прокси на исполняющий веб-сервер RoR приложения.
Теперь задача становится более ясной: установить Redmine на сервер, развернув стек RoR+Unicorn+Nginx, с автоматическим запуском.
Подготовка
Отключение ipv6
Примечание: необязательно, написал потому что мне надо было решить проблему 
Установив на VPS Ubuntu 16.04 при попытке apt-get install не мог получить данные по ipv6 :
Решение: отключить ipv6 добавив соответствующую информацию в /etc/sysctl.conf:
Установка общего софта
curl для установки RVM (Ruby Version Manager):
Примечание: остальное необязательно если читатель пользуется другим софтом для этих дел 
Установка
Получение Redmine
На данный момент самая свежая стабильная версия Redmine 4.1.1. Заходим в директорию /opt/ скачиваем туда архив, распаковываем переименовываем в redmine и удаляем архив:
Теперь путь до Redmine: /opt/redmine/
PostgreSQL
Этот раздел нужен только если Вы выбрали в качестве СУБД PostgreSQL!
Проверим текущую версию пакета в репозитории:
Если все нормально двигаемся дальше, иначе ищем способ установить нужную версию пакета.
Теперь нужно зайти на сервер PostgreSQL (чтобы зайти надо сменить юзера терминала, потому что только юзер postgres может в psql), создать пользователя и базу данных:
Для выхода надо ввести \q
На работе уже использовалась СУБД PostgreSQL, в тоже место предполагалось ставить GitLab (он работает с PostgreSQL), поэтому здесь сделал так.
My SQL
Этот раздел нужен только если Вы выбрали в качестве СУБД MySQL!
Установка сервера MySQL:
Действия с MySQL = 8.0 для пользователя необходимо использовать старый метод аутентификации mysqlnativepassword (и вот еще ссылка):
У меня в одном проекте уже использовалась СУБД MySQL 8, поэтому решил поставить с использованием MySQL.
Сначала надо установить gnupg2 и установить проверочные ключи для установки RVM:
Теперь в директорию /opt/ надо скачать rvm скрипт:
Затем установка самого RVM (из директории /opt/ ):
Окружение Ruby On Rails для текущей сессии терминала можно установить так (а можно и по другому):
Вывод достаточно большой, но нас интересует именно это:
Создадим окружение для Redmine:
Теперь при входе в директорию /opt/redmine/ через терминал, для этой директории будет установлено окружение ruby-2.6.5@redmine :
Настройка и тестовый запуск Redmine
Настройка базы данных
Файл /opt/redmine/config/database.yml.sample является примером как должен выглядеть конфиг подключения к БД. Создадим конфиг:
Запишем в конфиг данные для работы с БД:
Сборка зависимостей и решение проблем
Теперь надо собрать все зависимости RoR приложения:
При сборке RoR приложения в разных условиях могут возникать разные проблемы.
Используя PostgreSQL в качестве СУБД команда bundle может закончится ошибкой связанной с модулем pg :
Решение нашел здесь, а именно:
Для MySQL тоже возникает проблема с модулем mysql2 (детали ошибки аналогичны как и для PostgreSQL). Решение нашлось здесь, а именно:
Еще была проблема с nokogiri, решение нашел здесь, а именно:
Не забываем опять запустить bundle
Инициализация БД
Теперь нужно сделать 5-ый, 6-ой и 7-ой шаги: сгенерировать случайный ключ для сессий, создать структуру БД и инициализировать данные в БД:
Тестовый запуск
Пробуем запустить Redmine на webrick:
Если запуск прошел успешно, то на 3000 порту можно посмотреть сайт ( localhost:3000 или ip:3000 ).
Unicorn
В /opt/redmine/GemFile запишем зависимость:
Создадим конфигурационный файл для unicorn:
И вставляем туда текст конфига:
Создаем директории в соответствии с конфигом и меняем владельца:
Теперь выполнив bundle (если нет ошибок), можно запускать unicorn (из директории /opt/redmine/ ):
Уничтожить процесс unicorn можно по pid файлу :
Nginx
Пишем в конфиг nginx (у меня путь /etc/nginx/nginx.conf ), в секцию http (при этом виртуальные хосты должны быть отключены):
Или вот полный конфиг (для доступа к Redmine по ip адресу):
Если nginx запустился без ошибок, то пробуем обратится на сайт по ip адресу (или по localhost ), Redmine должно работать.
Автозагрузка
Если перезагрузить сервер (или внезапно уничтожить Unicorn), то сам Unicorn автоматически не поднимется, надо это организовать.
Почитать о том, что происходит ниже можно здесь и здесь.
Идем в /etc/systemd/system/ и создаем файл redmine.service :
Создаем файлы скрипты в /opt/redmine/config/ меняем владельца и группу, и ставим права на запуск:
unicorn_stop для остановки сервиса:
unicorn_reload для перезапуска сервиса (останавливаем и запускаем):
Теперь просмотрев статус сервиса можно увидеть:
Установка Redmine на Windows
Redmine — открытое серверное веб-приложение для управления проектами и задачами (в том числе для отслеживания ошибок). Redmine написан на Ruby и представляет собой приложение на основе широко известного веб-фреймворка Ruby on Rails. Распространяется согласно GNU General Public License.
Функциональные возможности
Данный продукт предоставляет следующие возможности:
Подготовка к инсталляции.
Берем инсталятор с сайта Bitnami для Windows (в комплекте — Redmine+Apache+MySQL).
Инсталляция.
Устанавливаем на новый сервер: папка для инсталляции по умолчанию C:\Program Files\
Проверяем, что инсталлятор работает. Запускаем в браузере по пути localhost:80, он должен открыть пустую базу, созданную по умолчанию при инсталляции.
Перенос баз.
Создаем новую пустую базу данных с именем redmine_bitnami:
Hа место этой базы восстанавливаем дамп рабочего редмайна (в database.yml должна быть указана соответствующая база в разделе production, также надо дополнительно указать строку encoding: utf8).
Так как предыдущий redmine был более старый автоматически база не заработает, поэтому необходимо произвести миграцию базы на более новую версию Redmine.
Миграция производится следующим образом:
Послеустановочная настройка.
Локальные настройки и окружение.
Настройка резервного копирования.
Создаем назначенное задание, для создания резервных копий. Проверяем резервные копии на восстанавливаемость каждую неделю вручную.
