MediaWiki

denken24-MediaWiki-2009-2015

denken24.de im April 2015

Die Internetseite „denken24.de“ basierte von Dezember 2009 bis April 2015 auf dem bekannten Wiki System MediaWiki, welches die meisten Menschen von der Wikipedia her kennen und so ist eine gewisse Ähnlichkeit nicht abzustreiten. Dieser Beitrag erläutert die Einstellungen und Anpassungen, welche ich am MediaWiki Grundsystem vorgenommen habe.

Installation

Wer nur über einen einfachen WebSpace bei einem durchschnittlichen Webhoster verfügt, kann schon viele Dinge in Eigenregie erledigen. Datenbanken anlegen, Dateien hoch laden oder ein paar PHP Parameter setzen. Allerdings hatte ich Probleme bei der Installation von MediaWiki Version 1.15, da mein Webhoster mir nur wenige Rechte auf der SQL Datenbank zugesteht. Das MediaWiki 1.15 Installationsskript legt die Datenbank Tabellen über das Skript maintenance/tables.sql an und dort werden zu jeder Tabelle Indexe angelegt:

Und genau CREATE INDEX erlaubt mein Webhoster nicht! Über phpMyAdmin kann man jedoch auch einen Index anlegen. Allerdings nur über den Umweg ALTER TABLE:

Also habe ich maintenance/tables.sql mit Hilfe von Excel geändert. Diese Änderung ist nur gültig, solange MediaWiki nicht aktualisiert wird. Ich würde heute jedoch empfehlen, MediaWiki zunächst auf einem lokalen Webserver (z.B. XAMPP) zu installieren und dann die Dateien und Datenbanken ins Internet hoch laden.

Anpassen

Nach der Installation ist MediaWiki ein offenes Wiki: Jeder darf Änderungen vornehmen.

Datenbanktyp ändern

Die Mediawiki Installation bereitete öfters Probleme. Die Seite konnte nicht mehr aufgerufen werden (Mediawiki exception handler…) und die Datenbank Tabellen wurden in phpMyAdmin im Status „In Benutzung“ angezeigt. Ein Anruf bei Canhost Support löste das Problem innerhalb weniger Stunden. Der Support gab mir den Tipp, den Datenbanktyp (Engine) von InnoDB auf MyISAM zu ändern:

Datenbank komprimieren

Die Datenbank von MediaWiki 1.18.2 besteht aus 51 Tabellen. Die Tabelle ..._text enthält dabei alle Artikel sowie alle Versionen und kann selbst bei kleinen Wikis schnell groß werden. Danach kommen die Tabellen ..._objectcache und ..._l10n_cache.

Die Tabellen ..._objectcache und ..._l10n_cache enthalten temporäre Daten und können geleert oder bei einer Datensicherung ignoriert werden. Siehe auch:

MediaWiki wird mit so genannten Maintenance Skripten ausgeliefert. Im Ordner .../maintenance befinden sich eine Reihe von Skripten um das Wiki System zu warten. Das Skript .../maintenance/storage/compressOld.php schaft es , die Größe der Tabelle ..._text beträchtlich zu reduzieren. Siehe auch https://www.mediawiki.org/wiki/Manual:Reduce_size_of_the_database

Allerdings sind die Maintenance Skripte bei den meisten Web-Hosting Anbieten nicht zugänglich, da man nicht an die PHP-Konsole heran kommt. Hier hielt mal wieder die lokale MediaWiki Installation auf Basis XAMPP. Vor der Komprimierung mit compressOld.php:

Nach der Komprimierung mit compressOld.php:

Die Mediawiki Extension DeleteHistory hilft nochmals, die SQL Datenbank zu minimieren. Vor der Komprimierung mit DeleteHistory:

Nach der Komprimierung mit DeleteHistory:

Eine weitere Reduzierung erreicht man, wenn man die gespeicherten Objekte in der Tabelle objectcache löscht:

Wer alle Versionen zu löschen kann man das Maintenance Skript deleteOldRevisions.php genutzt werden:

Farben & CSS

Das denken24 Logo ist 122×155 Pixel groß. Es ist ein teil transparentes GIF. Seit MediaWiki Version 1.16 wurde das Standard Skin von Monobook auf Vector geändert. Vector hat eine moderne Optik. Die CSS Dateien liegen im Ordner /skins/vector/

Normalerweise werden nur H1 und H2 unterstrichen. Damit auch H3 bis H6 unterstrichen werden, muss in /skins/vector/screen.css oder in /skins/common/commonElements.css eine Zeile auskommentiert werden:

LocalSettings.php anpassen

Die Konfiguration von MediaWiki erfolgt über die Konfigurationsdatei LocalSettings.php, welche sich im MediaWiki Hauptverzeichnis befindet. Diese Datei sollte nur für den Webserver sichtbar sein, da sie Zugangsdaten zur Datenbank und andere sensible Daten enthält. Die Benutzerrechte kann über chmod gesetzt werden.

Default Skin einstellen

Neue Anmeldungen verbieten

Nur noch die angemeldeten Benutzer dürfen Artikel bearbeiten

Artikel können nur nach erfolgreicher Anmeldung gelesen werden

Uplad für Bilder und Dateien erlauben

Dateitypen festlegen

Bei Problemen mit Thumbnail (Vorschau) Bildern
Fehlermeldung: „Fehler beim Erstellen des Vorschaubildes: convert: unrecognized option `-set‘.
Fehlermeldung: „Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden.“

Quelle: https://forum.alfahosting.de/index.php?page=Thread&postID=4856
Das Logo kann als Bild hoch geladen werden und anschließend eingeblendet werden

Spezial:MediaWiki-Systemnachrichten abschalten
Achtung: Diese Einstellung schaltet den MediaWiki Namensraum aus. wie z.B. MediaWiki:Sidebar. Siehe Menü anpassen
Alle Systemmeldungen werden statt dessen aus der languages/messages/MessagesDe.php abgeleitet.

HTML Code <html>einbetten</html>

Externe Links in einem neuen Browserfenster/Tab öffnen

Passwort ändern

Falls ein Benutzer sein Password vergessen hat, kann über phpMyAdmin ein neues Password gesetzt werden. Das Password wird als „doppelter“ MD5-Hash gespeichert:

UID
user_id, Benutzername
NewPass
Neues Password

Fehler bei der Anmeldung?

MediaWiki ist eine Software der Web2.0 Welt und daher auch sehr mitteilungsbedürftig. Es verrät nicht nur die MediaWiki Softwareversion sondern auch die Version des PHP-Interpretes und der SQL-Datenbank. Aber es kommt noch besser:

Wenn man einen falschen Benutzernamen eingibt erhält man folgenden gut gemeinten Hinweis
Der Benutzername „$1“ ist nicht vorhanden. Bitte überprüfe die Schreibweise.
Wenn man ein falsches Kennwort eingibt, wird auch noch freundlich auf das falsche Kennwort hingewiesen
Das Passwort ist falsch. Bitte versuche es erneut.

Damit öffnet man Brute Force Angriffen Tür und Tor, denn ein Angreifer erhält wichtige Hinweise. Ok, wer schlau ist, schaut in das Spezial:Benutzer-Verzeichnis und kann dort alle Benutzernamen auslesen… Diese Hinweise sollte man als Administrator über die Spezial:MediaWiki-Systemnachrichten ändern und anonymisieren:

  • MediaWiki:Nosuchusershort
  • MediaWiki:Wrongpassword

Ich habe beide Systemnachrichten geändert in:

Willst du hier einbrechen?

Bei dieser Gelegenheit noch der dringende Hinweis, stets sichere Kennwörter und anonyme Benutzernamen zu verwenden!

Menü anpassen

Die Menüleiste am linken Rand heißt Sidebar und wird über den Systemtext MediaWiki:Sidebar angepaßt. Allerdings nur, wenn der in LocalSettings.php der Parameter $wgUseDatabaseMessages = true; eingestellt wurde. Siehe auch LocalSettings.php anpassen. Falls mit $wgUseDatabaseMessages = false; gearbeitet wird, steht der MediaWiki Namensraum nicht zur Verfügung.

Das Werkzeugmenu bzw die TOOLBOX am linken Bildschimrand ist interessant für Autoren, aber nicht für Besucher. Daher könnte man die Werkzeuge auch für nicht angemeldete Besucher ausblenden. Siehe: https://kompetenz.hs-wismar.de/index.php/Hilfe:Werkzeuge_ohne_Login_ausblenden

Fußleisten anpassen

Die Fußzeile am unteren Rand heißt Footer und wird in der Datei skins/<Skin>.php definiert. Wobei <Skin> für das entsprechende Erscheinungsbild steht (Modern, Monobook…). Die folgende Zeile enthält die anzuzeigenden Elemente:

Templates

Zusammen mit der Extension:ParserFunctions können sinnvolle Vorlagen erstellt und genutzt werden:

  • Vorlage:Absatz
  • Vorlage:Page
  • Vorlage:Prettytable
  • Vorlage:Tableheader
  • Vorlage:Zitat

Extensions

MediaWiki kann schon viel, aber einige Funktionen müssen als Erweiterungen (engl.: Extensions) hinzugefügt werden. denken24.de nutzt folgende Extensions:

Suchen

Die Suchfunktion von MediaWiki ist eine Ganzwortsuche. Wer nur nach wordsu sucht wird nichts finden, da es kein entsprechenden ganzen Wort gibt. wortsu* schaltet um auf die erweiterte Suche. Nun werden auch Seiten gefunden, in denen das Wortfragment wortsu enthalten ist.

Veröffentlicht in Internet Getagged mit:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*