So installieren Sie die Projektmanagement-Software Kanboard auf CentOS 8

Kanboard ist eine Open-Source-Projektmanagement-Software, die Ihnen hilft, Ihre Projekte zu verwalten und Ihren Workflow zu visualisieren. Es verwendet die Kanban-Methodik und ist speziell für kleine Teams konzipiert, die auf Minimalismus und Einfachheit setzen. Kanban bietet eine einfache und leicht zu bedienende Web-Oberfläche, mit der Sie Ihr Projekt über einen Webbrowser verwalten können. Sie können Kanban auch mit Hilfe von Plugins in externe Dienste integrieren.

In diesem Tutorial zeigen wir Ihnen, wie Sie Kanban mit Nginx und Let’s Encrypt SSL auf CentOS 8 installieren.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Ein gültiger Domainname, der auf die IP Ihres Servers zeigt.
  • Ein Root-Passwort ist auf Ihrem Server konfiguriert.

LEMP-Server installieren

Zuerst müssen Sie Nginx, MariaDB, PHP und andere PHP-Erweiterungen auf Ihrem Server installieren. Sie können sie alle mit dem folgenden Befehl installieren:

dnf install nginx mariadb-server php php-fpm php-mbstring php-cli php-json php-opcache php-zip php-xml php-gd php-ldap php-mysqli php-sqlite3 php-json php-dom -y

Sobald alle Pakete installiert sind, starten Sie den Nginx-, PHP-FPM- und MariaDB-Dienst und aktivieren Sie sie mit dem folgenden Befehl, damit sie beim Neustart des Systems gestartet werden:

systemctl start mariadb
systemctl enable mariadb
systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable php-fpm

Bearbeiten Sie als nächstes die PHP-FPM-Konfigurationsdatei und ändern Sie den Benutzer und die Gruppe von apache auf nginx.

nano /etc/php-fpm.d/www.conf

Ändern Sie die folgenden Zeilen:

user = nginx
group = nginx

Speichern und schließen Sie die Datei und starten Sie den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart php-fpm

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Erstellen Sie eine Datenbank für Kanban

Kanban verwendet SQLite und MariaDB als Datenbank-Backend. Sie müssen also eine Datenbank und einen Benutzer für Kanban erstellen.

Verbinden Sie sich zunächst mit folgendem Befehl mit der MariaDB:

mysql

Sobald die Verbindung hergestellt ist, erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost' IDENTIFIED BY 'password';

Als Nächstes löschen Sie die Berechtigungen und beenden die MariaDB mit dem folgenden Befehl:

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

Sobald die Datenbank und der Benutzer erstellt sind, können Sie mit dem nächsten Schritt fortfahren.

Kanban herunterladen

Zunächst müssen Sie die neueste Version von Kanban aus dem Git Hub-Repository herunterladen. Sie können sie mit dem folgenden Befehl herunterladen:

wget https://github.com/kanboard/kanboard/archive/v1.2.18.tar.gz

Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvzf v1.2.18.tar.gz

Als nächstes verschieben Sie das extrahierte Verzeichnis mit dem folgenden Befehl in das Nginx-Web-Root-Verzeichnis:

mv kanboard-1.2.18 /var/www/html/kanboard

Wechseln Sie anschließend in das Nginx-Web-Root-Verzeichnis und kopieren Sie die Beispielkonfigurationsdatei:

cd /var/www/html/kanboard
cp config.default.php config.php

Bearbeiten Sie als nächstes die Konfigurationsdatei und definieren Sie Ihre Datenbankeinstellungen:

nano config.php

Ändern Sie die folgenden Zeilen entsprechend Ihrer Datenbank:

define('DB_DRIVER', 'mysql');

// Mysql/Postgres username
define('DB_USERNAME', 'kanboard');

// Mysql/Postgres password
define('DB_PASSWORD', 'password');

// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name
define('DB_NAME', 'kanboard');

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Legen Sie als Nächstes die Eigentümerschaft und die Berechtigungen mit dem folgenden Befehl fest:

chown -R nginx:nginx /var/www/html/kanboard
chmod -R 775 /var/www/html/kanboard

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Nginx für Kanban konfigurieren

Als Nächstes müssen Sie eine Konfigurationsdatei für einen virtuellen Nginx-Host erstellen, um Kanban zu hosten. Sie können sie mit dem folgenden Befehl erstellen:

nano /etc/nginx/conf.d/kanboard.conf

Fügen Sie die folgenden Zeilen ein:

server {
        listen       80;
        server_name  kanboard.example.com;
        index        index.php;
        root         /var/www/html/kanboard;
        client_max_body_size 32M;

        location / {
            try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php-fpm/www.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_index index.php;
            include fastcgi_params;
        }

        location ~* ^.+\.(log|sqlite)$ {
            return 404;
        }

        location ~ /\.ht {
            return 404;
        }

        location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ {
            log_not_found off;
            expires 7d;
            etag on;
        }

        gzip on;
        gzip_comp_level 3;
        gzip_disable "msie6";
        gzip_vary on;
        gzip_types
            text/javascript
            application/javascript
            application/json
            text/xml
            application/xml
            application/rss+xml
            text/css
            text/plain;
    }

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie schließlich den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

An diesem Punkt ist Nginx so konfiguriert, dass es Kanban bedient. Sie können nun auf das Kanban-Dashboard zugreifen.

Konfigurieren von SELinux und Firewall

Standardmäßig ist SELinux in CentOS 8 aktiviert. Sie müssen also den SELinux-Kontext für Kanban konfigurieren. Sie können ihn mit dem folgenden Befehl konfigurieren:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/kanban

Als Nächstes erlauben Sie die Ports 80 und 443 durch die Firewalld mit dem folgenden Befehl:

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

Wenn Sie damit fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugriff auf Kanban Dashboard

Öffnen Sie nun Ihren Webbrowser und rufen Sie das Kanban-Dashboard über die URL http://kanban.example.com auf. Sie werden

zur Kanban-Admin-Anmeldeseite weitergeleitet:

Kanboard-Anmeldung

Geben Sie als Standard-Benutzernamen und -Passwort admin / admin ein und klicken Sie auf die SchaltflächeAnmelden. Auf der folgenden Seite sollten Sie das Kanban-Dashboard sehen:

Kanboard Dashboard

Kanban mit Let’s Encrypt SSL sichern

Als nächstes müssen Sie das Dienstprogramm Certbot in Ihrem System installieren, um Let’s Encrypt SSL für die Let’s Chat-Domäne herunterzuladen und zu installieren.

Sie können den Certbot-Client mit dem folgenden Befehl installieren:

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

Als nächstes beschaffen und installieren Sie ein SSL-Zertifikat für Ihre Let’s-Domain mit dem folgenden Befehl:

certbot-auto --nginx -d kanban.example.com

Mit dem obigen Befehl werden zunächst alle erforderlichen Abhängigkeiten auf Ihrem Server installiert. Nach der Installation werden Sie aufgefordert, eine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren, wie unten gezeigt:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 kanban.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/kanban.conf

Wählen Sie als Nächstes aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

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

Geben Sie 2 ein und drücken Sie die Eingabetaste, um fortzufahren. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/kanban.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://kanban.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=kanban.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/kanban.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/kanban.example.com/privkey.pem
   Your cert will expire on 2021-04-2. 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

Sie können nun über die URL https://kanban.example.com sicher auf Ihr Kanban zugreifen.

Fazit

Herzlichen Glückwunsch! Sie haben Kanban erfolgreich mit Nginx und Let’s Encrypt SSL auf CentOS 8 installiert. Sie können nun Kanban in der Entwicklungsumgebung implementieren und mit der Arbeit beginnen. Wenn Sie Fragen haben, können Sie sich gerne an mich wenden.

Das könnte dich auch interessieren …