MediaWiki konfigurieren

Aus MattWiki

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.

Navigation

Startseite definieren: In MediaWiki:Mainpage die neue Startseite eintragen.

Navigationsleiste anpassen: MediaWiki:Sidebar

Footer

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:

Visual Editor

Voraussetzungen

  • MediaWiki-Plugin Visual Editor
  • Node.JS
  • Parsoid
  • Diverse Standardpakete für PHP u.ä.

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

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 {} +

Images 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;

Erweiterung Kategorienbaum

https://www.mediawiki.org/wiki/Extension:CategoryTree