MantisBT je bezplatný, open source a webový software pro sledování chyb napsaný v PHP. Je jednoduchý, snadno použitelný, uživatelsky přívětivý a přichází se spoustou nástrojů, které vám pomohou spolupracovat s týmy na rychlém řešení chyb a problémů. Nabízí bohatou sadu funkcí včetně upozornění e-mailem, řízení přístupu na základě rolí, projektů, podprojektů a podpory kategorií, grafu vztahu mezi problémy, přizpůsobitelný řídicí panel a mnoho dalších.
V tomto tutoriálu vám ukážeme, jak nainstalovat systém Mantis Bug Tracking na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat LAMP Server
Nejprve budete muset do svého systému nainstalovat webový server Apache, server MariaDB, PHP a další požadované balíčky. Všechny je můžete nainstalovat pomocí následujícího příkazu:
dnf install httpd mariadb-server php php-mysqli php-mbstring php-curl unzip -y
Jakmile jsou všechny balíčky nainstalovány, spusťte službu Apache a MariaDB a povolte jim spuštění při restartu systému pomocí následujícího příkazu:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvořit databázi pro Kudlanku
Mantis používá MariaDB nebo MySQL jako databázový backend. Takže budete muset vytvořit databázi a uživatele pro Mantis.
Nejprve se přihlaste do prostředí MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE mantisdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat Mantis
Nejprve si stáhněte nejnovější verzi Mantis z webu Sourceforge pomocí následujícího příkazu:
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.24.2/mantisbt-2.24.2.zip
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
unzip mantisbt-2.24.2.zip
Dále zkopírujte extrahovaný adresář do kořenového adresáře Apache pomocí následujícího příkazu:
cp -r mantisbt-2.24.2 /var/www/html/mantis
Dále změňte vlastnictví adresáře mantis na apache:
chown -R apache:apache /var/www/html/mantis
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Apache pro Mantis
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro Mantis. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/httpd/conf.d/mantis.conf
Přidejte následující řádky:
<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>
Po dokončení uložte a zavřete soubor a poté restartujte službu Apache, aby se změny projevily:
systemctl restart httpd
Stav Apache můžete také ověřit pomocí následujícího příkazu:
systemctl status httpd
Měli byste získat následující výstup:
? 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...
Zabezpečte kudlanku pomocí Let's Encrypt SSL
Dále budete muset do svého systému nainstalovat obslužný program Certbot, abyste si mohli stáhnout a nainstalovat Let's Encrypt SSL pro svůj web Mantis.
Klienta Certbot můžete nainstalovat pomocí následujícího příkazu:
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
Dále získejte a nainstalujte certifikát SSL pro svůj web Mantis pomocí následujícího příkazu:
certbot-auto --apache -d mantis.linuxbuz.com
Výše uvedený příkaz nejprve nainstaluje všechny požadované závislosti na váš server. Po instalaci budete požádáni o zadání e-mailové adresy a přijetí podmínek služby, jak je uvedeno níže:
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
Dále budete muset zvolit, zda chcete přesměrovat provoz HTTP na HTTPS, jak je znázorněno níže:
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
Zadejte 2 a pokračujte stisknutím klávesy Enter. Po dokončení instalace byste měli vidět následující výstup:
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
Konfigurovat SELinux a bránu firewall
Ve výchozím nastavení je SELinux povolen v CentOS 8. Budete jej tedy muset nakonfigurovat pro svůj web Mantis.
SELinux můžete nakonfigurovat pomocí následujícího příkazu:
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
Dále povolte port 80 a 443 přes bránu firewall pomocí následujícího příkazu:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k webovému uživatelskému rozhraní Mantis
Nyní otevřete webový prohlížeč a přejděte do webového rozhraní Mantis pomocí adresy URL https://mantis.linuxbuz.com. Měli byste vidět následující obrazovku:
Zadejte název databáze, uživatelské jméno, uživatelské jméno správce, heslo, e-mail a klikněte na Instalovat/Upgradovat Tlačítko databáze. Po dokončení instalace byste měli vidět následující obrazovku:
Dále klikněte na „Pokračovat ", měli byste vidět přihlašovací stránku Mantis BT na následující obrazovce:
Zadejte výchozího správce uživatelského jména Mantis a klikněte na Přihlásit knoflík. Budete požádáni o zadání hesla, jak je znázorněno na následující obrazovce:
Zadejte výchozí heslo Mantis „root“ a klikněte na tlačítko Přihlásit. Budete přesměrováni na následující obrazovku:
Doporučuje se změnit výchozí heslo správce. Zadejte své aktuální heslo, nové heslo, e-mail, skutečné jméno, úroveň přístupu, úroveň přístupu k projektu a klikněte na Aktualizovat uživatele knoflík. Na následující obrazovce byste měli vidět řídicí panel Mantis:
Závěr
Gratulujeme! úspěšně jste nainstalovali Mantis s Let's Encrypt SSL na CentOS 8. Nyní můžete implementovat Mantis ve svém vývojovém prostředí a spolupracovat s týmy. Pokud máte nějaké dotazy, neváhejte se mě zeptat.