Установка и настройка 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).
План работ — кратко
- Установка Apache и MariaDB.
- Базовая настройка MariaDB (mysql_secure_installation).
- Установка пакета Redmine из репозитория Ubuntu.
- Установка bundler, создание симлинка в webroot и права доступа.
- Настройка модуля Passenger и виртуального хоста Apache.
- Тестирование и смена пароля администратора.
Установка 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 в базе данных.
После установки установите 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
.
Нажмите “Sign In” для входа:
По умолчанию в Redmine есть учётная запись администратора:
- Логин:
admin
- Пароль:
admin
После входа систему попросит сменить пароль. Смените пароль немедленно:
После входа вы увидите панель управления:
Поздравляю — 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 или ручную сборку из исходников.
Важно: тестируйте обновления в тестовой среде, прежде чем применять их на рабочем сервере.
Похожие материалы

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

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

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

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

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