Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Wiki.js
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Wiki.js ist eine moderne Wiki-Software auf Basis von Node.js, deren Seiten man in Markdown oder in einem grafischen Editor schreibt. Diese Anleitung richtet sie als Dienst auf dem eigenen Rechner ein und speichert alle Inhalte in PostgreSQL.
Vorbemerkungen
- Voraussetzung: PostgreSQL ist nach der Anleitung installiert und läuft.
- Keine Installation über apt: Für Wiki.js gibt es kein Ubuntu-Paket. Das Projekt stellt aber ein fertiges Archiv bereit, in dem alle benötigten Node.js-Bibliotheken schon enthalten sind. Node.js selbst kommt aus den Paketquellen von Ubuntu.
- Version: Die Anleitung verwendet Wiki.js 2.5, die aktuelle stabile Version (getestet mit 2.5.315, Node.js 22 aus Ubuntu 26.04 und PostgreSQL 18). Wiki.js 3 ist noch in Entwicklung.
- Port: Wiki.js läuft normalerweise auf Port 3000. Diesen Port belegt hier schon Martin, deshalb verwendet die Anleitung Port 3001. Wiki.js ist dabei nur vom eigenen Rechner aus erreichbar.
- Passwort:
geheimes_passwortist ein Beispiel. Ersetze es überall durch ein eigenes Passwort.
Vorbereitung
1. Paketlisten aktualisieren
Damit apt die aktuellen Paketstände der Ubuntu-Paketquellen kennt.
sudo apt update
2. Node.js und curl installieren
Wiki.js ist in JavaScript geschrieben und braucht Node.js ab Version 20. Ubuntu 26.04 liefert Version 22. Mit curl lädst du später das Programmarchiv herunter.
sudo apt install nodejs curl
Prüfen: Die Ausgabe beginnt mit v22.
/usr/bin/node --version
Der Befehl nennt den vollen Pfad /usr/bin/node. Wer zusätzlich Node.js über nvm installiert hat, bekommt mit dem kurzen Befehl node sonst dessen Version angezeigt. Der Dienst in Schritt 11 verwendet ausdrücklich das Node.js aus Ubuntu.
Datenbank in PostgreSQL einrichten
3. Datenbankbenutzer für Wiki.js anlegen
Legt in PostgreSQL den Benutzer wikijs an. Mit ihm und seinem Passwort meldet sich Wiki.js an der Datenbank an.
sudo -u postgres psql -c "CREATE USER wikijs WITH PASSWORD 'geheimes_passwort';"
4. Datenbank für Wiki.js anlegen
Legt die leere Datenbank wikijs an und macht den gleichnamigen Benutzer zu ihrem Eigentümer. Die Tabellen erstellt Wiki.js beim ersten Start selbst.
sudo -u postgres psql -c "CREATE DATABASE wikijs OWNER wikijs;"
Prüfen: Die Datenbank erscheint in der Liste.
sudo -u postgres psql -l | grep wikijs
Wiki.js installieren
5. Systembenutzer anlegen
Wiki.js soll nicht mit Administratorrechten und nicht unter deinem Benutzerkonto laufen, sondern unter einem eigenen Benutzer wikijs ohne Anmeldemöglichkeit. Wird das Programm angegriffen, kommt der Angreifer so nur an die Dateien von Wiki.js.
sudo useradd --system --home-dir /opt/wikijs --shell /usr/sbin/nologin wikijs
Prüfen: Der Benutzer existiert.
id wikijs
6. Programmarchiv herunterladen
Lädt die neueste Version von Wiki.js als Archiv (etwa 90 MB) in den Ordner /tmp. -L folgt der Weiterleitung von GitHub zur eigentlichen Datei.
curl -L -o /tmp/wiki-js.tar.gz https://github.com/requarks/wiki/releases/latest/download/wiki-js.tar.gz
Prüfen: Die Datei ist ungefähr 90 MB groß.
ls -lh /tmp/wiki-js.tar.gz
7. Programmordner anlegen
Legt den Ordner an, in dem Wiki.js liegen soll. /opt ist unter Linux für Programme gedacht, die nicht aus Paketen stammen.
sudo mkdir /opt/wikijs
8. Archiv entpacken
Packt das Programm samt aller Bibliotheken in den neuen Ordner aus. -C gibt den Zielordner an.
sudo tar xzf /tmp/wiki-js.tar.gz -C /opt/wikijs
Prüfen: Der Ordner enthält unter anderem server, node_modules und config.sample.yml.
ls /opt/wikijs
9. Einstellungsdatei anlegen
Die Datei config.yml sagt Wiki.js, auf welchem Port es läuft und wie es die Datenbank erreicht. Alle Einstellungen, die hier fehlen, übernimmt Wiki.js aus seinen Standardwerten. Eine ausführlich kommentierte Vorlage mit allen Möglichkeiten liegt in config.sample.yml.
sudo nano /opt/wikijs/config.yml
Füge diesen Inhalt ein (im Terminal mit Strg+Umschalt+V), speichere mit Strg+O und Enter und beende nano mit Strg+X. Die Einrückung unter db: muss aus Leerzeichen bestehen, nicht aus Tabulatoren, sonst kann Wiki.js die Datei nicht lesen.
port: 3001
bindIP: 127.0.0.1
db:
type: postgres
host: 127.0.0.1
port: 5432
user: wikijs
pass: 'geheimes_passwort'
db: wikijs
ssl: false
logLevel: info
dataPath: ./data
Was die Einträge bedeuten:
port– der Port, auf dem Wiki.js Anfragen annimmt.bindIP: 127.0.0.1– Wiki.js ist nur vom eigenen Rechner aus erreichbar, nicht aus dem Netzwerk.db– Art der Datenbank, Adresse, Benutzer, Passwort und Name der Datenbank aus den Schritten 3 und 4. Das Passwort steht in einfachen Anführungszeichen, damit Sonderzeichen keine Probleme machen.dataPath– Ordner für Zwischenspeicher und hochgeladene Dateien, relativ zum Programmordner.
10. Eigentümer und Rechte setzen
Der erste Befehl übergibt den Programmordner dem Benutzer wikijs, damit Wiki.js in den Ordner data schreiben kann. Der zweite sorgt dafür, dass nur noch dieser Benutzer die Einstellungsdatei mit dem Datenbank-Passwort lesen darf.
sudo chown -R wikijs:wikijs /opt/wikijs
sudo chmod 600 /opt/wikijs/config.yml
Prüfen: Die Rechte lauten -rw-------, Eigentümer ist wikijs.
sudo ls -l /opt/wikijs/config.yml
Als Dienst einrichten
11. systemd-Dienst anlegen
Damit Wiki.js beim Rechnerstart automatisch läuft und nach einem Absturz neu startet, bekommt es eine Dienstdatei für systemd.
sudo nano /etc/systemd/system/wikijs.service
Füge diesen Inhalt ein (Strg+Umschalt+V), speichere mit Strg+O und Enter und beende nano mit Strg+X:
[Unit]
Description=Wiki.js
After=network.target postgresql.service
[Service]
Type=simple
User=wikijs
Group=wikijs
WorkingDirectory=/opt/wikijs
ExecStart=/usr/bin/node server
Environment=NODE_ENV=production
Restart=always
[Install]
WantedBy=multi-user.target
Was die Einträge bedeuten:
After=– Wiki.js startet erst, wenn Netzwerk und PostgreSQL bereit sind.User=undGroup=– der Dienst läuft unter dem Benutzer aus Schritt 5.WorkingDirectory=– Wiki.js suchtconfig.ymlunddatain diesem Ordner.ExecStart=– startet das Programm mit dem Node.js aus Ubuntu.Restart=always– systemd startet Wiki.js neu, falls es sich beendet.WantedBy=multi-user.target– der Dienst startet beim normalen Hochfahren mit.
12. systemd die neue Datei bekannt machen
systemd liest Dienstdateien nur beim Start oder auf Anweisung ein.
sudo systemctl daemon-reload
13. Dienst starten und Autostart einschalten
enable sorgt für den Start beim Hochfahren, --now startet den Dienst zusätzlich sofort.
sudo systemctl enable --now wikijs
Prüfen: In der Ausgabe steht active (running). Mit q verlässt du die Anzeige.
systemctl status wikijs
14. Protokoll ansehen
Beim ersten Start stellt Wiki.js fest, dass die Datenbank noch leer ist, und startet einen Einrichtungsassistenten. -f zeigt neue Zeilen fortlaufend an, Strg+C beendet die Anzeige.
sudo journalctl -u wikijs -f
Prüfen: Im Protokoll stehen Database Connection Successful und Starting setup wizard.... Steht dort eine Fehlermeldung zur Datenbank, stimmen Benutzer oder Passwort in config.yml nicht mit den Schritten 3 und 4 überein.
Einrichtung im Browser
15. Einrichtungsassistenten öffnen
Öffne im Browser die Adresse http://localhost:3001. Es erscheint die Seite des Einrichtungsassistenten.
Prüfen: Auch ohne Browser lässt sich feststellen, dass Wiki.js antwortet. Die erste Zeile lautet HTTP/1.1 200 OK.
curl -sI http://localhost:3001/
16. Administratorkonto und Adresse eintragen
Fülle im Assistenten die Felder aus:
- Administrator Email – deine E-Mail-Adresse, sie dient später als Anmeldename.
- Password und Confirm Password – das Passwort für das Administratorkonto.
- Site URL –
http://localhost:3001. Wiki.js baut damit Links, etwa in E-Mails. - Telemetry – schalte den Schalter aus, wenn Wiki.js keine anonymen Nutzungsdaten an die Entwickler senden soll.
Klicke dann auf Install. Wiki.js legt jetzt die Tabellen in PostgreSQL an und leitet nach einigen Sekunden auf die Startseite weiter.
Prüfen: In der Datenbank gibt es jetzt gut 30 Tabellen.
sudo -u postgres psql -d wikijs -c "\dt"
17. Anmelden und erste Seite anlegen
Melde dich mit der E-Mail-Adresse und dem Passwort aus Schritt 16 an. Auf der Startseite bietet Wiki.js an, die Startseite des Wikis anzulegen (Create Home Page). Wähle einen Editor, z. B. Markdown, schreibe einen Text und speichere mit Create.
18. Oberfläche auf Deutsch umstellen (optional)
Die Oberfläche ist zunächst englisch. Öffne oben rechts über das Zahnrad die Administration und wähle links Locale. Wähle unter Site Locale den Eintrag für Deutsch und bestätige mit Apply. Wiki.js lädt die Übersetzung aus dem Internet und stellt die Oberfläche um.
Soll Wiki.js später unter einer eigenen Domain erreichbar sein, leitet man die Anfragen wie bei anderen Diensten über nginx an 127.0.0.1:3001 weiter.
Aktualisieren
Neue Versionen von Wiki.js 2.5 installierst du, indem du das Programm austauschst. config.yml und die Daten in PostgreSQL bleiben dabei erhalten.
1. Dienst stoppen
Wiki.js darf beim Austausch der Dateien nicht laufen.
sudo systemctl stop wikijs
2. Neue Version herunterladen
Lädt das aktuelle Archiv und überschreibt dabei ein älteres in /tmp.
curl -L -o /tmp/wiki-js.tar.gz https://github.com/requarks/wiki/releases/latest/download/wiki-js.tar.gz
3. Alte Programmdateien löschen
Entfernt Programmcode und Bibliotheken der alten Version, damit keine veralteten Dateien übrig bleiben. config.yml und der Ordner data werden nicht angefasst.
sudo rm -rf /opt/wikijs/assets /opt/wikijs/node_modules /opt/wikijs/server
4. Neue Version entpacken
Packt die neue Version in den Programmordner aus. Das Archiv enthält keine config.yml, deine Einstellungen bleiben also erhalten.
sudo tar xzf /tmp/wiki-js.tar.gz -C /opt/wikijs
5. Eigentümer wieder setzen
Die neu entpackten Dateien gehören root. Dieser Befehl übergibt sie wieder dem Benutzer wikijs.
sudo chown -R wikijs:wikijs /opt/wikijs
6. Dienst starten
Beim Start passt Wiki.js die Tabellen in PostgreSQL bei Bedarf selbst an die neue Version an.
sudo systemctl start wikijs
Prüfen: In der Administration zeigt die Seite System Info die neue Versionsnummer von Wiki.js.
Deinstallieren
1. Dienst stoppen und Autostart ausschalten
Beendet Wiki.js und verhindert, dass es beim nächsten Hochfahren wieder startet.
sudo systemctl disable --now wikijs
2. Dienstdatei löschen
Entfernt die Dienstdatei aus Schritt 11.
sudo rm /etc/systemd/system/wikijs.service
3. systemd neu einlesen lassen
Damit systemd den gelöschten Dienst vergisst.
sudo systemctl daemon-reload
4. Programmordner löschen
Entfernt Wiki.js samt Einstellungen und dem Ordner data. Achtung: Hochgeladene Dateien liegen in der Datenbank und in data. Wer sie behalten will, sichert vorher beides.
sudo rm -rf /opt/wikijs
5. Heruntergeladenes Archiv löschen
Entfernt das Archiv aus /tmp, falls es noch vorhanden ist.
rm -f /tmp/wiki-js.tar.gz
6. Datenbank löschen
Löscht die Datenbank wikijs. Achtung: Alle Seiten des Wikis gehen dabei unwiderruflich verloren.
sudo -u postgres psql -c "DROP DATABASE IF EXISTS wikijs;"
7. Datenbankbenutzer löschen
Entfernt den PostgreSQL-Benutzer aus Schritt 3.
sudo -u postgres psql -c "DROP USER IF EXISTS wikijs;"
8. Systembenutzer löschen
Entfernt den Linux-Benutzer aus Schritt 5.
sudo userdel wikijs
9. Node.js entfernen (optional)
Nur ausführen, wenn kein anderes Programm Node.js aus Ubuntu braucht.
sudo apt purge nodejs
sudo apt autoremove
Prüfen: Unter Port 3001 antwortet nichts mehr, curl meldet einen Verbindungsfehler.
curl -sI http://localhost:3001/
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Open Knowledge (Freies Wissen): Alle Texte stehen unter der freien Lizenz Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-SA 4.0) und können frei gelesen, geteilt und weiterverarbeitet werden.