Установка и настройка redmine centos 7
Со всеми этими и рядом других задач прекрасно справляется 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 — открытое серверное веб-приложение для управления проектами и задачами (в том числе для отслеживания ошибок). 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
Читайте также: