Wie man Wekan Kanban mit Nginx und Let’s Encrypt SSL unter Debian 10 installiert

Wekan ist ein freies und quelloffenes Kanban Board, das mit dem Meteor JavaScript Framework erstellt wurde und unter der MIT-Lizenz vertrieben wird. Es ist sehr ähnlich zu Workflowy und Trello, die Ihnen helfen, die täglichen Aufgaben zu verwalten, ToDo-Listen vorzubereiten, andere Personen zu verwalten, etc. Es wird mit einer vollständig reaktionsfähigen Webschnittstelle geliefert und in viele Sprachen übersetzt. Wekan verfügt über eine Vielzahl von Funktionen, darunter Export von Wekan-Boards, Import von Trello-Boards, SMTP-Einstellungen, Wiederherstellen eines archivierten Boards, Benutzerverwaltungsmodul, Drag & Drop-Funktionen und vieles mehr.

In diesem Tutorial zeigen wir Ihnen, wie man Wekan Kanban Board mit Nginx als Proxy-Server unter Debian 10 installiert.

Voraussetzungen

  • Ein Server, auf dem Debian 10 läuft.
  • Ein gültiger Domainname, der auf Ihre Server-IP zeigt.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, wird empfohlen, Ihren Server mit dem folgenden Befehl auf die neueste Version zu aktualisieren:

apt-get update -y
 apt-get upgrade -y

Sobald Ihr Server aktualisiert ist, starten Sie ihn neu, um die Änderungen zu implementieren.

Wekan installieren

Der einfachste Weg, den Wekan unter Debian 10 zu installieren, ist die Verwendung von Snap. Standardmäßig ist das Snap-Paket im Debian-10-Repository verfügbar. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

apt-get install snapd -y

Sobald der Snap in/installiert ist, können Sie den Wekan installieren, indem Sie den folgenden Befehl ausführen:

snap install wekan

Sobald der Wekan installiert ist, wird der Wekan- und Mongodb-Dienst automatisch gestartet.

Sie können den Status des Wekan-Dienstes mit dem folgenden Befehl anzeigen:

systemctl status snap.wekan.wekan

Sie sollten die folgende Ausgabe sehen:

? snap.wekan.wekan.service - Service for snap application wekan.wekan
   Loaded: loaded (/etc/systemd/system/snap.wekan.wekan.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-12-22 07:43:34 UTC; 7s ago
 Main PID: 7836 (wekan-control)
    Tasks: 11 (limit: 2359)
   Memory: 156.3M
   CGroup: /system.slice/snap.wekan.wekan.service
           ??7836 /bin/bash /snap/wekan/678/bin/wekan-control
           ??8522 /snap/wekan/678/bin/node main.js

Dec 22 07:43:35 debian10 wekan.wekan[7836]: HEADER_LOGIN_EMAIL=Header login email. Example for siteminder: HEADEREMAILADDRESS (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_WITH_TIMER=false (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_IN= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_ON_HOURS= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_ON_MINUTES= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: DEFAULT_AUTHENTICATION_METHOD= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: ATTACHMENTS_STORE_PATH= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: MONGO_URL=mongodb://127.0.0.1:27019/wekan
Dec 22 07:43:37 debian10 wekan.wekan[7836]: Presence started serverId=ijqY8RbEWv8Hg9RSb
Dec 22 07:43:38 debian10 wekan.wekan[7836]: Meteor APM: completed instrumenting the app

Standardmäßig läuft Wekan auf dem Port 8080. Wenn Sie den Wekan-Port in 3001 ändern möchten, führen Sie den folgenden Befehl aus:

snap set wekan port='3001'

Als nächstes starten Sie den Wekan- und MongoDB-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart snap.wekan.mongodb
 systemctl restart snap.wekan.wekan

Wekan und MongoDB-Dienste verwalten

Um den Wekan-Dienst zu starten und zu stoppen, führen Sie den folgenden Befehl aus:

systemctl stop snap.wekan.wekan
 systemctl start snap.wekan.wekan

Um den MongoDB-Dienst zu starten und zu stoppen, führen Sie den folgenden Befehl aus:

systemctl stop snap.wekan.mongodb
 systemctl start snap.wekan.mongodb

Konfigurieren Sie Nginx als Reverse-Proxy

Wekan ist jetzt installiert und hört auf dem Port 3001 ab. Als nächstes ist es eine gute Idee, Wekan hinter dem Nginx-Proxy zu betreiben.

Installieren Sie dazu zunächst den Nginx-Webserver mit dem folgenden Befehl:

apt-get install nginx -y

Öffnen Sie nach der Installation die Datei /etc/nginx/nginx.conf und setzen Sie hash_bucket_size:

nano /etc/nginx/nginx.conf

Entfernen Sie die folgende Zeile:

        server_names_hash_bucket_size 64;

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Als nächstes erstellen Sie eine virtuelle Nginx-Host-Datei für Wekan wie unten gezeigt:

nano /etc/nginx/conf.d/wekan.conf

Fügen Sie die folgenden Zeilen hinzu:

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}
server {
    listen 80;
    server_name wekan.linuxbuz.com;
    if ($http_user_agent ~ "MSIE" ) {
        return 303 https://browser-update.org/update.html;
    }
    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # allow websockets
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP
    }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf einen 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

Zu diesem Zeitpunkt ist Nginx so konfiguriert, dass die Anfrage an den Wekan-Port 3001 weitergeleitet wird.

Sicheres Wekan mit Let’s Encrypt Free SSL

Als nächstes wird empfohlen, den Wekan mit Let’s Encrypt free SSL zu sichern. Dazu müssen Sie den Certbot-Client auf Ihrem Server installieren. Certbot ist ein Let’s Encrypt-Client, mit dem Sie kostenlos SSL herunterladen und Nginx für die Verwendung dieses Zertifikats konfigurieren können.

Standardmäßig ist die neueste Version von Certbot nicht im Debian 10-Standard-Repository verfügbar. Sie müssen also das Certbot-Repository auf Ihrem Server hinzufügen.

Sie können das Repository mit dem folgenden Befehl hinzufügen:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

Aktualisieren Sie dann das Repository und installieren Sie den Certbot-Client mit dem folgenden Befehl:

apt-get update -y
 apt-get install python-certbot-nginx -t buster-backports

Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um das SSL-Zertifikat für Ihre Domain zu erhalten und zu installieren:

certbot --nginx -d wekan.linuxbuz.com

Sie werden gebeten, Ihre E-Mail-Adresse anzugeben und die unten angegebene Frist 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): 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: N
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wekan.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wekan.conf

Als nächstes müssen Sie wählen, ob HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht:

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 Enter, um den Installationsprozess zu starten. Wenn die Installation abgeschlossen ist, sollten Sie folgende Ausgabe erhalten:

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wekan.linuxbuz.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wekan.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wekan.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-03-25. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

Zugang zur Wekan Web-Schnittstelle

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://wekan.linuxbuz.com ein. Sie werden auf die folgende Seite weitergeleitet:

Wekan Login

Klicken Sie auf die Schaltfläche Registrieren. Sie sollten die folgende Seite sehen:

Ein Konto erstellen

Geben Sie Ihren gewünschten Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein und klicken Sie auf die Schaltfläche Registrieren. Klicken Sie dann auf die Schaltfläche zum Anmelden. Sie sollten die folgende Seite sehen:

Sign-in

Geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten das Wekan-Dashboard auf der folgenden Seite sehen:

Wekan Kanban Board

Das war’s fürs Erste. Sie haben den Wekan Kanban erfolgreich auf dem Debian 10 Server installiert und sichern ihn mit Let’s Encrypt free SSL.

Das könnte dich auch interessieren …