Installation und Konfiguration von Wekan, einem Trello ähnlichen Kanban auf CentOS 7

Wekan ist eine Open Source Trello-ähnliche Kanbantafel, die auf dem Meteor Javascript Framework basiert. Es ist ein webbasiertes Management-Tool, mit dem Sie ein Board für Ihre Projektzusammenarbeit erstellen können. Mit dem wekan Board müssen Sie nur ein Mitglied in den Board einladen und schon kann es losgehen. Auf dem wekan-Board können Sie eine kartenbasierte Aufgaben- und Aufgabenverwaltung erstellen und diese dann dem Mitglied zuweisen.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie Wekan Trello-ähnliches Kanban auf einem CentOS 7-Server installieren und konfigurieren. Wir werden die MongoDB als Datenbank und den Nginx-Webserver als Reverse-Proxy für die Wekan-Anwendung verwenden. Dieses Tutorial behandelt einige Themen im Detail, darunter die Sicherung des MongoDB-Datenbankservers und die Konfiguration von Nginx als Reverse Proxy.

Voraussetzungen

  • CentOS 7 Server
  • Root-Rechte

Was wir tun werden

  1. Nodejs installieren
  2. MongoDB installieren und konfigurieren
  3. Wekan installieren
  4. Wekan als Dienst auf CentOS 7 ausführen
  5. Nginx als Reverse Proxy für Wekan installieren und konfigurieren
  6. Prüfung

Schritt 1 – Installieren Sie NodeJS mit dem NVM Node Version Manager.

Wekan ist eine auf nodejs basierende Anwendung und benötigt die nodejs Version 4.8. In diesem Tutorial werden wir nodejs nicht aus dem CentOS-Repository installieren, sondern nodejs 4.8 mit dem nvm Node Version Manager.

Bevor Sie nodejs installieren, fügen Sie mit dem folgenden Befehl einen neuen Systembenutzer ‚wekan‘ hinzu.

useradd -m -s /bin/bash wekan
passwd wekan

Melden Sie sich beim Benutzer’wekan‘ an, laden Sie dann das nvm-Installationsskript herunter und führen Sie es aus.

su - wekan
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

NodeJS installieren

Der Befehl installiert nvm unter dem Benutzer’wekan‘ und fügt der Konfigurationsdatei ‚.bashrc‘ eine neue Konfiguration hinzu. Laden Sie nun die Datei ‚.bashrc‘ neu.

source ~/.bashrc

Testen Sie mit dem Befehl nvm wie unten beschrieben.

command -v nvm
nvm --version

Jetzt sehen Sie nvm ‚0.33.8.8‘ auf dem System installiert.

Als nächstes installieren Sie nodejs 4.8 mit dem Befehl nvm unten.

nvm install v4.8
nvm use node

Überprüfen Sie nach Abschluss der Installation die Knotenversion.

node -v

Und Sie werden sehen, dass nodejs 4.8 auf dem CentOS 7-Server unter dem Benutzer’wekan‘ installiert ist.

nodejs 4.8 ist installiert.

Schritt 2 – Installation und Konfiguration von MongoDB

In diesem Schritt installieren wir MongoDB 3.2.x über das offizielle Repository und konfigurieren dann die Basissicherheit für den MongoDB NoSQL Datenbankserver.

Gehen Sie in das Verzeichnis ‚/etc/yum.repos.d./ und erstellen Sie mit dem vim-Editor eine neue.repo-Datei.

cd /etc/yum.repos.d/
vim mongodb-org-3.2.repo

Fügen Sie dort das folgende MongoDB-Repository ein.

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

Speichern und beenden.

Installieren Sie nun MongoDB mit dem Befehl yum unten.

yum -y install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools

Nachdem die Installation abgeschlossen ist, starten Sie den MongoDB-Dienst und ermöglichen Sie ihm den Start beim Systemstart.

systemctl start mongod
systemctl enable mongod

MongoDB 3.2 wurde auf dem CentOS 7 System installiert.

MongoDB installieren und konfigurieren

Als nächstes müssen wir die MongoDB-Authentifizierung konfigurieren. Melden Sie sich in der Mongoshell an und erstellen Sie einen neuen Benutzer namens „admin“ für den Superuser-Zugriff.

Melden Sie sich in der Mongoshell an.

mongo

Erstellen Sie nun einen neuen ‚admin‘ Benutzer mit dem Passwort ‚MyAdminPassword‘ mit der Rolle als ‚root‘. Führen Sie die folgenden MongoDB-Abfragen aus.

db.createUser(
  {
    user: "admin",
    pwd: "MyAdminPassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)

Der MongoDB-Administrator wurde angelegt.

MongoDB-Benutzer konfigurieren

Nun müssen wir die Konfigurationsdatei ‚/etc/mongod.conf‘ bearbeiten, um die Authentifizierung zu aktivieren.

Bearbeiten Sie die Konfigurationsdatei ‚mongod.conf‘ mit vim.

vim /etc/mongod.conf

Entkommentieren Sie die Zeile „security“ und fügen Sie die Konfiguration wie unten gezeigt hinzu.

security:
 authorization: enabled

Speichern und beenden.

Starten Sie nun den MongoDB-Dienst neu.

systemctl restart mongod

Die MongoDB-Authentifizierung wurde aktiviert.

Als nächstes müssen wir eine neue Datenbank und einen neuen Benutzer für Wekan erstellen. Wir werden eine neue Datenbank namens’wekan‘ mit dem Benutzer’wekan‘ und dem Passwort’WekanPassword‘ erstellen.

Melden Sie sich in der Mongoshell als Admin-Benutzer an.

mongo -u admin -p

Geben Sie das Admin-Passwort’MyAdminPassword‘ ein.

Und wenn Sie die Mongo-Shell erhalten, führen Sie die folgenden MongoDB-Abfragen aus.

use wekan
db.createUser(
    {
      user: "wekan",
      pwd: "WekanPassword",
      roles: ["readWrite"]
    }
 )

Die Datenbank und der Benutzer für die wekan-Installation wurden angelegt.

Benutzer wurde erfolgreich hinzugefügt

Schritt 3 – Wekan installieren

Melden Sie sich als wekan-Benutzer an.

su - wekan

Laden Sie den wekan-Quellcode mit dem Befehl wget herunter und extrahieren Sie ihn.

wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz

Und du bekommst ein neues Verzeichnis namens ‚bundle‘ – geh zu diesem Verzeichnis und installiere die wekan-Abhängigkeiten mit dem Befehl npm, wie unten gezeigt.

cd bundle/programs/server
npm install

Nachdem alle Abhängigkeiten installiert sind, erhalten Sie das Ergebnis wie folgt.

Wekan-Abhängigkeiten installieren

Als nächstes werden wir versuchen, Wekan auf dem System auszuführen.

Führen Sie die folgenden Befehle aus, um die Umgebungsvariable für die Wekan-Anwendung einzurichten.

export MONGO_URL='mongodb://wekan:WekanPassword@127.0.0.1:27017/wekan?authSource=wekan'
export ROOT_URL='http://192.168.33.10'
export MAIL_URL='smtp://user:pass@mail.hakase-labs.co:25/'
export MAIL_FROM='wekan@hakase-labs.co'
export PORT=8000

Gehen Sie nun in das Verzeichnis’bundle‘ und starten Sie die wekan-Anwendung.

cd ~/bundle
node main.js

Run Wekan

Der Wekan-Server läuft nun unter Port 8000. Öffnen Sie Ihren Webbrowser und geben Sie Ihre Serveradresse mit Port 8000 ein.

http://192.168.33.10:8000/

Und Sie erhalten die Wekan Login-Seite wie unten beschrieben.

Wekan login

Wekan ist nun erfolgreich auf dem CentOS 7 Server installiert.

Schritt 4 – Ausführen von Wekan als Dienst auf CentOS 7

Wir werden die wekan-Anwendung als Dienst auf dem Ubuntu-System ausführen. Daher müssen wir eine neue Servicedatei im Systemverzeichnis des Systems erstellen.

Bevor wir die wekan-Servicedatei erstellen, müssen wir die Umgebungsvariablendatei erstellen.

Melden Sie sich als wekan-Benutzer an.

su - wekan

Gehen Sie in das Verzeichnis’bundle/‘ und erstellen Sie eine neue Umgebungsvariablen-Datei ‚.env‘ mit vim.

cd bundle/
vim .env

Fügen Sie dort die folgende Konfiguration ein.

MONGO_URL='mongodb://wekan:WekanPassword@127.0.0.1:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.hakase-labs.co'
MAIL_URL='smtp://user:pass@mail.hakase-labs.co:25/'
MAIL_FROM='wekan@hakase-labs.co'
PORT=8000
HTTP_FORWARDED_COUNT=1

Speichern und beenden.

Als nächstes kehren Sie zu Ihrem Root-Terminal zurück.

Gehen Sie in das Verzeichnis’/etc/systemd/system‘ und erstellen Sie eine neue Servicedatei’wekan.service‘.

cd /etc/systemd/system
vim wekan.service

Fügen Sie dort die folgende Konfiguration ein.

[Unit]
Description=Wekan Server
After=syslog.target
After=network.target

[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/home/wekan/.nvm/versions/node/v4.8.7/bin/node bundle/main.js
EnvironmentFile=/home/wekan/bundle/.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/home/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Laden Sie das System neu mit dem Befehl systemctl.

systemctl daemon-reload

Starten Sie den wekan-Dienst und aktivieren Sie ihn jedes Mal beim Systemstart.

systemctl start wekan
systemctl enable wekan

Überprüfen Sie nun den wekan-Dienst mit den folgenden Befehlen.

netstat -plntu
systemctl status wekan

Und folgendes ist das Ergebnis in unserem Fall.

Wekan als Dienst ausführen

Wekan läuft nun als Dienst unter Port 8000 auf einem CentOS 7-System.

Schritt 5 – Nginx als Reverse Proxy für Wekan installieren und konfigurieren

In diesem Schritt installieren wir den Nginx-Webserver und konfigurieren ihn als Reverse-Proxy für den Wekan-Dienst, der unter Port 8000 läuft.

Fügen Sie vor der Installation des Nginx-Webservers ein neues EPEL-Repository (Extra Package for Enterprise Linux) hinzu.

yum -y install epel-release

Installiere nun nginx aus dem epel-Repository mit dem Befehl yum unten.

yum -y install nginx

Nachdem die Installation abgeschlossen ist, gehen Sie in das Konfigurationsverzeichnis ‚/etc/nginx/‘ und erstellen Sie eine neue virtuelle Hostdatei ‚wekan.conf‘ unter dem Verzeichnis ‚conf.d‘.

cd /etc/nginx
vim conf.d/wekan.conf

Fügen Sie dort die folgende virtuelle Host-Konfiguration ein.

server {
    server_name wekan.hakase-labs.co;
    listen 80;

access_log /var/log/nginx/wekan-access.log;
error_log /var/log/nginx/wekan-error.log;

location / {
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   Host      $host;
proxy_http_version 1.1;
proxy_set_header   Upgrade $http_upgrade;
proxy_set_header   Connection ‚upgrade‘;
proxy_cache_bypass $http_upgrade;
proxy_pass         http://127.0.0.1:8000;
}
}

Speichern und beenden.

Testen Sie die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt.

nginx -t

Wenn kein Fehler vorliegt, starten Sie den Nginx-Dienst und aktivieren Sie ihn beim Systemstart.

systemctl start nginx
systemctl enable nginx

Überprüfen Sie nun den HTTP-Port mit dem Befehl netstat und stellen Sie sicher, dass er sich im Zustand’LISTEN‘ befindet.

netstat -plntu

Die Nginx Virtual Host Konfiguration für Wekan ist abgeschlossen.

Nginx als Reverse-Proxy

Schritt 6 – Prüfung

Öffnen Sie Ihren Webbrowser und geben Sie die wekan url Installation in der Adressleiste ein.

http://wekan.hakase-labs.co/

Und Sie werden auf die Login-Seite weitergeleitet – klicken Sie auf den Link „Registrieren“.

Anmelden bei Wekan

Geben Sie nun Ihren Benutzernamen, Ihre E-Mail-Adresse, Ihr Passwort und Ihren Einladungscode ein.

Ein Konto erstellen

Klicken Sie auf die blaue Schaltfläche „Registrieren“.

Und Sie erhalten die Meldung’Internal Server Error‘. Verlassen Sie es und kommen Sie zu Ihrem Terminal zurück. Denn wir werden den ersten Benutzer vom Terminal aus aktivieren.

Öffnen Sie Ihr Terminal und melden Sie sich als „wekan“-Benutzer in der Mongoshell an.

mongo -u wekan -p --authenticationDatabase "wekan"

Aktivieren Sie nun den Benutzer über die untenstehenden Abfragen.

use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})

Verlassen Sie die Mongoschale.

Ausstieg aus der Mongo-Muschel

Zurück zu Ihrem Browser und öffnen Sie erneut die Wekan URL-Installation.

http://wekan.hakase-labs.co/

Geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie dann auf die Schaltfläche „Anmelden“.

Wekan Anmelden

Und Sie erhalten das Wekan User Dashboard.

Wekan dashboard

Nachfolgend sehen Sie das wekan-Beispielprojekt.

Wekan Musterprojekt

Die Wekan-Installation auf dem CentOS 7-System mit MongoDB und Nginx-Webserver wurde erfolgreich abgeschlossen.

Referenz

Das könnte Dich auch interessieren …