Установка Mantis Bug Tracker на CentOS 7

Mantis — лёгкий в установке багтрекер на PHP для CentOS 7: подготовьте сервер, установите LAMP (Apache, MariaDB, PHP), создайте базу данных, распакуйте Mantis в веб-корень, настройте виртуальный хост и откройте порт HTTP. В конце смените пароль администратора и включите HTTPS для безопасности.
Mantis — свободный open source трекер проблем (issue tracker) на языке PHP. Он предоставляет удобный веб-интерфейс для управления проектами и отслеживания багов. В этом руководстве подробно показано, как установить Mantis на сервер с CentOS 7 и обеспечить базовую эксплуатацию и безопасность.
Ключевые особенности Mantis в одном предложении: поддержка уведомлений по почте, настраиваемость, версияция текстовых полей, полнотекстовый поиск и множество плагинов.
Что нужно перед началом
- Сервер с CentOS 7.
- Пользователь с sudo-привилегиями.
- Рабочий DNS‑имя или IP адрес сервера (для доступа извне).
Важно: в примерах используется пользователь Apache (apache) и порт 80 для HTTP. Для продакшен-среды обязательно настройте HTTPS и сильные пароли.
План установки (коротко)
- Установить EPEL и обновить систему.
- Установить Apache, MariaDB и PHP (LAMP).
- Защитить MariaDB и создать базу данных для Mantis.
- Скачать и развернуть Mantis в /var/www/html/mantis.
- Создать виртуальный хост Apache и перезапустить службу.
- Открыть HTTP/HTTPS в firewall и зайти в веб-интерфейс для финальной установки.
1 Подготовка системы и обновление
Установите репозиторий EPEL и обновите систему:
sudo yum install epel-release -y
sudo yum update -y
После обновления перезагрузите систему, если ядро или критические пакеты были обновлены.
2 Установка LAMP — Apache, MariaDB, PHP
Mantis требует веб‑сервер, СУБД и PHP версии ≥ 5.5. Для CentOS 7 рекомендуем PHP 7.x.
Установка Apache:
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
Установка MariaDB:
sudo yum install mariadb mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
Установка PHP 7.x. В исходных инструкциях используется Webtatic (php71w). В современных установках чаще используют Remi repo или SCL; при выборе репозитория убедитесь, что его версия поддерживается вашей ОС и пакеты получает обновления безопасности. Пример установки через Webtatic, как в оригинале:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w php71w-cli php71w-mysqli -y
Проверка версии PHP:
php -v
Вы должны увидеть строку с версией PHP и информацией о Zend Engine.
Важно: при использовании других репозиториев установочные имена пакетов и модули могут отличаться (php-mbstring, php-gd, php-xml и т.д.). Для Mantis обычно требуются модули mysqli, mbstring, json, zip и xml.
3 Конфигурирование базы данных для Mantis
По умолчанию MariaDB требует базовой настройки безопасности. Запустите скрипт:
sudo mysql_secure_installation
Ответьте на вопросы — задайте root‑пароль, удалите анонимных пользователей, запретите удалённый вход root, удалите тестовую базу и перезагрузите таблицы привилегий.
Создайте базу данных и пользователя для Mantis:
mysql -u root -p
(введите пароль root MariaDB)
В консоли MariaDB выполните:
CREATE DATABASE mantisdb;
GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';
FLUSH PRIVILEGES;
\q
Совет: используйте сложный пароль вместо ‘mantispassword’ и храните его в менеджере секретов. По желанию создавайте роль/пользователя с минимально необходимыми правами для работы приложения.
4 Скачивание и установка Mantis
Скачайте релиз Mantis (в примере используется версия 2.4.0):
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.4.0/mantisbt-2.4.0.zip
Распакуйте и переместите в веб-корень:
unzip mantisbt-2.4.0.zip
sudo mv mantisbt-2.4.0 /var/www/html/mantis
sudo chown -R apache:apache /var/www/html/mantis
Права: достаточно прав владельца apache на каталог приложения; избегайте установки с правами root для файлов веб-приложений.
5 Настройка виртуального хоста Apache
Создайте файл /etc/httpd/conf.d/mantis.conf:
sudo nano /etc/httpd/conf.d/mantis.conf
Вставьте конфигурацию (пример):
ServerAdmin [email protected]
DocumentRoot "/var/www/html/mantis"
ServerName yourdomain.com
Options FollowSymLinks
AllowOverride All
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
Сохраните файл и перезапустите Apache:
sudo systemctl restart httpd
Если SELinux включён в режиме Enforcing, возможно, потребуется скорректировать контексты для директории /var/www/html/mantis и логов. Пример команд для SELinux (проверьте перед применением):
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/mantis(/.*)?"
sudo restorecon -Rv /var/www/html/mantis
6 Открытие порта и доступ к веб-интерфейсу
Откройте HTTP (и HTTPS, если планируете сертификат) в firewall:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
Откройте в браузере http://yourdomain.com и следуйте мастеру установки Mantis. На этапе установки укажите данные базы: имя базы, логин и пароль, а также создайте аккаунт администратора.
На странице мастера укажите параметры подключения к БД, затем нажмите Install/Upgrade. После успешной установки нажмите Continue и откроется страница входа.
По умолчанию можно войти как administrator с паролем root (следуйте подсказке мастера и смените пароль сразу после входа).
Роли и чеклисты (кто что делает)
- Системный администратор:
- Установить пакеты, настроить firewall, SELinux и резервное копирование.
- Настроить HTTPS и автоматическое продление сертификатов.
- Администратор Mantis:
- Создать проекты, роли и группы пользователей.
- Настроить уведомления по электронной почте.
- Разработчик/тестировщик:
- Создавать и комментировать задачи, прикладывать файлы, воспроизводить баги.
Критерии приёмки
- Веб-интерфейс доступен по http(s) и показывает страницу входа.
- Подключение к базе данных успешно (на этапе установки не возникает ошибок подключения).
- Удалось войти под администратором и сменить пароль.
- Создан первый проект и баг успешно создаётся и отображается.
- При необходимости почтовые уведомления отправляются корректно.
Тестовые сценарии и приёмочные проверки
- Попробовать создать задачу с вложением 2 МБ и убедиться, что файл загружается.
- Проверить отправку письма о новой задаче на test‑email.
- Проверить права: пользователь с ролью «Разработчик» не может удалять проект.
- Выполнить mysqldump и восстановить базу в тестовой среде.
Резервное копирование и восстановление
Регулярно делайте бэкап базы данных и файлов приложения:
# Дамп базы
mysqldump -u mantis -p mantisdb > mantisdb_$(date +%F).sql
# Бэкап файлов
tar -czvf mantis_www_$(date +%F).tar.gz /var/www/html/mantis
Восстановление базы:
mysql -u root -p mantisdb < mantisdb_YYYY-MM-DD.sql
Безопасность и эксплуатация
- Сразу смените пароль администратора.
- Настройте HTTPS (Let’s Encrypt/Certbot) и перенаправление HTTP→HTTPS.
- Отключите или ограничьте доступ для аккаунта root базы по сети.
- Обновляйте PHP и пакеты регулярно.
- Ограничьте права на файлы: только apache должен иметь запись в каталоге загрузок.
- Отключите анонимный доступ в MariaDB.
Частые проблемы и решения
- Ошибка подключения к БД: проверьте хост, порт, имя БД, пользователя и пароль; убедитесь, что MariaDB слушает на localhost.
- 500 Internal Server Error: проверьте логи Apache (/var/log/httpd/mantis_error.log) и SELinux (audit.log). Попробуйте временно отключить SELinux для проверки (не рекомендуется в проде).
- Проблемы с модулями PHP: установите недостающие модули (mbstring, gd, xml, zip) и перезапустите Apache.
Альтернативные подходы и миграция
- Альтернатива репозиторию Webtatic: используйте Remi RPM для современного и поддерживаемого PHP.
- Для контейнерных сред: разверните Mantis в Docker с отдельными контейнерами для БД и приложения.
- При миграции с другой системы: экспортируйте данные и используйте встроенные скрипты миграции плагинов, если они доступны.
Decision flow — как выбрать способ установки
flowchart TD
A[Подготовка сервера] --> B{Нужен ли Docker?}
B -- Да --> C[Запустить контейнеры: nginx/php-fpm + mariadb]
B -- Нет --> D[Установить LAMP на хосте]
D --> E[Настроить БД и пользователя]
C --> E
E --> F[Развернуть Mantis в веб-корень]
F --> G[Настроить HTTPS и бэкап]
Короткая методология поддержки (SOP)
- Проверка состояния: systemctl status httpd mariadb.
- Просмотр логов при проблемах: tail -n 200 /var/log/httpd/mantis_error.log.
- Проверка дискового пространства и прав в /var/www/html/mantis.
- При сбое восстановления из последнего валидного бэкапа.
Когда этот план не подходит
- Если нужны облачные функции и высокая доступность — рассмотрите SaaS‑решения или кластерную архитектуру с репликацией БД.
- При требованиях соответствия (compliance) могут понадобиться дополнительные меры безопасности и аудит логов.
Итог и дальнейшие шаги
Поздравляем: после выполнения шагов у вас должен быть работоспособный экземпляр Mantis на CentOS 7. Следующие рекомендуемые действия:
- Обновите PHP-пакеты до поддерживаемой ветки и переносите Mantis на актуальную версию при выходе релизов.
- Настройте резервное копирование и проверку восстановления.
- Включите HTTPS и автоматическое продление сертификата.
- Настройте уведомления по почте и права доступа для пользователей.
Важно: смените все стандартные пароли и протестируйте уведомления и бэкапы до начала активной эксплуатации.
Конец руководства.
Похожие материалы

Как объяснить клиентам Google Ads

Как сделать вирусную аватарку Facebook

Постоянный приоритет CPU для Battlefield 1

Как исправить проблемы Dark Souls III

Пользовательская иконка для USB в Windows
