Установка MantisBT на CentOS 8
О чём статья
MantisBT — свободное, открытое и веб‑ориентированное ПО для трекинга багов, написанное на PHP. Простое в использовании, с уведомлениями по email, ролями и правами доступа, поддержкой проектов и под‑проектов, графом связей задач и настраиваемой панелью. В этом руководстве показаны шаги установки Mantis на CentOS 8 с использованием Apache, MariaDB и PHP и подключением SSL от Let’s Encrypt.
Основные термины (1‑строчное определение)
- LAMP: стек Linux + Apache + MariaDB(MySQL) + PHP.
- Certbot: клиент для получения сертификатов Let’s Encrypt.
- SELinux: механизм контроля доступа в ядре Linux.
Требования перед началом
- Сервер с установленным CentOS 8 и доступом под root или sudo.
- Домен, указывающий на IP сервера (A/AAAA запись).
- Пароль root или доступ через sudo для установки пакетов и прав.
Установка LAMP (Apache, MariaDB, PHP)
Установите Apache, MariaDB, PHP и нужные расширения одной командой:
dnf install httpd mariadb-server php php-mysqli php-mbstring php-curl unzip -yПосле установки запустите и включите сервисы при старте:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadbСовет: выполните mysql_secure_installation для базовой защиты MariaDB (установка пароля root, удаление анонимных пользователей, отключение удалённого root, удаление тестовой БД).
Создание базы данных для Mantis
Mantis использует MariaDB/MySQL. Создайте базу и пользователя:
mysqlВнутри консоли MariaDB выполните:
MariaDB [(none)]> CREATE DATABASE mantisdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Важно: замените mantispassword на надёжный пароль и при необходимости задайте отдельного пользователя с ограниченными привилегиями.
Установка Mantis
Скачайте текущий стабильный релиз (пример для 2.24.2):
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.24.2/mantisbt-2.24.2.zipРаспакуйте архив:
unzip mantisbt-2.24.2.zipСкопируйте в корень Apache и назначьте владельца:
cp -r mantisbt-2.24.2 /var/www/html/mantis
chown -R apache:apache /var/www/html/mantisПримечание: по безопасности проверьте контрольную сумму архива перед распаковкой и используйте релизы с официальных зеркал.
Конфигурация Apache для Mantis
Создайте виртуальный хост:
nano /etc/httpd/conf.d/mantis.confДобавьте (пример, как в исходном руководстве):
ServerAdmin [email protected]
DocumentRoot "/var/www/html/mantis"
ServerName mantis.linuxbuz.com
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
TransferLog /var/log/httpd/mantis_access.log
ErrorLog /var/log/httpd/mantis_error.log
Важно: на CentOS 8 с Apache 2.4 директивы “Order” и “Allow from” являются устаревшими. Для Apache 2.4 используйте альтернативную конфигурацию:
ServerAdmin [email protected]
DocumentRoot "/var/www/html/mantis"
ServerName mantis.linuxbuz.com
Options MultiViews FollowSymlinks
AllowOverride All
Require all granted
ErrorLog /var/log/httpd/mantis_error.log
CustomLog /var/log/httpd/mantis_access.log combined
Перезапустите Apache:
systemctl restart httpd
systemctl status httpdЕсли статус показывает ошибки, проверьте /var/log/httpd/mantis_error.log и общую конфигурацию виртуальных хостов.
Настройка HTTPS через Let’s Encrypt
Установите Certbot. Примечание: certbot-auto устарел в некоторых дистрибутивах — предпочтительнее установить certbot из EPEL или пакета snapd. Пример установки certbot-auto (как в исходнике):
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoЗапустите получение сертификата (пример для автоматической настройки Apache):
certbot-auto --apache -d mantis.linuxbuz.comВо время процесса вам предложат ввести email и принять условия. Затем — выбор перенаправления HTTP → HTTPS. Для новых установок рекомендуется выбрать перенаправление (Redirect).
Важно: если certbot-auto недоступен, установите certbot через dnf из EPEL или snap и используйте certbot --apache.
После успешного получения сертификата файлы будут в /etc/letsencrypt/live/yourdomain.
SELinux и брандмауэр
На CentOS 8 SELinux обычно включён. Разрешите web‑сервису доступ к сети и установите контекст для каталога Mantis:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/mantisОткройте http/https в firewalld и перезапустите правила:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadПроверьте, что SELinux не блокирует Apache при доступе к БД/внешним сервисам: ausearch -m avc -ts recent.
Доступ к веб‑интерфейсу Mantis
Откройте в браузере https://mantis.linuxbuz.com. На странице предварительной проверки вы увидите набор проверок окружения и требования к правам. Заполните поля для подключения к ранее созданной базе данных: database name, username, db password, admin username и т.д., затем нажмите Install/Upgrade Database.



После успешной установки вы увидите сообщение об успешном завершении установки.

Нажмите Continue, затем войдите в систему с учётной записью администратора (по умолчанию имя administrator). Mantis при первом входе запросит пароль.

Пароль по умолчанию: root (требуется немедленная смена).

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

Измените пароль администратора и заполните контакты:

Готово — вы видите рабочую панель Mantis.

Рекомендации по безопасности и эксплуатации
- Немедленно смените пароль администратора.
- Включите HTTPS и запретите прямой HTTP, если сайт публичный.
- Ограничьте доступ к /admin и FTP/SSH по IP, если возможно.
- Регулярно делайте резервные копии базы данных и каталога /var/www/html/mantis.
- Ограничьте права файловой системы: только веб‑серверу — запись в нужные каталоги.
Резервное копирование и восстановление (мини‑методология)
- Остановите доступ к приложению (опционально).
- Снимите дамп базы данных:
mysqldump -u root -p mantisdb > mantisdb_backup.sql. - Скопируйте каталог приложения:
tar czf mantis_www_$(date +%F).tar.gz /var/www/html/mantis. - Храните бэкапы вне сервера (S3, NAS) и проверяйте восстановление на тестовой машине.
Когда этот способ не подходит: варианты и ограничения
- Много‑инстансные кластеры: для крупного окружения лучше настроить отдельную базу данных на выделенном хосте и поставить nginx или балансировщик.
- Контейнеры: для CI/CD и лёгкой миграции используйте официальный/сообщественный образ Docker.
- Минимальная ОС без systemd: инструкции ориентированы на систему с systemd (CentOS 8).
Альтернативные подходы
- Установка через Docker Compose со связкой mariadb и php‑fpm+nginx.
- Использование Nginx вместо Apache: конфигурация виртуального хоста и php‑fpm потребуется отдельная настройка.
- Установка Mantis на управляемом хостинге/PAAS с готовым LAMP.
Быстрая проверка работоспособности (критерии приёмки)
- Веб‑интерфейс доступен по HTTPS и возвращает 200 OK.
- Установка базы данных прошла успешно, таблицы Mantis созданы.
- Вход под администратором возможен, пароль изменён.
- Плановое создание и восстановление бэкапа проходит без ошибок.
Чек‑лист по ролям
- Администратор приложения: проверить установку, сменить пароль, создать проекты и роли.
- DevOps/инженер: настроить бэкапы, мониторинг, SSL и обновления.
- Руководитель проекта: проверить доступы, уведомления и начальную структуру проектов.
Простейшие тесты/приёмочные сценарии
- Создать тестовую задачу, назначить исполнителя, изменить статус.
- Отправить уведомление на email и проверить доставку.
- Провести импорт/экспорт задач (если планируется миграция).
Рекомендации по обновлению и миграции
- Перед обновлением сделайте полный бэкап БД и файлов.
- Читайте RELEASE NOTES перед апгрейдом версии Mantis.
- Выполняйте обновление сначала на тестовой среде.
Примеры альтернативной конфигурации: Nginx + php-fpm (кратко)
- Используйте php‑fpm сокет/порт, настройте server_name и root на /var/www/html/mantis.
- Перенаправьте /mcf и конфигурации для статических файлов.
Простое дерево решений для выбора способа установки
flowchart TD
A[Нужна быстрая локальная установка?] -->|Да| B[Использовать Docker Compose]
A -->|Нет| C[Планируется продакшен]
C --> D{Есть опыт с Nginx?}
D -->|Да| E[Установить Nginx + php-fpm]
D -->|Нет| F[Установить Apache 'LAMP']Частые проблемы и их решения
- Ошибка при подключении к БД: проверьте credentials, хост (localhost) и порт, убедитесь, что MariaDB слушает.
- Ошибки прав: убедитесь, что владелец /var/www/html/mantis — apache и выставлены права только на необходимые каталоги.
- SELinux блокирует доступ: временно включите permissive и проверьте AVC‑логи.
Заключение
Поздравляем — вы установили MantisBT на CentOS 8, настроили Apache, MariaDB и подключили сертификат Let’s Encrypt. Следующие шаги: настроить уведомления, роли и интеграции с вашим процессом разработки.
Важно: поддерживайте регулярные обновления PHP, Apache и Mantis, делайте бэкапы и следите за журналами безопасности.
Краткое резюме:
- Установили LAMP и Mantis;
- Настроили виртуальный хост и SSL;
- Применили настройки SELinux и firewall;
- Добавили чек‑листы и сценарии приёмки.
Если нужны инструкции по установке в Docker, настройке Nginx или автоматизации бэкапов — спросите, и я подготовлю пошаговое руководство.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента