Mantis Bug Tracker installeren op CentOS 8

MantisBT is een gratis, open-source en web-gebaseerde bug tracking software, geschreven in PHP. Het is eenvoudig, gemakkelijk te gebruiken, gebruiksvriendelijk, en wordt geleverd met veel hulpmiddelen die je helpen met teams samen te werken om bugs en problemen snel op te lossen. Het biedt een rijke reeks functies, waaronder, Notificatie via e-mail, Toegangscontrole op basis van rollen, Ondersteuning van projecten, sub-projecten en categorieën, Relatiegrafiek van problemen, aanpasbaar dashboard en nog veel meer.

In deze handleiding laten we je zien hoe je Mantis Bug Tracking systeem op CentOS 8 kunt installeren.

Vereisten

  • Een server die CentOS 8 draait.
  • Een geldige domeinnaam gericht op het IP van je server.
  • Een root wachtwoord is op de server ingesteld.

Installeer een LAMP server

Eerst moet je de Apache webserver, MariaDB server, PHP en andere vereiste pakketten op je systeem installeren. Je kunt ze allemaal installeren met het volgende commando:

dnf install httpd mariadb-server php php-mysqli php-mbstring php-curl unzip -y

Als alle pakketten geïnstalleerd zijn, start je de Apache en MariaDB service en schakel je ze in om te starten bij het herstarten van het systeem met het volgende commando:

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

Als je klaar bent, kun je verder gaan met de volgende stap.

Maak een databank voor Mantis

Mantis gebruikt MariaDB of MySQL als database backend. Je zult dus een database en gebruiker voor Mantis moeten aanmaken.

Log eerst in in de shell van MariaDB met het volgende commando:

mysql

Eenmaal ingelogd maak je een database en gebruiker aan met het volgende commando:

MariaDB [(none)]> CREATE DATABASE mantisdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';

Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer Mantis

Download eerst de nieuwste versie van Mantis van de Sourceforge website met het volgende commando:

wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.24.2/mantisbt-2.24.2.zip

Zodra de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:

unzip mantisbt-2.24.2.zip

Kopieer vervolgens de uitgepakte map naar de Apache hoofdmap met het volgende commando:

cp -r mantisbt-2.24.2 /var/www/html/mantis

Verander vervolgens het eigendom van de mantis directory in apache:

chown -R apache:apache /var/www/html/mantis

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor Mantis

Vervolgens moet je een Apache virtual host configuratiebestand voor Mantis maken. Je kunt het maken met het volgende commando:

nano /etc/httpd/conf.d/mantis.conf

Voeg de volgende regels toe:

<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>

Bewaar en sluit het bestand als je klaar bent en herstart dan de Apache dienst om de veranderingen toe te passen:

systemctl restart httpd

Je kunt ook de status van de Apache controleren met het volgende commando:

systemctl status httpd

Je zou de volgende uitvoer moeten krijgen:

? 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...

Beveilig Mantis met Let’s Encrypt SSL

Vervolgens moet je het Certbot programma in je systeem installeren om Let’s Encrypt SSL te downloaden en te installeren voor je Mantis website.

Je kunt de Certbot client installeren met het volgende commando:

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

Verkrijg en installeer vervolgens een SSL certificaat voor je Mantis website met het volgende commando:

certbot-auto --apache -d mantis.linuxbuz.com

Het bovenstaande commando installeert eerst alle vereiste afhankelijkheden op je server. Eenmaal geïnstalleerd wordt je gevraagd een e-mail adres op te geven en de dienstverleningsvoorwaarden te aanvaarden, zoals hieronder:

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

Vervolgens moet je kiezen of je HTTP verkeer al dan niet naar HTTPS wilt omleiden, zoals hieronder:

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

Typ 2 en druk op Enter om verder te gaan. Als de installatie voltooid is, zou je de volgende uitvoer moeten zien:

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

Configureer SELinux en Firewall

Standaard is SELinux ingeschakeld in CentOS 8. Je zult het dus moeten instellen voor je Mantis website.

Je kunt SELinux instellen met het volgende commando:

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

Sta vervolgens poort 80 en 443 toe door de firewall met het volgende commando:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Als je klaar bent, kun je verder gaan met de volgende stap.

Toegang tot Mantis Web UI

Open nu je web browser en benader de Mantis webinterface met de URL https://mantis.linuxbuz.com. Je zou het volgende scherm moeten zien:

Mantis voor-installatie controle

Configureer de databank

Geef je databasenaam, gebruikersnaam, admin gebruikersnaam, wachtwoord, e-mail op en klik op de Install/Upgrade Database knop. Als de installatie voltooid is, zou je het volgende scherm moeten zien:

Mantis installatie voltooid

Klik vervolgens op de“Continue” knop, je zou de Mantis BT login pagina in het volgende scherm moeten zien:

Inloggen op Mantis

Geef een standaard Mantis gebruikersnaam administrator op en klik op de Login knop. Je wordt gevraagd het wachtwoord op te geven zoals in het volgende scherm:

Voer admin wachtwoord in

Geef Mantis standaard wachtwoord “root” en klik op de knop Login. Je wordt doorverwezen naar het volgende scherm:

Mantis Dashboard

Wijzig beheerderswachtwoord

Het is aan te raden je standaard beheerderswachtwoord te veranderen. Geef je huidige wachtwoord, nieuwe wachtwoord, e-mail, echte naam, toegangsniveau, project toegangsniveau en klik op de Update User knop. Je zou het Mantis dashboard in het volgende scherm moeten zien:

Mantis Bugtracker Dashboard

Conclusie

Gefeliciteerd! Je hebt met succes Mantis met Let’s Encrypt SSL geïnstalleerd op CentOS 8. Je kunt nu Mantis in je ontwikkelomgeving implementeren en samenwerken met teams. Stel me gerust als je vragen hebt.