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

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

6 min read DevOps Обновлено 14 Oct 2025
Установка Mantis на CentOS 7
Установка Mantis на 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 и сильные пароли.

План установки (коротко)

  1. Установить EPEL и обновить систему.
  2. Установить Apache, MariaDB и PHP (LAMP).
  3. Защитить MariaDB и создать базу данных для Mantis.
  4. Скачать и развернуть Mantis в /var/www/html/mantis.
  5. Создать виртуальный хост Apache и перезапустить службу.
  6. Открыть 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. На этапе установки укажите данные базы: имя базы, логин и пароль, а также создайте аккаунт администратора.

Страница установки Mantis

На странице мастера укажите параметры подключения к БД, затем нажмите Install/Upgrade. После успешной установки нажмите Continue и откроется страница входа.

Установка Mantis завершена

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

По умолчанию можно войти как administrator с паролем root (следуйте подсказке мастера и смените пароль сразу после входа).

Дашборд Mantis

Роли и чеклисты (кто что делает)

  • Системный администратор:
    • Установить пакеты, настроить firewall, SELinux и резервное копирование.
    • Настроить HTTPS и автоматическое продление сертификатов.
  • Администратор Mantis:
    • Создать проекты, роли и группы пользователей.
    • Настроить уведомления по электронной почте.
  • Разработчик/тестировщик:
    • Создавать и комментировать задачи, прикладывать файлы, воспроизводить баги.

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

  • Веб-интерфейс доступен по http(s) и показывает страницу входа.
  • Подключение к базе данных успешно (на этапе установки не возникает ошибок подключения).
  • Удалось войти под администратором и сменить пароль.
  • Создан первый проект и баг успешно создаётся и отображается.
  • При необходимости почтовые уведомления отправляются корректно.

Тестовые сценарии и приёмочные проверки

  1. Попробовать создать задачу с вложением 2 МБ и убедиться, что файл загружается.
  2. Проверить отправку письма о новой задаче на test‑email.
  3. Проверить права: пользователь с ролью «Разработчик» не может удалять проект.
  4. Выполнить 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)

  1. Проверка состояния: systemctl status httpd mariadb.
  2. Просмотр логов при проблемах: tail -n 200 /var/log/httpd/mantis_error.log.
  3. Проверка дискового пространства и прав в /var/www/html/mantis.
  4. При сбое восстановления из последнего валидного бэкапа.

Когда этот план не подходит

  • Если нужны облачные функции и высокая доступность — рассмотрите SaaS‑решения или кластерную архитектуру с репликацией БД.
  • При требованиях соответствия (compliance) могут понадобиться дополнительные меры безопасности и аудит логов.

Итог и дальнейшие шаги

Поздравляем: после выполнения шагов у вас должен быть работоспособный экземпляр Mantis на CentOS 7. Следующие рекомендуемые действия:

  • Обновите PHP-пакеты до поддерживаемой ветки и переносите Mantis на актуальную версию при выходе релизов.
  • Настройте резервное копирование и проверку восстановления.
  • Включите HTTPS и автоматическое продление сертификата.
  • Настройте уведомления по почте и права доступа для пользователей.

Важно: смените все стандартные пароли и протестируйте уведомления и бэкапы до начала активной эксплуатации.

Конец руководства.

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

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

Как преодолеть страх и перейти на Linux
Linux

Как преодолеть страх и перейти на Linux

Экран ноутбука как второй монитор в Windows
Windows

Экран ноутбука как второй монитор в Windows

Восстановление батареи Surface Pro 3 — проверенный способ
Аппаратное обеспечение

Восстановление батареи Surface Pro 3 — проверенный способ

Как откатиться с iOS 17 до iOS 16 — пошагово
iOS

Как откатиться с iOS 17 до iOS 16 — пошагово

Настроить фон и тему заголовка в Office 2016
Microsoft Office

Настроить фон и тему заголовка в Office 2016

Как использовать Take a Break на Facebook
Социальные сети

Как использовать Take a Break на Facebook