Kanboard ist eine Open-Source-Projektmanagementsoftware, die Ihnen hilft, Ihre Projekte zu verwalten und Ihren Workflow zu visualisieren. Es verwendet die Kanban-Methodik und wurde speziell für kleine Teams entwickelt, die sich auf Minimalismus und Einfachheit konzentrieren. Kanban bietet eine einfache und benutzerfreundliche Weboberfläche, mit der Sie Ihr Projekt über einen Webbrowser verwalten können. Sie können Kanban auch mit den Plugins in externe Dienste integrieren.
In diesem Tutorial zeigen wir Ihnen, wie Sie Kanban mit Nginx und Let’s Encrypt SSL unter CentOS 8 installieren.
Voraussetzungen
- Ein Server mit CentOS 8.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
LEMP-Server installieren
Zuerst müssen Sie Nginx, MariaDB, PHP und andere PHP-Erweiterungen auf Ihrem Server installieren. Sie können 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 ermöglichen Sie ihnen, beim Systemneustart mit dem folgenden Befehl zu starten:
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 dann den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart php-fpm
Wenn 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 dem folgenden 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';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie 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 es 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
Verschieben Sie als Nächstes das extrahierte Verzeichnis mit dem folgenden Befehl in das Nginx-Webstammverzeichnis:
mv kanboard-1.2.18 /var/www/html/kanboard
Ändern Sie als Nächstes das Verzeichnis in das Nginx-Webstammverzeichnis und kopieren Sie die Beispielkonfigurationsdatei:
cd /var/www/html/kanboard
cp config.default.php config.php
Als nächstes bearbeiten Sie die Konfigurationsdatei und definieren Ihre Datenbankeinstellungen:
nano config.php
Ändern Sie die folgenden Zeilen gemäß 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 den Besitz 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 virtuelle Nginx-Host-Konfigurationsdatei erstellen, um Kanban zu hosten. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/nginx/conf.d/kanboard.conf
Fügen Sie die folgenden Zeilen hinzu:
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 abschließend 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 mit dem Zugriff auf das Kanban-Dashboard fortfahren.
Konfigurieren Sie SELinux und die Firewall
Standardmäßig ist SELinux in CentOS 8 aktiviert. Daher müssen Sie den SELinux-Kontext für Kanban konfigurieren. Sie können es 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
Lassen Sie als Nächstes Port 80 und 443 durch die Firewall mit dem folgenden Befehl zu:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Zugriff auf das Kanban-Dashboard
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://kanban.example.com auf das Kanban-Dashboard zu . Sie werden
zur Anmeldeseite des Kanban-Administrators umgeleitet:
Geben Sie den Standardbenutzernamen und das Passwort als Administrator / Administrator ein und klicken Sie auf Anmelden Taste. Sie sollten das Kanban-Dashboard auf der folgenden Seite sehen:
Sichern Sie Kanban mit Let's Encrypt SSL
Als nächstes müssen Sie das Dienstprogramm Certbot auf Ihrem System installieren, um Let's Encrypt SSL für die Let's Chat-Domain 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
Rufen Sie als Nächstes mit dem folgenden Befehl ein SSL-Zertifikat für Ihre lets-Domain ab und installieren Sie es:
certbot-auto --nginx -d kanban.example.com
Der obige Befehl installiert zunächst alle erforderlichen Abhängigkeiten auf Ihrem Server. Nach der Installation werden Sie aufgefordert, eine E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:
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): [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 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 wie unten gezeigt an HTTPS umgeleitet werden soll:
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 jetzt sicher über die URL https://kanban.example.com auf Ihr Kanban zugreifen .
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Kanban mit Nginx und Let’s Encrypt SSL erfolgreich auf CentOS 8 installiert. Sie können nun Kanban in der Entwicklungsumgebung implementieren und mit der Zusammenarbeit beginnen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.