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

Установка и настройка Redmine на Ubuntu 18.04

5 min read Серверы Обновлено 27 Sep 2025
Redmine на Ubuntu 18.04 — установка и настройка
Redmine на Ubuntu 18.04 — установка и настройка

Что такое Redmine

Redmine — свободное веб-приложение для управления проектами, написанное на Ruby on Rails. Оно поддерживает несколько проектов, контроль версий (Git, SVN, CVS), тайм-трекинг, Wiki и управление документами. Простыми словами: Redmine помогает организовать задачи, права доступа и историю разработки в одном интерфейсе.

Ключевые возможности

  • Поддержка нескольких языков.
  • Несколько СУБД (в данном руководстве — MariaDB) и простой учёт времени.
  • Интеграция с новостями, документами и файловым хранилищем.
  • Поддержка веб-лент и уведомлений по e-mail.

Важно: это руководство ориентировано на Ubuntu 18.04 и ожидает пользователя с правами sudo.

Требования

  • Сервер с Ubuntu 18.04.
  • Нерoot-пользователь с правами sudo.
  • Домен или A-запись для доступа по http(s) (в примерах используется example.com).

Скриншот логотипа Redmine

План работ — кратко

  1. Установка Apache и MariaDB.
  2. Базовая настройка MariaDB (mysql_secure_installation).
  3. Установка пакета Redmine из репозитория Ubuntu.
  4. Установка bundler, создание симлинка в webroot и права доступа.
  5. Настройка модуля Passenger и виртуального хоста Apache.
  6. Тестирование и смена пароля администратора.

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

Redmine работает через веб-сервер и хранит данные в базе. Установим Apache и MariaDB вместе с Passenger-модулем:

sudo apt-get install apache2 mariadb-server libapache2-mod-passenger -y

После установки запустите и включите автозапуск служб:

sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

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

sudo systemctl status apache2

Если всё активно (active (running)), можно продолжать.

Настройка MariaDB

MariaDB по умолчанию не защищена. Запустите вспомогательный скрипт:

sudo mysql_secure_installation

На вопросы ответьте примерно так:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

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

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

В Ubuntu 18.04 пакет redmine доступен в стандартных репозиториях. Установите пакет и его поддержку для MySQL/MariaDB:

sudo apt-get install redmine redmine-mysql -y

Во время установки пакет предложит диалог конфигурации. Выберите “Yes” для настройки с базой данных и затем укажите тип СУБД — mysql. После этого введите пароль для регистрации Redmine в базе данных.

Установка пакета Redmine: диалог конфигурации

Выбор MySQL в конфигураторе пакета Redmine

Ввод пароля MySQL для Redmine в конфигураторе

После установки установите bundler (менеджер Ruby-гемов) для корректной работы зависимостей:

sudo gem install bundler

Создайте символическую ссылку в webroot Apache и создайте lock-файл Gemfile:

sudo ln -s /usr/share/redmine/public /var/www/html/redmine
sudo touch /usr/share/redmine/Gemfile.lock

Назначьте права владельца web-папке и lock-файлу для пользователя Apache (www-data):

sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock
sudo chown -R www-data:www-data /var/www/html/redmine

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

Отредактируйте конфигурацию Passenger:

sudo 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:

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

Вставьте конфигурацию (замените example.com на ваш домен):


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/redmine
     ServerName example.com
     ServerAlias www.example.com

     
         RailsBaseURI /redmine
         PassengerResolveSymlinksInDocumentRoot on
     

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

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

sudo a2ensite redmine
sudo a2enmod rewrite
sudo systemctl restart apache2

Проверьте статус Apache, чтобы убедиться, что перезапуск прошёл без ошибок.

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

Откройте в браузере адрес вашего сервера, например http://example.com.

Стартовая страница Redmine после установки

Нажмите “Sign In” для входа:

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

По умолчанию в Redmine есть учётная запись администратора:

  • Логин: admin
  • Пароль: admin

После входа систему попросит сменить пароль. Смените пароль немедленно:

Изменение пароля администратора Redmine

После входа вы увидите панель управления:

Панель управления Redmine после входа

Поздравляю — Redmine установлен и доступен.

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

  • Веб-страница http://<ваш_домен> открывает Redmine без ошибок.
  • Apache, MariaDB и служба passenger работают (active/running).
  • Вы можете войти под admin и сменить пароль.
  • Папки /var/www/html/redmine и /usr/share/redmine/Gemfile.lock принадлежат www-data.

Тестирование и устранение неполадок

Проверьте логи Apache:

sudo tail -n 100 /var/log/apache2/error.log

Частые проблемы и проверки:

  • Ошибка Passenger — убедитесь, что PassengerRoot и PassengerDefaultRuby указывают на существующие пути.
  • Ошибка доступа к базе — проверьте соединение MySQL/MariaDB и учётные данные в /etc/redmine/default/database.yml (если используется).
  • Ошибка прав — проверьте владельца и права www-data для папки webroot.

Полезные команды для диагностики:

systemctl status apache2
systemctl status mariadb
journalctl -u apache2 --since today

Безопасность и эксплуатация

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

  • Немедленно смените пароль admin и создайте отдельную учётную запись администратора с уникальным паролем.
  • Закройте доступ к SSH и включите брандмауэр (ufw):
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
  • Включите HTTPS с помощью Let’s Encrypt (certbot) и перенаправление HTTP→HTTPS.
  • Регулярно обновляйте пакеты Ubuntu и Ruby-гемы (bundler, зависимости). Для обновления зависимостей используйте команды в каталоге /usr/share/redmine по необходимости.

Альтернативные подходы и масштабирование

  • Docker-контейнеры: удобно для изоляции окружения и обновлений. Официальные/сообщества образы Redmine часто включают все зависимости.
  • Nginx + Passenger: альтернатива Apache с более гибкой настройкой обратного прокси и статических ресурсов.
  • Развертывание из исходников: позволяет выбрать версию Redmine и Ruby, используемую в прод окружении.

Когда стандартный пакет не подходит

  • Нужно нестандартное окружение Ruby или более новая версия Redmine — собирайте приложение из исходников или используйте Docker.

Рекомендации по эксплуатации — чеклист для администратора

  • Сменить пароль admin.
  • Настроить HTTPS и автоматическое обновление сертификатов.
  • [ ] Настроить резервное копирование базы данных и каталога files Redmine.
  • Обновлять систему и гемы по расписанию (тестировать на staging перед prod).
  • Настроить мониторинг процессов Apache и MariaDB.

Факты и пути (быстрая сводка)

  • Путь веб-части Redmine: /var/www/html/redmine
  • Конфигурации RPM/DEB: /etc/redmine, /usr/share/redmine
  • Службы: apache2, mariadb
  • Порт по умолчанию: 80 (HTTP), 443 при HTTPS
  • Стандартные учётные данные: admin / admin (обязательно сменить)

Резюме

Вы установили Redmine на Ubuntu 18.04, настроили Apache и MariaDB, связали приложение с веб-рут и выполнили первичную проверку входа. Дальше — настроить HTTPS, резервное копирование и мониторинг. Для более сложных сценариев рассмотрите Docker или ручную сборку из исходников.

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

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

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

Функция CHAR в Google Sheets: вставка символов по коду
Google Таблицы

Функция CHAR в Google Sheets: вставка символов по коду

Как улучшить качество фото на iPhone
Фото

Как улучшить качество фото на iPhone

Защита от SQL‑инъекций: практическое руководство
Кибербезопасность

Защита от SQL‑инъекций: практическое руководство

PHP-FastCGI: тест и настройка для сайтов
Серверы

PHP-FastCGI: тест и настройка для сайтов

Redmine на Ubuntu 18.04 — установка и настройка
Серверы

Redmine на Ubuntu 18.04 — установка и настройка

Как посмотреть и удалить историю просмотров YouTube
Privacy

Как посмотреть и удалить историю просмотров YouTube