Установка и настройка redmine centos 7

Обновлено: 30.06.2024

Со всеми этими и рядом других задач прекрасно справляется Open-Source приложение Redmine. Написано оно на языке Ruby и работает на популярном web-фреймворке Ruby on Rails. Для его использования не нужны никакие клиенты, достаточно обычного браузера как Google Chrome или Mozilla Firefox. Большинство данных хранятся в базе данных. Можно использовать популярные MySQL, PostgreSQL, SQLite (не рекомендуется в production окружении) и ряд других. Подразумевается, что уже есть компьютер под управлением операционный системой Linux (в нашем случае выбор пал на CentOS 7) и сконфигурированный стек LEMP.
Для начала требуется установить минимальный список зависимостей

После этого скачиваем самый свежий на данный момент стабильный релиз Redmine версии 3.0.3 и распаковываю в удобную папку.

Переместим файлы в одно из предназначенных каталогов для веб приложений и создадим конфигурацию для соединения с базой данных:

Всё должно быть понятно без лишних объяснений: указываются по стандарту хост, база, логин и пароль. После указания параметров лучше сразу их и создать:

Возвращаемся в каталог с приложением и устанавливаем bundler и остальные гемы. Я не планирую заниматься разработкой и тестированием готового продукта, следовательно укажу установщику исключить эти окружения из сборки

Далее по инструкции необходимо сгенерировать секретный ключ, а так же выполнить миграцию и наполнить базу демо-данными. При установке рекомендую сразу выбрать русский язык

Проверим все ли компоненты установились и сможет ли приложение работать. Для этого можно использовать веб-сервер webrick который идет в комплекте с гемом rails.

Добавляем в Gemfile строку, которая укажет bundler-у добавить unicorn в текущий набор

Далее создание конфигурации для нового гема

И пробуем запустить наше хозяйство

Отлично, работает. Теперь необходимо подружить unicorn с nginx
Делается это очень просто:

Проверяем конфигурацию и применяем правила

Redmine 3 + Unicorn + Nginx на CentOS 7 : 15 комментариев

Соответственно в моём случае команду нужно запускать находясь в каталоге /srv/redmine/
Проверьте на вашей системе

спасибо за быстрый ответ
Мне удалось обнаружить если в конфиге config/unicorn.rb закоментировать
before_fork do |server, worker|
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect
end
то при выполнении bundle exec unicorn_rails -E production -c config/unicorn.rb -D появляются процесы.

Что не так делаю.

upstream redmine server unix:/srv/redmine/tmp/sockets/unicorn.sock;
>

Мы запускаем unicorn на сокете, а не на сетевом порту.

Коллега, Вы еще можете дополнить Ваш /etc/nginx/conf.d/redmine.conf таким:
location

* \.(jpg|gif|png|js|css|ico)$ root /srv/redmine/public;
expires 7d;
error_page 404 502 504 = @ruby;
>
Мелочь, но приятно 🙂

Спасибо, Виктор. Вы правы
Добавил в статью

Получилось разобраться с gem`ом god?

Так вышло что сервер несколько месяцев работал без перезагрузки и я совсем позабыл об этом gem-е 🙂
Не было причин с ним разбираться.
Спасибо, что напомнили. Постараюсь решить в ближайшее время

Глеб, теперь я тут:)

А как правильно в автозагрузку поставить:
bundle exec unicorn_rails -E production -c config/unicorn.rb -D

просто в rc.local так и прописать?
или это плохой тон? 🙂

Что то пропустил ваш комментарий
Нужно делать через systemctl, создавая новый сервис. В настройках есть и указание рабочей директории и выполняемой команды при запуске
Детальнее можно посмотреть тут

не получается настроить автозагрузку.
после загрузки из сервися или из rc.local командой
BUNDLE_GEMFILE=/var/www/html/redmine/Gemfile bundle exec unicorn_rails -E production -c config/unicorn.rb -D

На только что установленный centos7 с диска CentOS-7-x86_64-Minimal-1503-01.iso будем устанавливать redmine 3.1.2. От предыдущей статьи redmine на ubuntu установка не будет сильно отличаться, здесь опишем только отличия.

Установку будем делать от пользователя redmine.

Устанавливаем дополнительные пакеты

Настройка БД

Для управлением mariadb:

подключаемя к серверу БД

Редактируем файл конфигурации database.yml

Устанавливаем ruby при помощи rvm

Установка ruby на centos7 ни чем не отличается от ubuntu-server 14.04. Статья как установить ruby при помощи rvm. На момент написания статьи по умолчанию установилась версия ruby-2.2.1 для redmine-3.1.2 годится, менять ни чего не будем.
Установка закончится примерно следующими строками

Выполним скрипт как написано:

После установки посмотреть можно командой rvm list

Установка redmine 3.1.2

Дальше все по инструкции:

passenger + nginx

Некоторое отличие от модуля passenger для nginx от apache2. Nginx не подгружает внешние модули, по этому nginx необходимо пересобрать. Для выполнение компиляции в автоматическом режиме необходимо выбрать 1, если есть необходимость добавить другие опции для сборки тогда скачивайте nginx самостоятельно. Выбирайте 2, далее по инструкции.

В моем случае установка/сборка nginx была выполнена автоматически в папку /opt/nginx
ниже приведены рекомендации для изменения конфигурационного файла. И добавим директиву server для нашей конфигурации.

Управлять nginx
старт сервера

Для мониторинга за системой можно использовать:

Миграция базы с redmine 2.5.3 на redmine 3.1.2

Обязательно сделать backup БД

далее по инструкции /opt/redmine-3.1.2/doc/UPGRADING

Comments (7)

Sergei Romanov

server listen 80;
server_name finance.modulew.local;
passenger_enabled on;
root /redmine/public;

error_page 500 502 503 504 /50x.html;
location = /50x.html root html;
>

Administrator

By default /etc/rc.local and /etc/rc.d/rc.local are no longer executable in CentOS7 with the new systemd-changes. Follow the below steps to make the script /root/g.sh run at boot time:

chmod +x /etc/rc.d/rc.local

Restart and check

andragen

Administrator

/.bashrc
rvm list

И с автозагрузкой nginx:
chmod +x /etc/rc.d/rc.local
nano /etc/rc.d/rc.local
Вниз файла добавила строку:
/opt/nginx/sbin/nginx

Dmitry

Установка Redmine 4.0.5 NGINX PostgreSQL в Centos 7 1

Redmine — открытое серверное веб-приложение для управления проектами и задачами (в том числе для отслеживания ошибок). Redmine написан на Ruby и представляет собой приложение на основе широко известного веб-фреймворка Ruby on Rails

Подготовительный этап

Устанавливаем пакеты, необходимые для сборки Redmine и Ruby из исходного кода

Создадим нового пользователя, добавляем его в группу Wheel

Разрешаем пользователю redmine делать sudo, не запрашивая пароль


Добавляем правила в Firewall

Установка и настройка PostgreSQL 10

Инициализируем пространство для БД

Добавляем службу в автозагрузку и запускаем PostgreSQL

Переключаемся на пользователя postgres

Создаем пользователя БД

Переключаемся в PostgreSQL shell

Задаем пароль для пользователя БД

Создам базу и задаем владельца базы

Настраиваем доступ к PostgreSQL

Установка Ruby из исходников

Переключаемся на пользователя redmine

Скачиваем ruby 2.6.5, собираем из исходников

Что бы удалить собранный из исходников ruby:

Установка Rubygems из исходников

Скачиваем rubygems 3.0.6, собираем из исходников

Устанавливаем Redmine. Начало

Скачиваем и распаковываем redmine

Настраиваем подключение к PostgreSQL

Устанавливаем Redmine (если сервер имеет выход в интернет)

Если сервер не имеет выход в интернет, надо скачать необходимые пакеты (gem)

Положить их в каталог /opt/redmine/redmine-4.0.5/vendor/cache

И установить bundler и passenger локально

Установка NGINX + Passenger

Скачиваем NGINX и устанавливаем его с поддержкой Passenger

Для удобства создаём симлинк

Редактируем файл конфигурации Nginx:

Далее настраиваем доступ к хосту Redmine

Пример конфигурационного файла для nginx

Создаем файл для запуска nginx в качестве сервиса

Перечитываем конфигурации systemd

Запускаем Nginx и добавляем его в автозагрузку

Устанавливаем Redmine. Продолжение

Переходим в каталог

Прописываем настройки для PostgreSQL

Устанавливаем необходимые gems (локальная установка)

Либо, если у сервера есть выход в интернет, устанавливаем необходимые gems:

Запускаем генерацию токена:

Создаем структуру БД

Загружаем в базу дефолтные данные

Установка приложения Redmine завершена. Меняем владельца и прав доступа к каталогам и файлам

Осталось поменять пароль админа, для этого открываем браузер, переходим на соответствующую страницу и меняем пароль

Со всеми этими и рядом других задач прекрасно справляется Open-Source приложение Redmine. Написано оно на языке Ruby и работает на популярном web-фреймворке Ruby on Rails. Для его использования не нужны никакие клиенты, достаточно обычного браузера как Google Chrome или Mozilla Firefox. Большинство данных хранятся в базе данных. Можно использовать популярные MySQL, PostgreSQL, SQLite (не рекомендуется в production окружении) и ряд других. Подразумевается, что уже есть компьютер под управлением операционный системой Linux (в нашем случае выбор пал на CentOS 7) и сконфигурированный стек LEMP.
Для начала требуется установить минимальный список зависимостей

После этого скачиваем самый свежий на данный момент стабильный релиз Redmine версии 3.0.3 и распаковываю в удобную папку.

Переместим файлы в одно из предназначенных каталогов для веб приложений и создадим конфигурацию для соединения с базой данных:

Всё должно быть понятно без лишних объяснений: указываются по стандарту хост, база, логин и пароль. После указания параметров лучше сразу их и создать:

Возвращаемся в каталог с приложением и устанавливаем bundler и остальные гемы. Я не планирую заниматься разработкой и тестированием готового продукта, следовательно укажу установщику исключить эти окружения из сборки

Далее по инструкции необходимо сгенерировать секретный ключ, а так же выполнить миграцию и наполнить базу демо-данными. При установке рекомендую сразу выбрать русский язык

Проверим все ли компоненты установились и сможет ли приложение работать. Для этого можно использовать веб-сервер webrick который идет в комплекте с гемом rails.

Добавляем в Gemfile строку, которая укажет bundler-у добавить unicorn в текущий набор

Далее создание конфигурации для нового гема

И пробуем запустить наше хозяйство

Отлично, работает. Теперь необходимо подружить unicorn с nginx
Делается это очень просто:

Проверяем конфигурацию и применяем правила

Redmine 3 + Unicorn + Nginx на CentOS 7 : 15 комментариев

Соответственно в моём случае команду нужно запускать находясь в каталоге /srv/redmine/
Проверьте на вашей системе

спасибо за быстрый ответ
Мне удалось обнаружить если в конфиге config/unicorn.rb закоментировать
before_fork do |server, worker|
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect
end
то при выполнении bundle exec unicorn_rails -E production -c config/unicorn.rb -D появляются процесы.

Что не так делаю.

upstream redmine server unix:/srv/redmine/tmp/sockets/unicorn.sock;
>

Мы запускаем unicorn на сокете, а не на сетевом порту.

Коллега, Вы еще можете дополнить Ваш /etc/nginx/conf.d/redmine.conf таким:
location

* \.(jpg|gif|png|js|css|ico)$ root /srv/redmine/public;
expires 7d;
error_page 404 502 504 = @ruby;
>
Мелочь, но приятно 🙂

Спасибо, Виктор. Вы правы
Добавил в статью

Получилось разобраться с gem`ом god?

Так вышло что сервер несколько месяцев работал без перезагрузки и я совсем позабыл об этом gem-е 🙂
Не было причин с ним разбираться.
Спасибо, что напомнили. Постараюсь решить в ближайшее время

Глеб, теперь я тут:)

А как правильно в автозагрузку поставить:
bundle exec unicorn_rails -E production -c config/unicorn.rb -D

просто в rc.local так и прописать?
или это плохой тон? 🙂

Что то пропустил ваш комментарий
Нужно делать через systemctl, создавая новый сервис. В настройках есть и указание рабочей директории и выполняемой команды при запуске
Детальнее можно посмотреть тут

не получается настроить автозагрузку.
после загрузки из сервися или из rc.local командой
BUNDLE_GEMFILE=/var/www/html/redmine/Gemfile bundle exec unicorn_rails -E production -c config/unicorn.rb -D

Читайте также: