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.sh
Zertifizierungsstelle 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
zu10.x
ist erforderlich. - MongoDB-Version × oder
3.2
höher. - Git-Version × oder
2.7.4
hö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.sh
Clients 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.sh
Version 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.--staging
Flagge 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/letsencrypt
es 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 verwendet3000
standardmäß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.js
Verzeichnis 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.com
Sie den Anweisungen auf dem Bildschirm. Alle Einstellungen, die Sie während des Konfigurationsassistenten vorgenommen haben, werden in derconfig.yml
Datei × gespeichert. Der Konfigurationsassistent startet automatisch Wiki.js für Sie.
Zuerst sehen Sie eine Willkommensnachricht. Klicken Sie auf die Schaltfläche „Start„:
Die nächste Seite „Systemprüfung“ erscheint. Wenn alle Voraussetzungen erfüllt sind, klicken Sie auf die Schaltfläche „Weiter“.
Geben Sie allgemeine Informationen zu Ihrem Wiki ein und klicken Sie auf die Schaltfläche „Fortfahren„:
Lesen Sie den Hinweis „Wichtige Überlegungen“ und klicken Sie für den nächsten Schritt auf „Fortfahren„:
Als nächstes verbinden Sie sich mit der Datenbank und fahren fort:
Sie sollten eine Meldung sehen, dass Wiki.js erfolgreich mit der Datenbank verbunden wurde. Klicken Sie auf die Schaltfläche „Fortfahren„:
Setzen Sie Pfade und fahren Sie fort:
Richten Sie bei Bedarf einen Remote Git Repo ein oder überspringen Sie diesen Schritt. Dieser Schritt ist optional, wird aber dringend empfohlen:
Klicken Sie anschließend auf die Schaltfläche „Fortfahren“:
Erstellen Sie ein Admin-Konto und klicken Sie auf die Schaltfläche „Fortfahren„:
Und schließlich starten Sie die Wiki.js:
Warte etwa 30 Sekunden und du solltest auf die Homepage von Wiki.js weitergeleitet werden:
Die Installation ist abgeschlossen. Du solltest die Willkommensseite des Wikis besuchen:
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.