wikijs – Eigenes Wiki zum Austausch

wikijs Auf der Suche nach einer Möglichkeit Informationen nicht nur in einem Dokument zu speichern, sondern diese auch möglichst einfach zu teilen, bin ich vor ein paar Jahren bereits auf Mediawiki gestoßen. Mediawiki bietet eine solide Lösung zum Speichern und Teilen von Informationen. Es lassen sich so beispielsweise innerhalb eines Teams, einer Firma oder aber auch einer Familie Informationen austauschen ohne dafür ein Dokument öffnen zu müssen. Die Informationen lassen sich einfach im Browser abrufen, womit von jedem Endgerät auf diese Information zugegriffen werden kann. Nach meinem Empfinden hat mir Mediawiki allerdings nie so ganz gefallen und daher habe ich mich, vor allem mit dem Augenmerk auf eine Lösung mit nodejs, etwas umgeschaut. Fündig wurde ich bei wiki.js(aktuell in Version 1.0.12), was für mich die moderne Lösung von Mediawiki ist. Letztlich schreibt man die Beiträge auch in der Markdown-Sprache aber es bietet mir direkt eine moderne ansprechende Weboberfläche.

Damit ihr auch etwas davon habt, beschreibe ich euch gerne kurz die notwendigen Schritte zur Installation auf einem Ubuntu Server 16.04 LTS. Es sollte allerdings (fast) genauso auf einem Raspberry Pi oder ähnlichem Debian-System funktionieren. Zunächst müssen wir die notwendigen Vorraussetzungen erfüllen. Dazu müssen wir NodeJs, MongoDB und git installieren. Manches wird vielleicht bei euch schon installiert sein, allerdings werdet ihr gegebenfalls darauf hingewiesen.

Zunächst bringen wir das System auf einen aktuellen Stand und installieren im Anschluss NodeJs und git.

sudo apt update
sudo apt upgrade -y
# install long time support (LTS) version 8.x
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install nodejs -y
# install git
sudo apt install git -y

Zur Installation von MongoDB benötigen wir ein paar mehr Schritte. Zunächst wird das System so konfiguriert, dass es weiß, woher die MongoDB Quelldateien kommen und woher es auch Updates beim Systemupdate bekommt. Dazu erstellen wir die Datei /etc/apt/sources.list.d/mongodb-org-3.6.list. Hier wird beschrieben und festgelegt, für welches Betriebsystem die Daten geholt werden. Möchtet ihr wiki.js auf einem anderen System installieren, dann könnt ihr unter https://docs.mongodb.com/manual/administration/install-on-linux/ den entsprechenden Link in Erfahrung bringen.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
# load informations from all files in sources.list
sudo apt update
# install mongodb
sudo apt install mongodb-org -y

Jetzt können wir die Datenbank-Software MongoDB starten und schließlich testen, ob sie wirklich gestartet ist. Hat alles geklappt, sollte nach Eingabe des letzten Befehls die Ausgabe ein Active: active (running) enthalten.

sudo systemctl start mongod.service
sudo systemctl status mongod.service

Nun können wir wiki.js installieren. Dazu erstellen wir ein Verzeichnis, worin wir es installiert wollen und führen ein Installations-Skript aus.

mkdir -p ~/wikijs
cd ~/wikijs
curl -sSo- https://wiki.js.org/install.sh | bash

Abschließend müsst ihr den Konfigurationsprozess starten und in euerem Browser auf die Seite http://localhost:3000 navigieren - beziehungsweise anstatt localhost die IP-Adresse eures Severs eingeben, wenn ihr euch nicht lokal befindet.

node wiki configure

Auf der Website könnt ihr dann einfach den Schritten zur Konfiguration folgen. Diese sind in der Regel selbsterklärend, jedoch ein paar kurze Anmerkungen: Unter dem Reiter General könnt ihr die URL angeben, unter die eurer Wiki erreichbar sein soll. Ich habe hier beispielsweise unter Host http://decker-server:3000 angegeben und bei Port 3000 (Da ich auf Port 80 meines lokalen Servers bereits einen anderen Dienst zur Verfügung stelle). Ihr könnt eure Einstellungen hier auch wie vorkonfiguriert lassen, wenn Port 80 bei euch nicht belegt ist. Ihr werdet auch noch nach dem MongoDB Connection String gefragt. Standardmäßig wird die Datenbank in mongodb://localhost:27017/wiki abgelegt. Möchtet ihr eure Datenbank anders benennen, dann müsst ihr die Adresse beispielsweise so ändern mongodb://localhost:27017/decker-wiki. Kurz vor Abschluss der Konfiguration werdet ihr noch nach einem Git Repository gefragt. Diesen Schritt könnt ihr zwar überspringen, damit werden eure Daten allerdings auch nicht gesichert und ihr müsst euch eine eigene Backup-Strategie überlegen. Ich hatte hier Probleme mein lokales Repository vom Gitlab-Server anzugeben und habe diesen Schritt daher übersprungen und nachträglich direkt in der Konfigurationsdatei gemacht. Dazu öffnen wir die Datei ~/wikijs/conig.yml mit nano.

nano ~/wikijs/conig.yml

Wir müssen jetzt den Eintrag git: false durch folgendes ersetzen. Wobei ihr diese selbstverständlich mit euren Daten füllen müsst.

git:
  url: git@decker-server:decker-software-solutions/decker-wiki.git
  branch: master
  auth:
    type: ssh
    privateKey: /home/chris/.ssh/id_rsa
    sslVerify: true
  signature:
    name: Christian Decker
    email: christian.decker@decker-software-solutions.de

Nach einem node wiki restart erreicht ihr schließlich euer Wiki unter der in der Konfiguration angegeben Adresse und könnt loslegen. Ich hoffe ich konnte euch helfen euer Wiki einzurichten. Und wie immer gilt: Solltet ihr Fragen oder Anregungen haben, dann könnt ihr mich jederzeit gerne kontaktieren. Ich freue mich auch immer über Feedback und Ideen für neue Blogeinträge.


Geschrieben von Christian Decker am 18.12.2017