Instalar Mantis Bug Tracker no CentOS 7

Visão geral
Mantis é um rastreador de issues gratuito e open source escrito em PHP. Fornece uma interface web simples para gerenciar projetos e acompanhar bugs. Suporta notificações por e‑mail, controle de revisão de textos, pesquisa full‑text e mais de 50 plugins para estender funcionalidades.
Fatores-chave:
- Versão usada no guia: Mantis 2.4.0
- Requisito mínimo de PHP: > 5.5 (neste guia usamos PHP 7.1)
- Banco: MariaDB/MySQL
- Servidor web: Apache
Requisitos
- Servidor CentOS 7 com acesso sudo
- Conexão de internet para baixar pacotes e Mantis
- Domínio ou IP público para acessar a interface web
1 Preparar o sistema
Atualize o sistema e instale o repositório EPEL:
sudo yum install epel-release -y
sudo yum update -y
Nota: mantenha o servidor atualizado antes de mudanças críticas.
2 Instalar LAMP (Apache, MariaDB, PHP)
Instale o Apache:
sudo yum install httpd -y
Inicie e habilite o serviço:
sudo systemctl start httpd
sudo systemctl enable httpd
Instale MariaDB:
sudo yum install mariadb mariadb-server -y
Inicie e habilite MariaDB:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Instalar PHP 7 (o repositório Webtatic é usado no exemplo):
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w php71w-cli php71w-mysqli -y
Verifique a versão do PHP:
php -v
Exemplo de saída esperada:
PHP 7.1.1 (cli) (built: Jan 19 2017 20:35:16) ( NTS )
Observação: você pode optar por outras fontes de PHP (Remi, SCL) conforme políticas de sua infraestrutura.
3 Configurar o banco de dados MariaDB para Mantis
O MariaDB novo não vem seguro por padrão. Rode o script de segurança:
sudo mysql_secure_installation
Responda às perguntas para definir a senha root e remover contas anônimas e o DB de teste.
Crie o banco e o usuário para Mantis:
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE mantisdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
Substitua ‘mantispassword’ por uma senha forte e guarde as credenciais.
Important: se o servidor for acessível externamente, limite o acesso ao banco por firewall e prefira Conexões locais ou VPN.
4 Baixar e instalar Mantis
Faça o download da versão estável:
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.4.0/mantisbt-2.4.0.zip
Extraia e mova para o diretório web:
unzip mantisbt-2.4.0.zip
sudo mv mantisbt-2.4.0 /var/www/html/mantis
Ajuste proprietário para o usuário do Apache:
chown -R apache:apache /var/www/html/mantis
Crie um virtual host Apache para o Mantis:
sudo nano /etc/httpd/conf.d/mantis.conf
Cole as linhas abaixo (edite ServerAdmin e ServerName):
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
Salve, feche e reinicie o Apache:
sudo systemctl restart httpd
5 Firewall e acesso web
Permita HTTP no firewall:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Abra o navegador e acesse:
Você verá a tela de instalação web do Mantis, onde informará as credenciais do banco e dados de administrador.
Preencha: nome do BD, usuário, senha, usuário admin e senha, e clique em “Install/Upgrade”. Ao finalizar, clique em “Continue” e acesse a tela de login.
Credenciais iniciais padrão (aplicação de exemplo do guia): usuário “administrator” senha “root” — troque imediatamente.
Parabéns — o Mantis está instalado.
Recomendações de pós-instalação e segurança
- Troque a senha do usuário administrador e crie contas separadas para cada pessoa.
- Configure TLS (Let’s Encrypt) para HTTPS e redirecione todo o tráfego HTTP para HTTPS.
- Desative contas padrão ou anônimas e restrinja permissões por função.
- Habilite backups regulares do diretório /var/www/html/mantis e do banco mantisdb.
- Se usar SELinux, ajuste contextos e booleanos:
sudo setsebool -P httpd_can_network_connect on
sudo restorecon -R /var/www/html/mantis
- Mantenha o PHP e o sistema atualizados; revise módulos PHP instalados.
Integração de e‑mail
Configure o envio de e‑mail em Configurações → Email no painel admin. Para servidores de produção use SMTP autenticado (por exemplo, serviço de e‑mail corporativo ou provedores externos).
Backups e atualização (mini‑metodologia)
Antes de atualizar o Mantis:
- Fazer backup do banco: mysqldump mantisdb > mantisdb-YYYYMMDD.sql
- Fazer backup dos arquivos: tar czf mantis-www-YYYYMMDD.tar.gz /var/www/html/mantis
- Colocar o site em modo manutenção (opcional)
- Testar atualização em ambiente staging primeiro
Atualizar:
- Baixe nova versão, extraia em diretório temporário, substitua os arquivos (exceto config_inc.php se existir), execute script de atualização via web.
Resolução de problemas comuns
- Erro de conexão ao BD: verifique usuário, senha, host e privilégios; teste com mysql -u mantis -p -h localhost
- Permissão negada em arquivos: ajuste chown/chmod para apache:apache
- Páginas em branco ou erro 500: verifique logs em /var/log/httpd/mantis_error.log e logs PHP
- Problemas com módulos PHP: confirme extensão mysqli/mbstring e outras exigidas
Critérios de aceitação
- A página de login do Mantis carrega via HTTPS sem erros
- Admin consegue criar projetos e usuários
- Notificações por e‑mail são enviadas e recebidas (teste end‑to‑end)
- Backups do DB e arquivos são gerados e restauráveis
Checklists por função
Admin:
- Alterar senha do administrador
- Criar grupos e funções
- Configurar SMTP e notificações
- Verificar logs semanalmente
Desenvolvedor/DevOps:
- Automatizar backups e atualizações do sistema
- Monitorar uso de recursos e segurança do servidor
- Revisar permissões de arquivos
Usuário final:
- Confirmar recepção de e‑mail ao abrir issue
- Validar criação e atualização de issues
Quando este método pode falhar (contraexemplos)
- PHP ou extensões incompatíveis com a versão do Mantis
- Host com políticas restritivas que impedem execução de scripts externos
- Regras de firewall que bloqueiam comunicação SMTP/DB entre servidores
Alternativas
- Usar containers: empacotar Apache+PHP+Mantis em Docker para isolamento e portabilidade
- Usar outra distro (Ubuntu/Debian) que ofereça PHP 7 via repositório oficial
- Serviços SaaS de issue tracking se preferir não gerenciar infraestrutura
Notas de privacidade e GDPR
- Revise quais dados pessoais são armazenados em issues (nomes, e‑mails, anexos)
- Configure retenção de dados e políticas de acesso
- Se atender usuários da UE, documente base legal para processamento e ofereça mecanismos de exclusão conforme necessário
Testes e critérios de aceitação rápidos
- Teste 1: Login com usuário administrador — resultado esperado: painel carregado
- Teste 2: Criar issue e receber notificação por e‑mail — resultado esperado: e‑mail recebido
- Teste 3: Restauração de backup em servidor de teste — resultado esperado: sistema funcional
Perguntas frequentes
Qual é o usuário e senha padrão?
As credenciais padrão podem variar por pacote; no exemplo deste guia usamos “administrator” / “root” para fins de demonstração. Troque imediatamente.
Como atualizar o Mantis para uma versão mais nova?
Faça backup de arquivos e banco, teste em ambiente de staging e siga o processo de upgrade via interface web conforme instruções de release.
Posso usar MySQL em vez de MariaDB?
Sim — Mantis suporta tanto MariaDB quanto MySQL. Ajuste comandos e pacotes conforme sua distribuição.
Resumo
- Instale EPEL, Apache, MariaDB e PHP 7
- Configure um banco exclusivo e um usuário para o Mantis
- Baixe Mantis 2.4.0, mova para /var/www/html/mantis e ajuste permissões
- Configure Apache, firewall, HTTPS e políticas de segurança
- Teste login, criação de issues e notificações por e‑mail
Importante: mantenha senhas e backups em local seguro e aplique atualizações regularmente.