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:
Klicken Sie auf die Schaltfläche Registrieren. Sie sollten die folgende Seite sehen:
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:
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:
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.