Wie man Wiki.js auf Ubuntu 18.04 LTS installiert

Wiki.js ist eine Open-Source, moderne und leistungsstarke Wiki-App, die auf Node.js, Git und Markdown basiert. Wiki.js läuft auf der flammend schnellen Node.js Engine und ist optimiert, um CPU-Ressourcen zu schonen. Einige der erwähnenswerten Features von Wiki.js sind:

  • Markdown-Bearbeitung, unterstützt durch Git
  • Leichtgewichtig und dennoch extrem leistungsstark
  • Schönes Design für das moderne Web
  • Integrierte Zutrittskontrolle
  • Intuitive Vermögensverwaltung
  • Integrierte Suchmaschine

In diesem Tutorial führen wir Sie durch den Installationsprozess von Wiki.js Version 1 auf einem Ubuntu 18.04 LTS-Betriebssystem.mit NGINX als Reverse-Proxy-Server, MongoDB als Datenbankserver, PM2 als Prozessmanager und optional können Sie die Transportschicht sichern, indem Sie Client und Let’s Encrypt acme.shZertifizierungsstelle verwenden, um SSL-Unterstützung hinzuzufügen.

Anforderungen

Die Voraussetzungen für die Ausführung von Wiki.js sind die folgenden:

  • Node.js 6.11.1 zu 10.x ist erforderlich.
  • MongoDB-Version × oder3.2höher.
  • Git-Version × oder2.7.4höher.
  • Webserver-Software wie NGINX, Apache, Caddy, H2O…..
  • Ein leeres Git-Repository (optional).
  • Mindestens 512 MB RAM. 1 GB RAM empfohlen.
  • Etwa 300 MB Festplattenspeicher.
  • Domainname mit A/AAAA DNS Datensätzen eingerichtet.

Voraussetzungen

  • Ein Ubuntu 18.04 LTS-Betriebssystem.
  • Ein Nicht-Root-Benutzer mit sudo Rechten.

Erste Schritte

Überprüfen Sie Ihre Ubuntu-Version:

lsb_release -ds
# Ubuntu 18.04.1 LTS

Richten Sie die Zeitzone ein:

sudo dpkg-reconfigure tzdata

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, denn es stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems erhalten:

sudo apt update && sudo apt upgrade -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Ubuntu-Betriebssystems erforderlich sind:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https build-essential

Schritt 1- Installieren Sie Node.js und npm.

Wiki.js basiert auf Node.js. Wir werden die neueste empfohlene Version für Wiki.js installieren, die zum Zeitpunkt dieses Schreibens Version 10 ist. Unter Linux haben Sie einige Installationsoptionen für Node.js: Linux Binaries (x86/x64), Quellcode oder über Paketmanager. Wir werden eine Paketverwaltungsoption verwenden, die die Installation und Aktualisierung von Node.js zum Kinderspiel macht.

Laden Sie die neueste empfohlene Version herunter und installieren Sie sie.von Node.js aus dem NodeSource-Repository:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs 

HINWEISnpm wird mit Node.js verteilt – das bedeutet, dass Sie beim Herunterladen von Node.js automatisch npm auf Ihrem System installiert bekommen.

Überprüfen Sie die Node.js und die npm-Version:

node -v && npm -v
# v10.15.1
# 6.4.1

Npm ist ein von Node.js getrenntes Projekt und neigt dazu, häufiger zu aktualisieren. Daher müssen Sie, auch wenn Sie gerade Node.js (und damit npm) heruntergeladen haben, wahrscheinlich Ihre npm aktualisieren. Zum Glück weiß npm, wie man sich selbst aktualisiert! Um Ihre npm zu aktualisieren, geben Sie diese in Ihr Terminal ein:

sudo npm install -g npm@latest

Dieser Befehl aktualisiert npm auf die neueste stabile Version.

Überprüfen Sie die npm-Version erneut mit:

npm -v
# 6.8.0

Und es sollte die neueste Versionsnummer zurückgeben.

Schritt 2 – MongoDB-Datenbank installieren

Wiki.js benötigt eine Datenbank, um seine Daten zu speichern, und die aktuelle stabile Version von Wiki.js unterstützt nur die MongoDB-Datenbankmaschine, so dass wir die MongoDB-Datenbank installieren müssen.

Laden Sie die MongoDB-Datenbank herunter und installieren Sie sie:

sudo apt install -y mongodb

Überprüfen Sie die MongoDB-Version:

mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3

Starten und aktivieren Sie (beim Neustart starten) MongoDB-Dienst, falls nicht bereits gestartet und aktiviert:

sudo systemctl start mongodb.service
sudo systemctl enable mongodb.service

Schritt 3 – Installation desacme.shClients und Erhalt des Let’s Encrypt-Zertifikats (optional)

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um ein SSL-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir acme.sh client. Acme.sh ist eine reine UNIX-Shell-Software, um SSL-Zertifikate von Let’s Encrypt ohne Abhängigkeiten zu erhalten.

Herunterladen und installieren :

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail your_email@example.com
source ~/.bashrc
cd ~

acme.shVersion prüfen:

acme.sh --version
# v2.8.1

Besorgen Sie sich RSA und ECC/ECDSA Zertifikate für Ihre Domain/Hostname:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie gefälschte Zertifikate zum Testen benötigen, können Sie diese hinzufügen.--stagingFlagge zu den obigen Befehlen.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie diese ausführen:

acme.sh --list

Erstellen Sie Ordner, um Ihre Zertifikate zu speichern. Wir werden es verwenden, aber/etc/letsencryptes kann alles sein, was Sie bevorzugen, um SSL-Zertifikate zu speichern.

mkdir -p /etc/letsencrypt/example.com
mkdir -p /etc/letsencrypt/example.com_ecc

Zertifikate installieren/kopieren nach/etc/letsencryptVerzeichnis.

# RSA
acme.sh --install-cert -d example.com \ 
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"Nachdem Sie die obigen Befehle ausgeführt haben, sind Ihre Zertifikate und  Schlüssel in:

Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nachdem Sie Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 4 – Installation und Konfiguration von NGINX

Wiki.js (oder jede andere HTTP Node.js App) kann ohne eigenen Webserver (z.B. NGINX oder Apache) ausgeführt werden. Es wird jedoch dringend empfohlen, einen Standard-Webserver vor Wiki.js zu setzen. Dadurch wird sichergestellt, dass Sie Funktionen wie SSL, mehrere Websites, Caching usw. verwenden können. Wir werden NGINX in diesem Tutorial verwenden, aber jeder andere Server wird es tun, Sie müssen es nur richtig konfigurieren.

Laden Sie NGINX herunter und installieren Sie es aus dem offiziellen NGINX Repo, indem Sie die folgenden Befehle ausführen:

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx

Überprüfen Sie die NGINX-Version:

sudo nginx -v
# nginx version: nginx/1.15.8

Aktivieren und starten Sie den NGINX-Dienst:

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Laufen

sudo vim /etc/nginx/conf.d/wiki.js.conf

und konfigurieren Sie NGINX als HTTPS Reverse Proxy.

server {
    
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name example.com;

    charset utf-8;
    client_max_body_size 50M;

ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection „upgrade“; proxy_next_upstream error timeout http_502 http_503 http_504; } }

Wiki.js verwendet3000standardmäßig den Port < <.

Überprüfen Sie die NGINX-Konfiguration:

sudo nginx -t

Damit die Änderungen wirksam werden, müssen wir schließlich NGINX neu laden:

sudo systemctl reload nginx.service

Schritt 5 – Installation und Einrichtung von Wiki.js

Erstellen Sie ein Dokumentenstammverzeichnis, in dem sich Wiki.js befinden soll:

sudo mkdir -p /var/www/wiki.js

Navigieren Sie zum Stammverzeichnis des Dokuments:

cd /var/www/wiki.js

Einen Benutzer für Wikijs anlegen

sudo useradd -d /var/www/wiki.js wikijs

Wechseln Sie den Eigentümer des/var/www/wiki.jsVerzeichnis an den Wikijs-Benutzer:

sudo chown -R wikijs:wikijs /var/www/wiki.js

Führen Sie den folgenden Befehl aus, um die neueste Wiki.js-Anwendung zu holen und zu installieren/var/www/wiki.js:

cd /var/www/wiki.js
sudo su wikijs
curl -sSo- https://wiki.js.org/install.sh | bash

Nach Abschluss der Installation können Sie den folgenden Befehl ausführen, um die aktuell installierte Version von Wiki.js anzuzeigen:

node wiki --version
# 1.0.117

Nach Abschluss der Installation werden Sie aufgefordert, den Konfigurationsassistenten zu starten.

Starten Sie also den Konfigurationsassistenten durch Ausführen:

node wiki configure

Navigieren Sie mit Ihrem Webbrowser zu × und folgenhttp://example.comSie den Anweisungen auf dem Bildschirm. Alle Einstellungen, die Sie während des Konfigurationsassistenten vorgenommen haben, werden in derconfig.ymlDatei × gespeichert. Der Konfigurationsassistent startet automatisch Wiki.js für Sie.

Zuerst sehen Sie eine Willkommensnachricht. Klicken Sie auf die Schaltfläche „Start„:

Wiki.js installer

Die nächste Seite „Systemprüfung“ erscheint. Wenn alle Voraussetzungen erfüllt sind, klicken Sie auf die Schaltfläche „Weiter“.

System Check

Geben Sie allgemeine Informationen zu Ihrem Wiki ein und klicken Sie auf die Schaltfläche „Fortfahren„:

Allgemeine Informationen

Lesen Sie den Hinweis „Wichtige Überlegungen“ und klicken Sie für den nächsten Schritt auf „Fortfahren„:

Wichtig zu beachten

Als nächstes verbinden Sie sich mit der Datenbank und fahren fort:

Datenbankverbindung

Sie sollten eine Meldung sehen, dass Wiki.js erfolgreich mit der Datenbank verbunden wurde. Klicken Sie auf die Schaltfläche „Fortfahren„:

Datenbankverbindung erfolgreich

Setzen Sie Pfade und fahren Sie fort:

Setzt den Pfad

Richten Sie bei Bedarf einen Remote Git Repo ein oder überspringen Sie diesen Schritt. Dieser Schritt ist optional, wird aber dringend empfohlen:

Einrichten des Remote GIT Repos

Klicken Sie anschließend auf die Schaltfläche „Fortfahren“:

Mit der Installation fortfahren

Erstellen Sie ein Admin-Konto und klicken Sie auf die Schaltfläche „Fortfahren„:

Erstellen Sie ein Admin-Konto

Und schließlich starten Sie die Wiki.js:

Start Wiki.js

Warte etwa 30 Sekunden und du solltest auf die Homepage von Wiki.js weitergeleitet werden:

Wiki.js Homepage

Die Installation ist abgeschlossen. Du solltest die Willkommensseite des Wikis besuchen:

Willkommen bei Wiki.js

Schritt 6 – Einrichten des PM2 Process Managers

Standardmäßig wird Wiki.js nicht automatisch nach einem Systemneustart gestartet. Damit es beim Booten beginnt, müssen wir den PM2 Prozessmanager einrichten. PM2 wird zusammen mit Wiki.js als lokales npm-Modul geliefert, so dass wir PM2 nicht global installieren müssen.

Sagen Sie PM2, dass er sich durch Ausführen als Startup-Dienst konfigurieren soll:

/var/www/wiki.js/node_modules/pm2/bin/pm2 startup

Speichern Sie schließlich die aktuelle PM2-Konfiguration, indem Sie den Befehl ausführen:

/var/www/wiki.js/node_modules/pm2/bin/pm2 save

Ihre Wiki.js läuft nun als Hintergrundprozess und verwendet PM2 als Prozessmanager.

Links

Das könnte dich auch interessieren …