Wie man Wiki.js unter Debian 12 installiert

Wiki.js ist eine freie und quelloffene Wikisoftware, die auf Node.js, Git und Markdown basiert. Sie ist unter der AGPL-v3-Lizenz veröffentlicht und auf Leistung und Schonung der Systemressourcen ausgelegt. Wiki.js ist eine leistungsstarke Wiki-Software, die überall auf deinem System installiert werden kann. Du kannst es auf deinem Betriebssystem installieren oder Cloud-Dienste wie Heroku nutzen und Wiki.js auch auf deinen Container-Umgebungen wie Docker und Kubernetes einsetzen.

Wiki.js ist mit der PostgreSQL-Datenbank kompatibel und bietet über 50 Integrationen für zusätzliche Authentifizierung, Logging-System, Suchmaschine, Rendering und Speicherung. Wiki.js ist eine leistungsstarke Wiki-Software, die auf einer schönen und intuitiven Benutzeroberfläche für das Administrations-Dashboard und die Seiten aufbaut.

In diesem Artikel zeigen wir dir, wie du Wiki.js auf einem Debian 12-System installierst. Wir führen dich durch die Installation von Wiki.js, verwenden einen PostgreSQL-Datenbankserver und Nginx als Reverse Proxy und sichern deine Wiki.js-Instanz mit SSL/TLS-Zertifikaten von Let’s Encrypt.

Voraussetzungen

Bevor du fortfährst, solltest du sicherstellen, dass du Folgendes hast

  • Einen Debian 12 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf die IP-Adresse deines Servers zeigt. In diesem Beispiel wird die Domain wiki.hwdomain.io verwendet.

Installieren der Abhängigkeiten

Im ersten Schritt installierst du einige der Abhängigkeiten, die von Wiki.js verwendet werden, z. B:

  • PostgreSQL-Datenbankserver: Dieser wird als Datenbank für dein Wiki.js verwendet.
  • Nginx Webserver: Der Nginx-Webserver wird als Reverse Proxy für Wiki.js verwendet.
  • Node.js und NPM: Die JavaScript-Laufzeit-Engine Node.js und der Paketmanager NPM.
  • Certbot und Nginx Certbot Plugin: Certbot zum Erzeugen von SSL/TLS-Zertifikaten über Let’s Encrypt und das Nginx Certbot Plugin bestätigt automatisch deinen Nginx Serverblock mit HTTPS.

Bevor du mit der Installation der Pakete beginnst, aktualisiere das Debian-Repository mit dem unten stehenden Befehl.

sudo apt update

Installiere nun die Paketabhängigkeiten für Wiki.js mit dem unten stehenden Befehl apt install. Mit dem folgenden Befehl installierst du den PostgreSQL-Datenbankserver, Node.js und NPM, den Nginx-Webserver, Certbot und das Certbot-Nginx-Plugin.

sudo apt install postgresql postgresql-common nodejs npm nginx certbot python3-certbot-nginx

Bestätige mit y und fahre mit der Installation fort.

Abhängigkeiten installieren

Sobald die Abhängigkeiten installiert sind, überprüfe jede einzelne mit den folgenden Befehlen.

Überprüfe den Status des PostgreSQL-Dienstes mit dem folgenden systemctl-Befehl.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Es wird eine ähnliche Ausgabe wie unten angezeigt.

Postgresql-Server überprüfen

Überprüfe den Status des Nginx-Dienstes, um sicherzustellen, dass er läuft und aktiviert ist.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Wenn Nginx läuft und aktiviert ist, wird die unten stehende Ausgabe auf deinem Terminal angezeigt.

nginx überprüfen

Überprüfe abschließend Node.js und NPN, indem du den folgenden Befehl ausführst. Die Ausgabe zeigt die aktuellen Versionen von Node.js und NPM an, die auf deinem System installiert sind.

node --version
npm --version

verifizieren node.js npm

Erstellen einer PostgreSQL-Datenbank und eines Benutzers

Nachdem du die Abhängigkeiten installiert hast, musst du im nächsten Schritt eine neue Datenbank und einen neuen Benutzer für deine Wiki.js-Installation anlegen. Dazu musst du dich über den psql-Client bei PostgreSQL anmelden.

Melde dich am PostgreSQL-Server an, indem du den folgenden Befehl ausführst.

sudo -u postgres psql

Sobald du eingeloggt bist, führe die folgenden Abfragen aus, um eine neue PostgreSQL-Datenbank und den Benutzer wikijs zu erstellen. Achte darauf, dass du das Passwort in den folgenden Abfragen änderst.

CREATE USER wikijs WITH PASSWORD 'p4ssw0rd';
CREATE DATABASE wikijs OWNER wikijs;

Benutzer und Datenbank anlegen

Nachdem du die Datenbank und den Benutzer angelegt hast, überprüfe ihre Existenz mit den folgenden Abfragen, um die verfügbaren Datenbanken und Benutzer auf deiner PostgreSQL-Instanz aufzulisten.

\du
\l

Du solltest sehen, dass die Datenbank und der Benutzer wikijs auf PostgreSQL erstellt wurden.

Checkliste Datenbank und Benutzer

Gib quit ein, um den PostgreSQL-Server zu verlassen.

Herunterladen des Wiki.js-Quellcodes

Im folgenden Abschnitt lädst du den Wiki.js-Quellcode auf deinen Server herunter und richtest das Installationsverzeichnis mit den richtigen Berechtigungen und Eigentümern ein.

Erstelle einen neuen Benutzer wikijs, indem du den folgenden Befehl ausführst.

sudo useradd -m -s /bin/false wikijs

Erstelle nun ein neues Verzeichnis /opt/wikijs und wechsle in dieses Verzeichnis. Lade dann den Wiki.js-Quellcode mit dem unten stehenden wget-Befehl herunter.

mkdir -p /opt/wikijs; cd /opt/wikijs
wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz

Nach dem Download entpackst du den Wiki.js-Quellcode und änderst die Eigentümerschaft des Verzeichnisses /opt/wikijs auf den Benutzer wikijs.

tar -xf wiki-js.tar.gz
sudo chown -R wikijs:wikijs /opt/wikijs

Wiki.js konfigurieren

Nachdem du Wiki.js heruntergeladen hast, konfigurierst du als Nächstes deine Wiki.js-Installation mit der PostgreSQL-Datenbank und dem Benutzer sowie der Bind-IP-Adresse für Wiki.js.

Kopiere die Standard-WIki.js-Konfiguration config.sample.yml nach config.yml und öffne sie dann mit dem folgenden nano-Editor.

sudo -u wikijs cp config.sample.yml config.yml
sudo -u wikijs nano config.yml

Ändere die Standard-Datenbankkonfiguration mit deiner PostgreSQL-Datenbank, dem Benutzer und dem Passwort.

  # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
  host: localhost
  port: 5432
  user: wikijs
  pass: p4ssw0rd
  db: wikijs
  ssl: false

Ändere die Standardoption bindIP in localhost oder 127.0.0.1. Dadurch wird die Wiki.js auf dem localhost ausgeführt.

bindIP: 127.0.0.1

Speichere und beende das Programm, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um deine Wiki.js-Installation zu testen.

sudo -u wikijs node server

Du solltest die Bestätigung sehen, dass Wiki.js auf localhost mit dem Standardport 3000 läuft.

wiki.js konfigurieren

Zum Schluss drückst du Strg+c, um den Wiki.js-Prozess zu beenden.

Wiki.js im Hintergrund als Dienst laufen lassen

Nachdem du die Konfiguration von WIki.js abgeschlossen hast, richtest du im nächsten Schritt Wiki.js so ein, dass es im Hintergrund als systemd-Dienst läuft. Mit der folgenden Vorgehensweise kannst du WIki.js ganz einfach über das Dienstprogramm systemctl verwalten.

Erstelle eine neue systemd-Dienstdatei für Wiki.js /etc/systemd/system/wikijs.service mit dem unten stehenden nano-Editorbefehl.

sudo nano /etc/systemd/system/wikijs.service

Füge die folgende Konfiguration ein, damit Wiki.js im Hintergrund als Dienst läuft.

[Unit]
Description=Wiki.js
After=network.target postgresql.service
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always

User=wikijs
Environment=NODE_ENV=production
WorkingDirectory=/opt/wikijs

[Install]
WantedBy=multi-user.target

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als Nächstes führst du den systemctl-Befehl aus, um den systemd-Manager neu zu laden und die neue Dienstdatei für Wiki.js anzuwenden.

sudo systemctl daemon-reload

Jetzt kannst du den wiki.js-Dienst mit dem folgenden Befehl starten und aktivieren. Dadurch wird Wiki.js im Hintergrund auf localhost mit dem Standardport 3000 gestartet und läuft automatisch beim Booten.

sudo systemctl start wikijs
sudo systemctl enable wikijs

start enable wiki.js

Überprüfe den wikijs-Dienst mit dem unten stehenden Befehl, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status wikijs

Die folgende Ausgabe sollte angezeigt werden.

wiki.js Dienst überprüfen

Führe abschließend den Befehl ss aus, um den Port 3000 zu überprüfen, der von der Wiki.js-Anwendung verwendet wird.

ss -tulpn | grep 3000

Wenn Wiki.js läuft, solltest du sehen, dass die Node.js-Anwendung den Port 3000 verwendet.

Prüfhafen

Nginx als Reverse Proxy konfigurieren

Wiki.js läuft jetzt auf localhost mit dem Standardport 3000. Im nächsten Schritt erstellst du eine neue Nginx-Serverblockkonfiguration, die als Reverse-Proxy für Wiki.js verwendet wird. Bevor du beginnst, stelle sicher, dass du einen Domainnamen hast, der auf deine Server-IP-Adresse zeigt.

Erstelle eine neue Nginx-Serverblockkonfiguration /etc/nginx/sites-available/wikijs mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/nginx/sites-available/wikijs

Füge die folgende Konfiguration ein und achte darauf, dass du den Domainnamen deiner Wiki.js-Installation änderst.

server {
    listen 80;
    server_name wiki.hwdomain.io;
root /opt/wikijs;

access_log  /var/log/nginx/wikijs.access.log;
error_log   /var/log/nginx/wikijs.error.log;

location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:3000;
}
}

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um die Wiki.js-Serverblockkonfiguration zu aktivieren und die Nginx-Syntax zu überprüfen.

sudo ln -s /etc/nginx/sites-available/wikijs /etc/nginx/sites-enabled
sudo nginx -t

Wenn du eine korrekte Nginx-Syntax hast, solltest du die Ausgabe test is successful – syntax is ok erhalten.

nginx Server-Block einrichten

Starte nun den Nginx-Dienst mit dem unten stehenden Befehl neu, um den neu konfigurierten Serverblock anzuwenden.

sudo systemctl restart nginx

Sobald Nginx neu gestartet ist, starte deinen bevorzugten Webbrowser und rufe den Domainnamen deiner Wiki.js-Installation auf, z. B. http://wiki.hwdomain.io/. Wenn alles gut läuft, solltest du die Wiki.js-Installationsseite wie diese sehen:

wiki.js Installationsseite

Wiki.js mit SSL/TLS-Zertifikaten absichern

Im folgenden Schritt wirst du deine Wiki.js-Installation mit SSL/TLS-Zertifikaten von Letsencrypt sichern. Außerdem richtest du über das Certbot Nginx Plugin automatisch HTTP zu HTTPS ein.

Führe den certbot-Befehl unten aus, um neue SSL/TLS-Zertifikate von Letsencrypt zu generieren. Achte darauf, dass du die Details des Domainnamens und der E-Mail-Adresse mit deinen Daten änderst.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d wiki.hwdomain.io

Nachdem der Vorgang abgeschlossen ist, sind deine SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/wiki.hwdomain.io/ verfügbar. Was die Konfiguration des Wiki.js-Servers betrifft, so wird dieser automatisch mit HTTPS über das Certbot Nginx Plugin konfiguriert.

Wiki.js-Installation starten

Gehe zurück zu deinem Webbrowser und besuche deine Wiki.js-Domain, zum Beispiel http://wiki.hwdomain.io/. Du solltest automatisch auf eine sichere HTTPS-Verbindung umgeleitet werden.

Erstelle nun den Administrator-Benutzer für Wiki.js und gib deine E-Mail-Adresse und dein Passwort ein. Klicke dann auf INSTALLIEREN, um die Installation zu bestätigen.

wiki.js installieren

Sobald die Installation abgeschlossen ist, solltest du zu deiner Wiki.js-Anmeldeseite weitergeleitet werden. Gib deine Admin-E-Mail-Adresse und dein Passwort ein und klicke dann auf LOGIN.

Wiki.js login page

Wenn deine Installation erfolgreich war, solltest du die Willkommensseite von Wiki.js sehen. Von hier aus kannst du eine neue Homepage erstellen oder das Wiki.js-Administrations-Dashboard aufrufen.

Installationserfolg

Wenn du auf ADMINISTRATION klickst, solltest du die Wiki.js-Verwaltungsseite wie folgt sehen:

wiki.js Administrations-Dashboard

Im Abschnitt SYSTEM klickst du auf das Menü Systeminfo, um detaillierte Informationen über deine Wiki.js-Installation zu erhalten. Darunter solltest du sehen, dass Wiki.js 2.5 mit Node.js 18.x und PostgreSQL 15.x installiert ist.

wiki.js system info

Fazit

Das war’s! Du hast alle Schritte befolgt und Wiki.js auf deinem Debian 12-System installiert, zusammen mit einem PostgreSQL-Datenbankserver, Nginx als Reverse Proxy und der Absicherung der Installation über SSL/TLS-Zertifikate von Let’s Encrypt. Jetzt kannst du damit beginnen, die Dokumentation deines Unternehmens mit Wiki.js zu erstellen.

Das könnte dich auch interessieren …