Installare Mantis Bug Tracker su CentOS 7

Perché usare Mantis
Mantis è un sistema di tracciamento dei problemi open source scritto in PHP. Offre un’interfaccia web semplice per gestire progetti, segnalare bug, notifiche via email e plugin estendibili. È adatto a team piccoli e medi che vogliono uno strumento leggero e personalizzabile.
Vantaggi principali
- Notifiche via email per le modifiche alle issue.
- Altamente personalizzabile tramite opzioni e plugin.
- Controllo delle revisioni di campi di testo e note.
- Ricerca full-text e accesso anonimo opzionale.
- Ampia disponibilità di plugin (oltre 50 nei repository ufficiali).
Requisiti
- Un server CentOS 7 aggiornato.
- Un utente con privilegi sudo.
- Accesso alla rete per scaricare pacchetti e il pacchetto Mantis (qui usiamo mantisbt-2.4.0.zip).
Important: assicurati di avere un backup prima di modificare sistemi di produzione.
1. Preparazione iniziale
Aggiorna il sistema e abilita i repository necessari (EPEL):
sudo yum install epel-release -y
sudo yum update -y
2. Installare il server LAMP (Apache, MariaDB, PHP)
Mantis richiede Apache, PHP (>= 5.5) e MySQL/MariaDB. Qui installiamo Apache e MariaDB, poi PHP 7.
Installa Apache:
sudo yum install httpd -y
Avvia e abilita Apache:
sudo systemctl start httpd
sudo systemctl enable httpd
Installa MariaDB:
sudo yum install mariadb mariadb-server -y
Avvia e abilita MariaDB:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Nota: Mantis richiede PHP >= 5.5; in questa guida installiamo PHP 7.1 tramite Webtatic. Se preferisci un’altra sorgente (Remi), vedi la sezione Alternative:
Installa il repository Webtatic e PHP 7.1:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w php71w-cli php71w-mysqli -y
Verifica la versione di PHP:
php -v
Esempio di output atteso (può variare a seconda della build):
PHP 7.1.1 (cli) (built: Jan 19 2017 20:35:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
3. Configurare il database per Mantis
Dopo l’installazione, è buona pratica eseguire lo script di sicurezza di MariaDB:
sudo mysql_secure_installation
Rispondi alle domande secondo le policy della tua organizzazione (di norma: impostare password root, rimuovere utenti anonimi, disabilitare login root remoto, rimuovere DB di test e ricaricare i privilegi).
Accedi alla shell di MariaDB e crea il database e l’utente di Mantis:
mysql -u root -p
Poi, dentro la shell 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)]> \q
Sostituisci ‘mantispassword’ con una password forte e salva le credenziali in modo sicuro.
4. Scaricare e installare Mantis
Scarica la versione stabile usata in questa guida (2.4.0):
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.4.0/mantisbt-2.4.0.zip
Estrai e sposta la directory nella root web di Apache:
unzip mantisbt-2.4.0.zip
sudo mv mantisbt-2.4.0 /var/www/html/mantis
Imposta il proprietario corretto dei file (Apache su CentOS usa apache:apache):
sudo chown -R apache:apache /var/www/html/mantis
Creare il virtual host Apache
Crea il file di configurazione:
sudo nano /etc/httpd/conf.d/mantis.conf
Aggiungi (modifica ServerName e ServerAdmin secondo la tua configurazione):
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
Salva e riavvia Apache:
sudo systemctl restart httpd
5. Aprire il firewall e accedere all’interfaccia web
Consenti il traffico HTTP (porta 80):
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Prima di accedere all’interfaccia web di Mantis, assicurati di aver puntato il DNS di yourdomain.com all’IP del server o usa l’IP pubblico.
Apri il browser e visita:
Dovresti vedere la pagina di installazione dove inserire i dettagli del database (Nome DB, Username, Password), l’account amministratore e altre impostazioni. Clicca su “Install/Upgrade” per procedere.
Dopo l’installazione, vedrai pagina di completamento:
Clicca su “Continue” per arrivare alla schermata di login:
Per il primo accesso usa l’utente predefinito: username “administrator” e password “root” (cambia immediatamente la password dopo il primo login).
Congratulazioni — Mantis è installato su CentOS 7.
Sicurezza e hardening consigliati
- Cambia subito la password dell’account administrator.
- Abilita HTTPS con un certificato valido (Let’s Encrypt) e reindirizza il traffico HTTP a HTTPS.
- SELinux: se SELinux è abilitato, consenti ad Apache di scrivere nella directory di Mantis:
sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/mantis
- Se riscontri problemi di accesso ai log o a upload, verifica boolean httpd_unified o httpd_can_network_connect se plugin richiedono accesso esterno.
- Limitare l’accesso alla porta 3306 (MariaDB) da host non autorizzati.
Backup e rollback (mini playbook)
- Prima di aggiornare Mantis o PHP: fermare il servizio web o mettere il sito in manutenzione.
- Backup del database:
mysqldump -u root -p mantisdb > mantisdb-backup-$(date +%F).sql
- Backup dei file:
sudo tar czf mantis-files-backup-$(date +%F).tar.gz /var/www/html/mantis
- Test di ripristino in un ambiente staging prima di applicare patch in produzione.
Rollback: ripristina file e import SQL, poi svuota la cache e riavvia Apache.
Alternative e compatibilità
- Repository PHP: oltre a Webtatic, puoi usare Remi (remirepo) o Software Collections per installare PHP 7.x su CentOS 7.
- Database: Mantis funziona con MySQL/MariaDB. Assicurati di usare un motore InnoDB attivo per migliore consistenza.
- Versione Mantis: questa guida usa 2.4.0. Per versioni più recenti, verifica i requisiti nella documentazione ufficiale.
Controlli e test (Criteri di verifica)
- L’interfaccia web carica senza errori (HTTP 200) sulla homepage.
- Il login con l’utente amministratore funziona e la password predefinita è cambiata.
- Creare una nuova issue: il form salva l’issue correttamente nel DB.
- Notifiche email: inviare una notifica a un utente e verificare la ricezione.
- Permessi filesystem: Apache può scrivere nelle directory necessarie (attachments, logs).
Ruoli e checklist operativa
- Sysadmin:
- Applicare aggiornamenti di sistema.
- Configurare backup DB e file.
- Gestire certificati HTTPS.
- Admin Mantis:
- Configurare progetti, ruoli, categorie, workflow.
- Gestire plugin e aggiornamenti Mantis.
- SVILUPPATORE / QA:
- Testare integrazioni (email, LDAP, plugin).
- Eseguire test di regressione dopo aggiornamenti.
Risoluzione problemi comuni
- Pagina bianca o errori PHP: controlla i log in /var/log/httpd/mantis_error.log e abilita display_errors solo in staging.
- Connessione DB rifiutata: verifica credenziali in fase di installazione e che MariaDB sia attivo.
- Problemi di permessi: verifica owner e SELinux context di /var/www/html/mantis.
Esempi comandi utili:
sudo tail -n 200 /var/log/httpd/mantis_error.log
sudo systemctl status mariadb
sudo getenforce # per controllare SELinux
FAQ
Devo usare HTTPS?
Sì. Usare HTTPS è fortemente consigliato per proteggere credenziali e dati sensibili in transito.
Posso eseguire Mantis su una versione più recente di PHP?
Sì. Mantis supporta PHP moderni ma verifica sempre la compatibilità della versione Mantis con la versione PHP scelta.
Dove trovo i plugin ufficiali?
I plugin sono disponibili nel portale di Mantis e in repository pubblici; installali seguendo la documentazione del plugin.
Riepilogo
- Preparare CentOS 7, installare Apache, MariaDB e PHP 7.
- Creare database e utente per Mantis.
- Scaricare mantisbt-2.4.0, posizionare i file sotto /var/www/html/mantis e configurare Apache.
- Abilitare il firewall, completare l’installazione via web e implementare hardening (cambiare password, abilitare HTTPS, configurare SELinux/permessi).
Note importanti: cambia le password di default, esegui backup regolari e testa gli aggiornamenti in staging prima di applicarli in produzione.
Materiali simili

Insegnare Google Ads ai clienti

Hack foto profilo Facebook: guida Photoshop rapida

Priorità CPU permanente per Battlefield 1

Fix Dark Souls III: risoluzione problemi e ottimizzazione

Icona personalizzata per chiavetta USB in Windows
