Um diese Webseite uneingeschränkt betrachen zu können, aktivieren Sie bitte Javascript

2020-12-01

Von: Lukas Reipert (gepr. Osmers)





Wissensdatenbank mit mediaWiki


In der Firma G&O entstand dieses Jahr der Wunsch eine Plattform aufzubauen, mit der es möglich ist, innerhalb der Firma, bestehendes Wissen zu konservieren und damit für alle abrufbar und einfach zugänglich zu machen. Die Entscheidung fiel, dass eine Wissensdatenbank eingerichtet wird.

Im Entscheidungsprozess zu der technischen Plattform, die verwendet werden sollte, stellte sich heraus, dass zur Realisierung der Idee mediaWiki benutzt werden solle. mediaWiki ist eine Verwaltungssoftware für digitale Inhalte von einem deutschen Entwickler.

 

Die Wikipedia ist die wohl bekannteste öffentliche Wissensdatenbank – sie basiert ebenfalls auf mediaWiki. Dadurch besteht im Umfeld von mediaWiki eine sehr große Community und die Software ist gut dokumentiert. Außerdem bietet sie viele Erweiterungen, ist sehr gut anpassbar und leicht aufzusetzten.

Zuerst musste ein Server zur Verfügung gestellt werden. Dieser ist in den Spezifikationen sehr ressourcenschonend. Für mediaWiki selber werden als Minimal-Anforderungen gerade einmal 48 MB Hauptspeicher beansprucht. Für den Apache 2 Webserver, auf dem das ganze laufen soll, werden 256 MB benötigt. Außerdem war PHP 7.2 wichtig, da mediaWiki in PHP geschrieben ist und natürlich mediaWiki selber in einer aktuellen Version. Als Server-Unterbau fiel die Entscheidung auf ein Ubuntu-Linux Server-System in der Version 18.04 LTS, um mit vorhandenen Ubuntu-System die identische Version zu verwenden. Das ist durch eine fehlende grafische Benutzeroberfläche ressourcenschonend und verursacht keine Anschaffungs- oder Lizenzkosten. Die Datenbankumgebung bildet ein MariaDB-Server. Außerdem wurde für die Konfiguration der Datenbanken und deren Benutzer die Software „mysql Workbench“ installiert.

Installation

 

Zunächst muss das Paket für den Apache 2 Webserver geladen und installiert werden. Danach wird der Server einmal neu gestartet. Danach wird MariaDB installiert. Hier empfiehlt sich der alternative Befehl: sudo mysql_secure_installation. Hiernach werden in der Konsole alle wichtigen Konfigurationen Schritt für Schritt durchgegangen. Dies hat den Vorteil, das später weniger Konfigurationsdateien abgeändert werden müssen. Hiernach werden alle weiteren benötigten Pakete installiert. Dazu sollten die folgenden PHP-Pakete gehören: php-common php-xmlrpc php-soap php-gd php-intl php-cli php-mcrypt php-ldap php-zip php-curl php-apcu php-intl php-mbstring php-xml.

Danach den Apache 2 neu starten, dann sollte unter der standardmäßigen Webadresse schon die default Seite zu sehen sein.

Danach sollte eine Datenbank und ein Benutzer mit allen Rechten und „Grant Option“ erstellt werden, für die mediaWiki. Dies geschieht in der Konsole von mysql bzw. mediaWiki. Wichtig: Nachdem eine Änderung an Benutzern oder ähnlichem vorgenommen oder eine änhliche Operation vorgenommen wurde, sollte immer der Befehl „FLUSH PRIVILEGES“ kommen.

Zurück in der Ubuntu Konsole wird der aktuellste mediaWiki Release heruntergeladen und im Apache 2 default Verzeichnis entpackt. Anschließend sollten die Benutzerrechte mit dem richtigen Benutzer für das Verzeichnis /var/www/html/ aktualisiert werden. Der Benutzer sollte sowohl Lesen, als auch Schreiben und Ausführen können.

In der Datei /etc/apache2/sites-available/mediawiki.conf wird der Apache 2 Webserver konfiguriert. Dort soll ein Textblock eingefügt oder so bearbeitet werden, dass dort Informationen über den DocumentRoot, ServerName, ServerAlias und weitere Sachen enthalten sind. Nun muss noch die mediaWiki-Seite mit sudo a2ensite mediawiki.conf aktiviert werden. Nach einem Neustart des apache 2 Dienstes sollte nun mediaWiki konfiguriert werden. Am Ende des Prozesses muss dann noch die LocalSettings.php Datei heruntergeladen und platziert werden, danach ist mediaWiki konfiguriert und einsatzbereit.

 

Extensions

 

Die eigene mediaWiki Wissensdatenbank lässt sich mit vielen Extensions erweitern. Dazu gehören z.B. Pakete, die den Upload von Dateien ermöglichen oder auch Zusatzfunktionen direkt für die mediaWiki Oberfläche etablieren. Es sollte im Übrigen beim Suchen einer Extension darauf geachtet werden, dass die Extension selber auf der Seite von mediaWiki als stabil gelistet wird. Es gibt Extensions, deren Freigabestatus nicht stabil ist, weil sie entweder lange nicht gefixt wurden oder weil sie sich in einem frühen Entwicklungsstand befinden. Bei diesen Erweiterungen sollte man folglich vorsichtig sein, da es sein kann, dass diese zu Unstabilität führen. In einem solchen Fall sollten sie als erstes deinstalliert werden.

 

Dateiübertragung mit MobaXTerm

 

Es ist recht umständlich eine Datei vom Hostsystem per Konsole auf den Server zu senden. Hierfür wurde in unserem Fall auf das Terminal Programm MobaXTerm zurückgegriffen. Es bietet Funktionen für die verschiedensten Verbindungstypen. Dazu gehört auch FTP/SFTP. Um eine SFTP Session zu starten benötigen wir nur den Namen oder die Adresse des Servers und einen Benutzer samt Kennwort. Wenn die Verbindung hergestellt ist, können die Verzeichnisse auf einer graphischen Oberfläche gesucht werden und mithilfe des linken Baumes Dateien vom Host System per Drag-and-Drop in Verzeichnisse des Servers kopiert werden. Dieser Umstand erleichtert besonders das Installieren von Extensions in mediaWiki.

 

Installation von Extensions

 

Wenn eine Extension heruntergeladen ist, kann das Verzeichnis in einem Ordner, der genau den Namen der Erweiterung trägt, abgelegt werden. Dort müssen die Dateien, die sich in der tar.gz-Datei bzw. in dem darin gelegenen Ordner entpackt werden. Der Ordner muss sich im Verzeichnis „extensions“ befinden. Dieses ist direkt im mediaWiki Verzeichnis zu finden. In unserem Fall ist das: /var/lib/mediawiki/extensions.

Hiernach muss zusätzlich noch eine Zeile zur LocalSettings.php hinzugefügt werden. Die .php-Datei liegt genau wie der extensions Ordner im mediaWiki Verzeichnis. Am unteren Ende der Datei wird nun einfach der Text „wfLoadExtension(  ‚[nameDerExtension]‘ );“ hinzugefügt.
Nun ist es erledigt und die Extension wird bei der nächsten Gelegenheit geladen.

 


 

 

Benutzung von mediaWiki

 

Das Konzept einer mediaWiki Wissensdatenbank ist einfach: Es gibt für alle Inhalte einzelne Seiten, die sehr einfach und unkompliziert auf anderen Seiten verlinkt werden können. mediaWiki ist nicht darauf anlegegt Übersichtseiten zu führen, von denen man auf ein Thema stößt, sondern dass man Seiten direkt sucht und dann von Seite zu Seite über Hyperlinks springt. Über Spezialseiten können Einstellungen getroffen werden, etwa zu Benutzern oder Gruppen. Über die Suche gelangt man zusätzlich an verborgene Seiten, wie beispielsweise an die .css-Dateien, die für das Aussehen der Wissensdatenbank zuständig sind.

In einigen Konfigurationsseiten auf dem Server können außerdem die Details geändert werden. Wenn die Upload-Größe für Dateien nicht mehr ausreicht, wenn (wie oben gelesen) eine Erweiterung hinzugefügt werden soll oder wenn eine neue Benutzergruppe erstellt wird bzw. die Rechte einer bestehenden Gruppe geändert werden sollen.

Die Inhalte der Wissensdatenbank werden wie oben bereits vermerkt über einzelne neue Seiten bereitgestellt. Eine neue Seite muss aber nicht wie vielleicht vermutet irgendwo eingetragen oder konfiguriert werden, sondern es wird auf einer bestehenden Seite ein interner Link auf den Namen gesetzt, den die neue Seite bekommen soll und wenn dieser abgespeichert und angeklickt wird, dann öffnet sich eine freie Seite, die nun aufgebaut werden kann.

Das Einfügen von Inhalten auf Seiten einer mediaWiki Datenbank ist nicht so einfach wie in Word, aber mit einigen sinnvollen Erweiterungen kann man den Text relativ einfach formatieren. In der Bearbeitungsansicht sieht man allerdings immer den Quellcode, der noch die Formatierungsbefehle enthält. Diese verschwinden erst in der Leseansicht. Ein Hyperlink ist zum Beispiel immer in eckigen Klammern eingefasst: [[DasistEinLink]].

 

 

Datenbanksicherungen

 

Wenn als Datenbankunterbau MySQL oder MariaDB verwendet werden, dann ist das sichern und zurückspielen von Backups relativ leicht. Wer die MySQL Workbench installiert hat, der kann eine Dump Datei der Datenbanken erzeugen und diese speichern oder exportieren. Wenn ein Datenverlust auftritt, dann kann die Dump Datei wieder eingespielt werden. Die entsprechenden Vorgänge heißen in der Workbench Data Backup und Data Import. Das Backup und Restore Verfahren wurde während der Testphase des Servers einmal erfolgreich durchgeführt.

 

Fazit

Es hat sich gezeigt, dass mediaWiki ein guter Weg ist um seine eigene Wissensdatenbank zu betreiben. Wenngleich das Aufsetzen einige Arbeit und (je nach Erfahrungsstand) Einarbeitung erfordert, ist die Software in der Instandhaltung und Wartung recht unkompliziert. Benutzerrechte und Gruppen lassen sich komfortabel konfigurieren und die Seiten können Nutzer mit Rechten eigenständig aufbauen. Mit diesem Wissen und genügend Motivation steht dem Aufbau einer eigenen Wissensdatenbank nun nichts mehr im Weg!