Гид по технологиям

Установка Redmine на Ubuntu 20.04

• 5 min read • DevOps • Обновлено 25 Nov 2025
Установка Redmine на Ubuntu 20.04
Установка Redmine на Ubuntu 20.04

Внешний вид интерфейса Redmine на главной странице

Redmine — это бесплатное и открытое приложение для управления проектами на Ruby. Работает через веб-интерфейс и поддерживает несколько проектов, систему отслеживания задач, вики, форумы, календарь и интеграцию с системами контроля версий. В этом руководстве показано, как установить Redmine на сервер с Ubuntu 20.04 и Apache/Passenger.

Основные возможности

  • Диаграмма Ганта и календарь
  • Поддержка нескольких проектов
  • Ролевая модель доступа
  • Уведомления по электронной почте
  • Система отслеживания задач (Issues)
  • Интеграция с SCM (например, Git)
  • Многоязычность и поддержка разных СУБД

Важно: этот гайд рассчитан на установку в продакшен-подобной среде на Ubuntu 20.04 с Apache и Passenger. Если вы хотите использовать Docker, Nginx или другую базу данных — см. раздел «Альтернативные подходы».

Кому это нужно

Кому подойдёт этот материал: системным администраторам, DevOps-инженерам и разработчикам, которые хотят поднять собственный инстанс Redmine на сервере с Ubuntu 20.04.

Краткое определение: Passenger — модуль Apache, который запускает приложения на Ruby/Python/Node.js и управляет их процессами.

Требования

  • Сервер с Ubuntu 20.04
  • Домен, указывающий на IP сервера (рекомендуется)
  • Доступ root или пользователь с sudo

Подготовка системы

Обновите кэш APT:

apt-get update -y

Установите необходимые пакеты для сборки, библиотек работы с изображениями и клиентских библиотек MySQL:

apt-get install build-essential libmysqlclient-dev libmysqlclient-dev imagemagick libmagickwand-dev libmagickcore-dev apt-transport-https ca-certificates dirmngr gnupg2 -y

Примечание: imagemagick используется Redmine для обработки вложений и миниатюр.

Установка Apache, MariaDB и Passenger

Установим Apache, модуль Passenger для Apache и сервер MariaDB:

apt-get install apache2 apache2-dev libapache2-mod-passenger mariadb-server mariadb-client -y

Запустите сервисы:

systemctl start apache2
systemctl start mariadb

Проверьте статус служб при необходимости (systemctl status apache2).

Настройка MariaDB

Защитите установку MariaDB и задайте пароль root:

mysql_secure_installation

Ответьте утилите положительно на вопросы о пароле root, удалении анонимных пользователей, запрете удалённого доступа для root и удалении тестовой базы.

Создайте базу данных и пользователя для Redmine:

mysql -u root -p

MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8mb4;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Замените ‘password’ на надёжный пароль и сохраните его в менеджере паролей.

Важно: используйте utf8mb4, чтобы корректно хранить emoji и символы из разных языков.

Установка Redmine из репозитория Ubuntu

Пакет Redmine доступен в стандартных репозиториях Ubuntu:

apt-get install redmine redmine-mysql -y

Во время установки пакет попросит настроить базу данных. Выберите «yes» и введите пароль MySQL приложения (тот самый, что задали выше).

Конфигурация Redmine при установке

Подтверждение пароля приложения MySQL

Обновите gem и установите bundler:

gem update

gem install bundler

Если команда gem недоступна или вызывает ошибки, убедитесь, что установлены ruby и rubygems. В Ubuntu пакет ruby может требовать дополнительной установки.

Конфигурация Passenger

Отредактируйте конфиг Passenger, чтобы процессы запускались от www-data:

nano /etc/apache2/mods-available/passenger.conf

Измените содержимое на:


  PassengerDefaultUser www-data
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby

Сохраните файл.

Создайте символическую ссылку публичной части Redmine в корне веб-сервера и выставьте владельца:

ln -s /usr/share/redmine/public /var/www/html/redmine
chown -R www-data:www-data /var/www/html/redmine

Конфигурация Apache для Redmine

Создайте виртуальный хост:

nano /etc/apache2/sites-available/redmine.conf

Добавьте:


  ServerAdmin [email protected]
  DocumentRoot /var/www/html/redmine
  ServerName redmine.example.com
  
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
  

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

Замените ServerName и ServerAdmin на свои значения.

Включите модуль rewrite и сайт, затем перезапустите Apache:

a2enmod rewrite

a2ensite redmine.conf

systemctl restart apache2

Проверьте статус:

systemctl status apache2

Ожидаемый пример вывода демонстрирует активность сервера и процессы Passenger.

Доступ к веб-интерфейсу и первичная настройка

Откройте в браузере http://redmine.example.com (замените на ваш домен). На странице входа используйте административный аккаунт:

  • Имя пользователя: admin
  • Пароль: admin

Система предложит сменить пароль. Установите безопасный пароль и сохраните резервный доступ.

Главная страница Redmine

Страница входа Redmine

Смена пароля администратора

Панель управления Redmine

Проверка работоспособности

  • Авторизуйтесь под admin. Если панель отображается и создаются проекты — установка успешна.
  • Проверьте лог Apache на ошибки: /var/log/apache2/error.log
  • Проверьте логи Redmine (если есть) в /var/log/redmine или /var/www/html/redmine/log.

Безопасность и жёсткая конфигурация

Важно выполнить следующие шаги перед запуском в продакшен:

  • Включите HTTPS: получайте TLS-сертификат через Let’s Encrypt и настройте виртуальный хост на 443.
  • Отключите функцию установки пакетов на продакшен-сервере и примените минимальные права на файлы.
  • Настройте регулярное резервное копирование базы данных и каталога files Redmine.
  • Настройте почтовый сервер/SMTP для уведомлений и тестируйте отправку писем.
  • Обновляйте систему и Ruby-гемы по расписанию, тестируя обновления на стенде.

Резервное копирование и миграция

Минимальный набор для восстановления:

  • Дамп базы данных: mysqldump redmine > redmine.sql
  • Папка public/files — вложения пользователей
  • Конфиги (например, /etc/redmine, /etc/apache2/sites-available/redmine.conf)

При миграции на другую машину импортируйте базу, восстановите файлы и исправьте параметры в config/database.yml.

Альтернативные подходы

  1. Docker: использование официального образа Redmine или кастомного docker-compose позволяет изолировать зависимости и упростить миграции.
  2. Nginx + Passenger или Puma: Nginx часто быстрее в статике и даёт гибкую конфигурацию обратного прокси.
  3. Установка из исходников: когда нужна особая версия Redmine — собрать и настроить руками через rvm/rbenv.

Когда это не подходит: репозиторный пакет Ubuntu может быть старее актуальной версии Redmine. Для получения новых релизов рассмотрите установку из исходников или Docker.

Типовые проблемы и их решения

  • Ошибка bundle при старте: убедитесь, что bundler установлен и запущен от правильного Ruby (PassengerDefaultRuby).
  • Проблемы с правами на файлы: выполните chown -R www-data:www-data /var/www/html/redmine и проверьте права на папку files.
  • Ошибка подключения к БД: проверьте config/database.yml или учётные данные, права пользователя и возможность подключения по сокету/localhost.

Чеклист для развёртывания (роль: DevOps)

  • Обновлён APT и установлены зависимости
  • Установлены apache2, mariadb-server, libapache2-mod-passenger
  • Создана БД redmine и пользователь с нужными правами
  • Установлен пакет redmine и заданы параметры БД
  • Создан виртуальный хост Apache и включён модуль rewrite
  • Настроен HTTPS и сертификаты
  • Настроено резервное копирование и мониторинг

Критерии приёмки

  • Веб-интерфейс Redmine доступен по настроенному домену
  • Удачная авторизация под admin и смена пароля
  • Возможность создать проект и задачу
  • Логи чистые от критических ошибок (в течение 5 минут после запуска)

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

  1. Проверка служб: systemctl status apache2 mariadb
  2. Проверка логов: tail -n 200 /var/log/apache2/error.log
  3. Тест UI: авторизация, создание проекта, загрузка вложения
  4. Тест почты: отправка уведомления по созданию задачи

Совместимость и заметки по версиям

  • Тестировано для Ubuntu 20.04; на 22.04 возможны отличия в версиях Ruby и пакетах (проверьте зависимости gem).
  • Репозиторный пакет Redmine может отставать от upstream: для новых функций используйте установку из исходников или контейнеры.

Короткое резюме

Поздравляем — вы установили и настроили Redmine на Ubuntu 20.04 с Apache и Passenger. Проведите базовую проверку, настройте HTTPS и резервное копирование, а затем перенесите проект в продакшен-пользование.

Важно: планируйте регулярные обновления зависимостей и мониторинг для поддержки безопасности и стабильности.

Справочная информация

Официальная документация Redmine: https://www.redmine.org/

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро