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

Установка 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
Автор
Редакция

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

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

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

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

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

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

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

Как исправить проблемы Dark Souls III
Игровая поддержка

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

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

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

Истории Instagram не загружаются на iPhone — исправление
Социальные сети

Истории Instagram не загружаются на iPhone — исправление