Wekan ist ein Open-Source-Trello-ähnliches Kanban-Board, das auf dem Meteor-JavaScript-Framework basiert. Es ist ein webbasiertes Verwaltungstool, mit dem Sie ein Board für Ihre Projektzusammenarbeit erstellen können. Mit dem wekan-Vorstand müssen Sie nur ein Mitglied in den Vorstand 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, einschließlich der Sicherung des MongoDB-Datenbankservers und der Konfiguration von Nginx als Reverse Proxy.
Voraussetzungen
- CentOS 7-Server
- Root-Rechte
Was wir tun werden
- Installieren Sie Nodejs
- MongoDB installieren und konfigurieren
- Installieren Sie Wekan
- Wekan als Dienst auf CentOS 7 ausführen
- Installieren und konfigurieren Sie Nginx als Reverse Proxy für Wekan
- Testen
Schritt 1 – Installieren Sie NodeJS mit dem NVM Node Version Manager
Wekan ist eine nodejs-basierte Anwendung und erfordert die nodejs-Version 4.8. In diesem Tutorial werden wir nodejs nicht aus dem CentOS-Repository installieren, sondern wir werden nodejs 4.8 mit dem nvm Node Version Manager installieren.
Fügen Sie vor der Installation von nodejs den neuen Systembenutzer „wekan“ mit dem folgenden Befehl 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 '.bashrc'-Datei neu.
source ~/.bashrc
Testen Sie mit dem nvm-Befehl wie unten.
command -v nvm
nvm --version
Jetzt können Sie sehen, dass nvm '0.33.8' auf dem System installiert ist.
Installieren Sie als Nächstes nodejs 4.8 mit dem folgenden nvm-Befehl.
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 – MongoDB installieren und konfigurieren
In diesem Schritt installieren wir MongoDB 3.2.x mithilfe des offiziellen Repositorys und konfigurieren dann die grundlegende Sicherheit für den MongoDB NoSQL-Datenbankserver.
Wechseln 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 folgenden Befehl yum.
yum -y install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
Starten Sie nach Abschluss der Installation den MongoDB-Dienst und ermöglichen Sie ihm, beim Systemstart gestartet zu werden.
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 bei der Mongo-Shell an und erstellen Sie einen neuen Benutzer namens „admin“ für den Superuser-Zugriff.
Melden Sie sich bei der Mongo-Shell an.
mongo
Erstellen Sie nun einen neuen Benutzer ‚admin‘ mit dem Passwort ‚MyAdminPassword‘ mit der Rolle ‚root‘. Führen Sie die MongoDB-Abfragen unten aus.
db.createUser(
{
user: "admin",
pwd: "MyAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Der MongoDB-Administratorbenutzer wurde erstellt.
Jetzt 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 „Sicherheit“ 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 als Admin-Benutzer bei der Mongo-Shell an.
mongo -u admin -p
Geben Sie das Admin-Passwort „MyAdminPassword“ ein.
Und wenn Sie die Mongo-Shell erhalten, führen Sie die MongoDB-Abfragen unten aus.
use wekan
db.createUser(
{
user: "wekan",
pwd: "WekanPassword",
roles: ["readWrite"]
}
)
Die Datenbank und der Benutzer für die Wekan-Installation wurden erstellt.
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 Sie erhalten ein neues Verzeichnis mit dem Namen „Bundle“ – gehen Sie in dieses Verzeichnis und installieren Sie die Wekan-Abhängigkeiten mit dem npm-Befehl, wie unten gezeigt.
cd bundle/programs/server
npm install
Nachdem die Installation aller Abhängigkeiten abgeschlossen ist, erhalten Sie das folgende Ergebnis.
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:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://192.168.33.10'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=8000
Gehen Sie nun in das Verzeichnis „Bundle“ und führen Sie die Wekan-Anwendung aus.
cd ~/bundle
node main.js
Der Wekan-Server läuft jetzt 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-Anmeldeseite wie unten.
Wekan ist jetzt 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. Also müssen wir eine neue Servicedatei im systemd-Systemverzeichnis erstellen.
Bevor wir die Wekan-Dienstdatei 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 mit vim eine neue Umgebungsvariablendatei „.env“.
cd bundle/
vim .env
Fügen Sie dort die folgende Konfiguration ein.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.hakase-labs.co'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
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 systemd-System mit dem Befehl systemctl neu.
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 das Folgende ist das Ergebnis in unserem Fall.
Wekan läuft jetzt 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 ausgeführt wird.
Fügen Sie vor der Installation des Nginx-Webservers ein neues EPEL-Repository (Extra Package for Enterprise Linux) hinzu.
yum -y install epel-release
Installieren Sie nun nginx aus dem Epel-Repository mit dem folgenden Befehl yum.
yum -y install nginx
Gehen Sie nach Abschluss der Installation in das Konfigurationsverzeichnis „/etc/nginx/“ und erstellen Sie eine neue virtuelle Hostdatei „wekan.conf“ im Verzeichnis „conf.d“.
cd /etc/nginx
vim conf.d/wekan.conf
Fügen Sie dort die folgende Konfiguration des virtuellen Hosts 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 ermöglichen Sie ihm, beim Systemstart zu starten.
systemctl start nginx
systemctl enable nginx
Überprüfen Sie nun den HTTP-Port mit dem Befehl netstat und vergewissern Sie sich, dass er sich im Status „LISTEN“ befindet.
netstat -plntu
Die Konfiguration des virtuellen Nginx-Hosts für Wekan ist abgeschlossen.
Schritt 6 – Testen
Öffnen Sie Ihren Webbrowser und geben Sie die Wekan-URL-Installation in die Adressleiste ein.
http://wekan.hakase-labs.co/
Und Sie werden zur Anmeldeseite weitergeleitet – klicken Sie auf den Link „Registrieren“.
Geben Sie nun Ihren Benutzernamen, Ihre E-Mail-Adresse und Ihr Passwort ein und lassen Sie den Einladungscode leer.
Klicken Sie auf die blaue Schaltfläche „Registrieren“.
Und Sie erhalten die Meldung „Internal Server Error“. Lassen Sie es und kehren Sie zu Ihrem Terminal zurück. Weil wir den ersten Benutzer vom Terminal aus aktivieren.
Öffnen Sie Ihr Terminal und melden Sie sich als „wekan“-Benutzer bei der Mongo-Shell an.
mongo -u wekan -p --authenticationDatabase "wekan"
Aktivieren Sie nun den Benutzer mithilfe der folgenden Abfragen.
use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})
Beenden Sie die Mongo-Shell.
Kehren Sie zu Ihrem Browser zurück 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-Benutzer-Dashboard.
Unten ist das wekan-Beispielprojekt.
Die Wekan-Installation auf einem CentOS 7-System mit MongoDB und Nginx-Webserver wurde erfolgreich abgeschlossen.