Comment installer Mantis Bug Tracker sur CentOS 8
MantisBT est un logiciel de suivi des bugs 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 t’aident à collaborer avec les équipes pour résoudre rapidement les bugs et les problèmes. Il offre un riche ensemble de fonctionnalités, notamment : notification par e-mail, contrôle d’accès basé sur les rôles, prise en charge des projets, sous-projets et catégories, graphique des relations entre les problèmes, tableau de bord personnalisable et bien d’autres encore.
Dans ce tutoriel, nous allons te montrer comment installer le système de suivi des bugs Mantis sur CentOS 8.
Conditions préalables
- Un serveur exécutant CentOS 8.
- Un nom de domaine valide pointé avec l’IP de ton serveur.
- Un mot de passe root est configuré sur le serveur.
Installer le serveur LAMP
Tout d’abord, tu dois installer le serveur Web Apache, le serveur MariaDB, PHP et les autres paquets nécessaires sur ton système. Tu peux tous les installer avec la commande suivante :
dnf install httpd mariadb-server php php-mysqli php-mbstring php-curl unzip -y
Une fois que tous les paquets sont installés, démarre le service Apache et MariaDB et active leur démarrage 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 tu as terminé, tu peux passer à l’étape suivante.
Crée une base de données pour Mantis
Mantis utilise MariaDB ou MySQL comme backend de base de données. Tu vas donc devoir créer une base de données et un utilisateur pour Mantis.
Tout d’abord, connecte-toi au shell MariaDB avec la commande suivante :
mysql
Une fois connecté, crée 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, vide les privilèges et quitte le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que tu as terminé, tu peux passer à l’étape suivante.
Installe Mantis
Tout d’abord, télécharge la dernière version de Mantis depuis le site 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écompresse le fichier téléchargé avec la commande suivante :
unzip mantisbt-2.24.2.zip
Ensuite, copie 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, change la propriété du répertoire mantis en apache :
chown -R apache:apache /var/www/html/mantis
Une fois que tu as terminé, tu peux passer à l’étape suivante.
Configurer Apache pour Mantis
Ensuite, tu devras créer un fichier de configuration d’hôte virtuel Apache pour Mantis. Tu peux le créer avec la commande suivante :
nano /etc/httpd/conf.d/mantis.conf
Ajoute 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>
Enregistre et ferme le fichier lorsque tu as terminé puis redémarre le service Apache pour appliquer les modifications :
systemctl restart httpd
Tu peux aussi vérifier l’état d’Apache avec la commande suivante :
systemctl status httpd
Tu devrais obtenir la sortie suivante :
? 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écurise Mantis avec Let’s Encrypt SSL
Ensuite, tu devras installer l’utilitaire Certbot dans ton système pour télécharger et installer Let’s Encrypt SSL pour ton site Web Mantis.
Tu peux 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, obtiens et installe un certificat SSL pour ton site Web Mantis avec la commande suivante :
certbot-auto --apache -d mantis.linuxbuz.com
La commande ci-dessus va d’abord installer toutes les dépendances requises sur ton serveur. Une fois installé, il te sera demandé de fournir une adresse e-mail et d’accepter les conditions de service 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, tu devras 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
Tape 2 et appuie sur Entrée pour continuer. Une fois l’installation terminée, tu devrais 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. Tu devras donc le configurer pour ton site Web Mantis.
Tu peux configurer SELinux à l’aide de 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, autorise les ports 80 et 443 à travers 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 tu as terminé, tu peux passer à l’étape suivante.
Accède à l’interface Web de Mantis
Maintenant, ouvre ton navigateur Web et accède à l’interface Web de Mantis en utilisant l’URL https://mantis.linuxbuz.com. Tu devrais voir l’écran suivant :
Indique le nom de ta base de données, le nom d’utilisateur, le nom d’utilisateur admin, le mot de passe, l’email et clique sur le bouton Installer/mettre à niveau la base de données. Une fois l’installation terminée, tu devrais voir l’écran suivant :
Ensuite, clique sur le bouton« Continuer« , tu devrais voir la page de connexion Mantis BT dans l’écran suivant :
Indique un nom d’utilisateur Mantis par défaut, administrateur, et clique sur le bouton Connexion. Il te sera demandé de fournir le mot de passe comme indiqué dans l’écran suivant :
Indique le mot de passe Mantis par défaut « root » et clique sur le bouton Connexion. Tu seras redirigé vers l’écran suivant :
Il est recommandé de modifier ton mot de passe administrateur par défaut. Indique ton mot de passe actuel, ton nouveau mot de passe, ton email, ton vrai nom, ton niveau d’accès, ton niveau d’accès au projet et clique sur le bouton Mettre à jour l’utilisateur. Tu devrais voir le tableau de bord Mantis dans l’écran suivant :
Conclusion
Félicitations ! Tu as réussi à installer Mantis avec Let’s Encrypt SSL sur CentOS 8. Tu peux maintenant mettre en œuvre Mantis dans ton environnement de développement et collaborer avec les équipes. N’hésite pas à me demander si tu as des questions.