MediaWiki konfigurieren
Installation MediaWiki siehe MediaWiki installieren (Debian)
Einrichtung von ShortURLs
Gut funktionierender MediaWiki Short-URL Builder siehe shorturls.redworks.org.
Grundlagen
Typischerweise werden ShortURLs für die URL http://www.domain.tld/wiki verwendet.
mediaWiki wird typischerweise in http://www.domain.tld/w (bzw. /var/www/w/) installiert.
Manuelle Einrichtung
Anpassungen an .htaccess (für das Root-Verzeichnis des Webservers):
RewriteEngine On RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L] RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
Anpassungen in der LocalSettings.php:
$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgEnableUploads = true;
$wgGenerateThumbnailOnParse = false;
Logo und Theme anpassen
Logo sollte von der Größe her an Skin angepasst sein. Default: 135x135 px, Vector 160x160px?
Logodatei hochladen, z.B. nach wiki/skins/logo.png
LocalSettings.php erweitern:
$wgLogo = "$wgStylePath/logo.png";
An der Stelle nochmal prüfen, womit $wgStylePath
genau gefüllt ist.
Startseite definieren: In MediaWiki:Mainpage die neue Startseite eintragen.
Navigationsleiste anpassen: MediaWiki:Sidebar
Links auf Datenschutz und Impressum aus dem Footer-Bereich entfernen:
In den Seiten MediaWiki:Privacy und MediaWiki:Disclaimer nur einen Bindestrich "-" eintragen.
Texte im Footer anpassen:
- Letzte Änderung: MediaWiki:Lastmodifiedat
- Anzahl Seitenabrufe: MediaWiki:Viewcount
Visual Editor
Voraussetzungen
- Diverse Standardpakete für PHP u. ä.
- Node.JS
- Parsoid
- MediaWiki-Plugin Visual Editor
Installation Note.JS und übrige Standardpakete
# apt-get install nodejs # apt-get install php-curl php-fpm
Installation Parsoid
Anleitung: https://www.mediawiki.org/wiki/Parsoid/Setup#Ubuntu_.2F_Debian
Paketquellen um Repository für Parsoid erweitern. Zunächst Repository-Key hinzufügen:
# apt-key advanced --keyserver keys.gnupg.net --recv-keys 90E9F83F22250DD7
Anschließend Datei unter /etc/apt/sources.list.d/
anlegen mit folgendem Inhalt:
deb https://releases.wikimedia.org/debian jessie-mediawiki main
Tipps zur Fehlerbehebung: https://www.mediawiki.org/wiki/Parsoid/Troubleshooting
Installation Visual Editor
Konfiguration von MediaWiki anpassen durch aktivieren der Extension:
# nano /var/www/w/LocalSettings.php
Inhalt:
require_once "$IP/extensions/VisualEditor/VisualEditor.php"; // Enable by default for everybody $wgDefaultUserOptions['visualeditor-enable'] = 1; // Don't allow users to disable it $wgHiddenPrefs[] = 'visualeditor-enable'; // OPTIONAL: Enable VisualEditor's experimental code features #$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1; $wgVirtualRestConfig['modules']['parsoid'] = array( // URL to the Parsoid instance // Use port 8142 if you use the Debian package 'url' => 'http://localhost:8142' # Hier kann der Localhost verwendet werden // Parsoid "domain", see below (optional) // 'domain' => 'localhost', // Parsoid "prefix", see below (optional) // 'prefix' => 'localhost' );
Konfiguration des Parsoid-Service:
# nano /etc/mediawiki/parsoid/settings.js
Inhalt:
'use strict'; exports.setup = function(parsoidConfig) { parsoidConfig.setMwApi({ uri: 'https://domain.tld/w/api.php'}); # Hier muss eine von außen erreichbare Adresse stehen parsoidConfig.useSelser = true; };
Performance
Counter deaktivieren
MediaWiki ≤ 1.25
nano /var/www/wiki/LocalSettings.php
Am Ende folgende Zeile hinzufügen:
$wgDisableCounters = true;
HTML-Cache aktivieren
Erstellt statische HTML-Dateien für Wiki-Seiten.
Dabei findet Caching von HTML-Seiten jedoch nur für nicht eingeloggte User statt.
File-Caching akivieren (Erstellung von statischen HTML-Dateien):
- Neues MediaWiki-Unterverzeichnis, z. B. "filecache" anlegen (Directory-Owner: www-data).
- LocalSettings.php erweitern um:
$wgUseFileCache = true; $wgFileCacheDirectory = "$IP/filecache"; $wgShowIPinHeader = false;
HTML-Cache aktualisieren
Wenn z. B. Kategorienseiten für nicht eingeloggte User nicht alle Inhalte enthalten, dann kann es sein, dass der User eine Kategorienseite mit altem Inhalt aus dem HTML-Cache erhält.
Um diese zu aktualisieren, kann man z. B. im Verzeichnis "filecache" die zugehörigen HTML-Dateien entfernen.
Syntaxhighlighting aktivieren
Folgende Zeile am Ende in LocalSettings.php einfügen:
MediaWiki ≤ 1.24
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
MediaWiki ≥ 1.25
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
Backups erstellen
SQL-Dump der Datenbank
Vgl. MariaDB (Debian)
XML-Dump der Seiten
sudo -u www-data php dumpBackup.php --full > /var/backups/<dumpfilename>.xml
Links in Kategorien-Seiten aktualisieren
Wenn Links in Kategorien-Seiten nicht aktuell sind, können diese mit einem Maintenance-Skript aktualisiert werden:
php maintenance/refreshLinks.php [starting_article]
Für nicht eingeloggte User kann es sein, dass dies nicht ausreicht, wenn ein HTML-Cache genutzt wird.
In diesem Falle kann es passieren, dass der User eine Kategorien-Seite mit altem Inhalt aus dem HTML-Cache erhält.
Korrektur vgl. Abschnitt HTML-Cache aktualisieren.
# find -iname '*kategorie*' -exec rm {} +
Erweiterung Kategorienbaum
https://www.mediawiki.org/wiki/Extension:CategoryTree
Bilduploads ermöglichen
Voraussetzungen
Das Paket ImageMagic muss installiert sein:
# apt-get install imagemagick
Konfiguration
Es muss im MediaWiki-Verzeichnis ein Unterverzeichnis "images" geben, auf welches der Webserver (z. B. Account www-data) Schreibzugriff hat.
Anpassungen der LocalSettings.php:
## To enable image uploads, make sure the 'images' directory ## is writable, then set this to true: $wgEnableUploads = true; $wgUseImageMagick = true; $wgImageMagickConvertCommand = "/usr/bin/convert"; $wgGenerateThumbnailOnParse = true;
Upload Dateigröße
Die Upload-Dateigröße wird primär durch /etc/php/version/apache2/php.ini
festgelegt.
post_max_size = 8M upload_max_filesize = 2M
Um dies z. B. auf 8 MB zu erhöhen wird am besten eine neue Config-Datei abgelegt unter /etc/php/version/apache2/conf.d/99-myconfig.ini
mit folgendem Inhalt:
upload_max_filesize = 8M
Die o.g. Dateispeicherorte sind Debianspezifisch.