MantisBT est un logiciel de suivi des bogues gratuit, open source et basé sur le Web, écrit en PHP. Il est simple, facile à utiliser, convivial et est livré avec de nombreux outils qui vous aident à collaborer avec les équipes pour résoudre rapidement les bogues et les problèmes. Il offre un riche ensemble de fonctionnalités, notamment la notification par e-mail, le contrôle d'accès basé sur les rôles, la prise en charge des projets, des sous-projets et des catégories, le graphique des relations entre les problèmes, un tableau de bord personnalisable et bien d'autres.
Dans ce tutoriel, nous allons vous montrer comment installer le système Mantis Bug Tracking sur CentOS 8.
Prérequis
- Un serveur exécutant CentOS 8.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer le serveur LAMP
Tout d'abord, vous devrez installer le serveur Web Apache, le serveur MariaDB, PHP et les autres packages requis sur votre système. Vous pouvez tous les installer avec la commande suivante :
dnf install httpd mariadb-server php php-mysqli php-mbstring php-curl unzip -y
Une fois tous les packages installés, démarrez le service Apache et MariaDB et autorisez-les à démarrer au redémarrage du système avec la commande suivante :
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer une base de données pour Mantis
Mantis utilise MariaDB ou MySQL comme backend de base de données. Vous devrez donc créer une base de données et un utilisateur pour Mantis.
Tout d'abord, connectez-vous au shell MariaDB avec la commande suivante :
mysql
Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE mantisdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer Mantis
Tout d'abord, téléchargez la dernière version de Mantis depuis le site Web de Sourceforge avec la commande suivante :
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.24.2/mantisbt-2.24.2.zip
Une fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante :
unzip mantisbt-2.24.2.zip
Ensuite, copiez le répertoire extrait dans le répertoire racine d'Apache avec la commande suivante :
cp -r mantisbt-2.24.2 /var/www/html/mantis
Ensuite, changez la propriété du répertoire mantis en apache :
chown -R apache:apache /var/www/html/mantis
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour Mantis
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour Mantis. Vous pouvez le créer avec la commande suivante :
nano /etc/httpd/conf.d/mantis.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/mantis" ServerName mantis.linuxbuz.com <Directory "/var/www/html/mantis/"> Options MultiViews FollowSymlinks AllowOverride All Order allow,deny Allow from all </Directory> TransferLog /var/log/httpd/mantis_access.log ErrorLog /var/log/httpd/mantis_error.log </VirtualHost>
Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service Apache pour appliquer les modifications :
systemctl restart httpd
Vous pouvez également vérifier l'état d'Apache avec la commande suivante :
systemctl status httpd
Vous devriez obtenir le résultat suivant :
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Sat 2020-09-19 11:06:51 EDT; 37s ago Docs: man:httpd.service(8) Main PID: 41737 (httpd) Status: "Running, listening on: port 80" Tasks: 213 (limit: 25014) Memory: 25.0M CGroup: /system.slice/httpd.service ??41737 /usr/sbin/httpd -DFOREGROUND ??41738 /usr/sbin/httpd -DFOREGROUND ??41739 /usr/sbin/httpd -DFOREGROUND ??41740 /usr/sbin/httpd -DFOREGROUND ??41741 /usr/sbin/httpd -DFOREGROUND Sep 19 11:06:51 centos8 systemd[1]: Starting The Apache HTTP Server...
Sécuriser Mantis avec Let's Encrypt SSL
Ensuite, vous devrez installer l'utilitaire Certbot sur votre système pour télécharger et installer Let's Encrypt SSL pour votre site Web Mantis.
Vous pouvez installer le client Certbot avec la commande suivante :
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Ensuite, obtenez et installez un certificat SSL pour votre site Web Mantis avec la commande suivante :
certbot-auto --apache -d mantis.linuxbuz.com
La commande ci-dessus installera d'abord toutes les dépendances requises sur votre serveur. Une fois installé, il vous sera demandé de fournir une adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for mantis.linuxbuz.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/apache/conf.d/mantis.conf
Ensuite, vous devrez choisir de rediriger ou non le trafic HTTP vers HTTPS comme indiqué ci-dessous :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 et appuyez sur Entrée pour continuer. Une fois l'installation terminée, vous devriez voir la sortie suivante :
Redirecting all traffic on port 80 to ssl in /etc/apache/conf.d/mantis.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://mantis.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=mantis.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/mantis.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/mantis.linuxbuz.com/privkey.pem Your cert will expire on 2020-03-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Configurer SELinux et le pare-feu
Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc le configurer pour votre site Web Mantis.
Vous pouvez configurer le SELinux avec la commande suivante :
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/mantis
Ensuite, autorisez les ports 80 et 443 à traverser le pare-feu avec la commande suivante :
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface Web Mantis
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Mantis en utilisant l'URL https://mantis.linuxbuz.com. Vous devriez voir l'écran suivant :
Indiquez votre nom de base de données, votre nom d'utilisateur, votre nom d'utilisateur d'administrateur, votre mot de passe, votre adresse e-mail et cliquez sur Installer/Mettre à niveau Bouton Base de données. Une fois l'installation terminée, vous devriez voir l'écran suivant :
Ensuite, cliquez sur "Continuer ", vous devriez voir la page de connexion Mantis BT dans l'écran suivant :
Fournissez un administrateur de nom d'utilisateur Mantis par défaut et cliquez sur Connexion bouton. Il vous sera demandé de fournir le mot de passe comme indiqué dans l'écran suivant :
Indiquez le mot de passe par défaut "root" de Mantis et cliquez sur le bouton Connexion. Vous serez redirigé vers l'écran suivant :
Il est recommandé de changer votre mot de passe administrateur par défaut. Indiquez votre mot de passe actuel, votre nouveau mot de passe, votre adresse e-mail, votre vrai nom, votre niveau d'accès, votre niveau d'accès au projet et cliquez sur Mettre à jour l'utilisateur bouton. Vous devriez voir le tableau de bord Mantis dans l'écran suivant :
Conclusion
Toutes nos félicitations! vous avez installé avec succès Mantis avec Let's Encrypt SSL sur CentOS 8. Vous pouvez maintenant implémenter Mantis dans votre environnement de développement et collaborer avec des équipes. N'hésitez pas à me demander si vous avez des questions.