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
- Nodejs installieren
- MongoDB installieren und konfigurieren
- Wekan installieren
- Wekan als Dienst auf CentOS 7 ausführen
- Nginx als Reverse Proxy für Wekan installieren und konfigurieren
- 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
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.
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.
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.
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.
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.
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
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 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 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.
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“.
Geben Sie nun Ihren Benutzernamen, Ihre E-Mail-Adresse, Ihr Passwort und Ihren Einladungscode ein.
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.
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“.
Und Sie erhalten das Wekan User Dashboard.
Nachfolgend sehen Sie das wekan-Beispielprojekt.
Die Wekan-Installation auf dem CentOS 7-System mit MongoDB und Nginx-Webserver wurde erfolgreich abgeschlossen.