MediaWiki

Aus CodicaTipps
Zur Navigation springen Zur Suche springen

Allgemeines

MediaWiki ist die Wiki-Engine hinter codicatipps und wikipedia.de.

Tipps zur Bedienung

Installation unter Debian und Ubuntu

Siehe die

Installation des Packages

Unter Debian installiert man den MediaWiki-Code folgendermaßen:

 apt-get install mediawiki

Erst-Konfiguration

In /etc/apache2/conf.d/mediawiki.conf die Zeile Alias /mediawiki /var/lib/mediawiki ohne '#' schreiben.

Konfiguration unter

 http://localhost/mediawiki/config/index.php

oder

 http://localhost/mediawiki/mw-config/index.php

localhost ggf. durch den entfernten Server ersetzen. Wenn die Erstellung der Datenbank nicht funktioniert, kann dies an einer Einschränkung des Zugriffs auf den MySQL/MariaDB-root-User liegen, vgl. MySQL#Nur-Root-Login.

Die herunterzuladende LocalSettings.php in /etc/mediawiki abspeichern.

Email-Bestätigung einschalten

/var/lib/mediawiki1.7/config/LocalSettings.php ergänzen, damit nur nach Bestätigen der Email-Adresse Änderungen vorgenommen werden können:

 $wgEmailConfirmToEdit=true;
 

Der Mail Transfer Agent des Linux-Systems muss dazu richtig konfiguriert sein. Unter Debian muss man sich dazu durch die Abfragen durchhangeln, die man bekommt, wenn man als root eingibt:

 dpkg-reconfigure exim4-config

Privates Mediawiki

Siehe http://theredpixel.co.uk/protecting-mediawiki/

Hinzufügen von Werbung

Google AdSense

  • In der Datei /var/lib/mediawiki1.7/skins/MonoBook.php ist der Google-AdSense-Code am Ende des <div>-Blocks mit der class "portlet" und der id "p-tb" einzufügen.
  • Siehe auch Editieren von monobook.php
  • Achtung: Das Google AdSense-Programm sammelt im Rahmen von DoubleClick seit 2009 standardmäßig Informationen über die von den Nutzern der mit Google-Werbung angereicherten Webseiten besuchten Webseiten. Dies kann der Web-Betreiber aber in seinen AdSense-Kontoeinstellungen ausschalten (keine sog. Interessenbezogene Anzeigen).

Andere Bannerwerbung

Siehe z.B.

Verschieben von LocalSettings.php

mv /var/lib/mediawiki1.7/config/LocalSettings.php /var/lib/mediawiki1.7/LocalSettings.php

Nutzen des Wikis

Zugriff über

 http://localhost/mediawiki/index.php

Administration

Kurz-URLs

 Alias /mywiki /var/lib/mediawiki1.7/index.php
  • Neustart des Webservers:
 /etc/init.d/apache2 reload
  • Setzen folgender Variablen in LocalSettings.php (Ändern der bisherigen Werte bzw. Ergänzen der Variablen):
 $wgArticlePath      = "/mywiki/$1";
 $wgUsePathInfo      = true;

Ändern der Email-Adresse eines Benutzers

 cd /usr/share/mediawiki
 php maintenance/resetUserEmail.php --wiki $WIKI_ID  "$user" "$email"

Einrichten von weiteren InterWikis

Mehrere Instanzen von MediaWiki auf einem Server

Lösungsvorschlag

  • Z.B. per Dynamisches DNS für jedes Wiki einen Servernamen anlegen.
  • Die einzelnen Wikis nacheinander konfigurieren; dabei /var/lib/mediawiki1.7/config/LocalSettings.php jeweils nach /var/lib/mediawiki1.7/wiki123LocalSettings.php verschieben.
  • Eine neue zentrale Verteiler-LocalSettings.php schreiben und als /var/lib/mediawiki1.7/LocalSettings.php abspeichern (Achtung: Keine Leerzeilen, keine Testausgaben in die Datei einfügen):
 <?php
   switch ($_SERVER["SERVER_NAME"])
   {
       case "wiki1.dyndns.org":
            require_once "wiki1LocalSettings.php";
            break;
       case "wiki2.dyndns.org":
             require_once "wiki2LocalSettings.php";
             break;
       default:
         require_once( 'wiki2LocalSettings.php' );
    }
 ?>
  • Dieser Vorschlag beruht auf der ersten Variante des Quick Setups. Die zweite Variante (Entscheidung auf Basis des hinteren Teils der URL) funktioniert nicht beim Editieren der Seiten, weil dort die Url wieder gleich aussieht (/mediawiki/...).

Weiterführende Links

Weitere Links zur Administration

Markup-Konverter

Konverter des MediaWiki-Markups in HTML

 php maintenance/parse.php --title xy

Synchronisation mit einem Offline-MediaWiki

Spezialfall: Wiki für private Gruppe

Um ein privates Wiki anzulegen, das nur für eine bestimmte Gruppe einsehbar und editierbar ist, bieten sich folgende Schritte an.

Domainregistrierung

Eine Domainregistrierung ist optional. Der Betrieb eines MediaWikis bedarf keiner eigenen Domain, jedoch ist es auch für kleinere Gruppen meist vorteilhaft, mit einer Domain darauf zuzugreifen.

Siehe dazu Webhosting

Einrichtung eines virtuellen Servers

Auch ein (virtueller) Server im Netz ist nicht zwingend für MediaWiki erforderlich. Es reicht auch WebSpace mit

  • MySQL
  • PHP
  • Apache

aus.

Allerdings bietet ein virtueller Server höhere Flexibilität, z.B. für Backup oder Email-Versand.

Zur Einrichtung siehe Webhosting.

Installation eines Webservers

Regelmäßig bietet sich der Standard-Webserver Apache an.

Installation von MySQL

MySQL wird zur Benutzung von MediaWiki benötigt.

Installation von MediaWiki

Installiert werden können entweder die herunterladbaren Original-PHP-Quelldateien oder aber die Installation des MediaWiki-Pakets.

Konfiguration des MediaWiki

Zur Einrichtung unter http://wiki.yourdomain.com/config/index.php siehe oben.


Einstellen der Domain

Das Wiki sollte (nur) auf Anfragen mit der Wiki-Domain Seiten darstellen. Das ist zur Abgrenzung weiterer Funktionen auf dem (virtuellen) Server unter anderer Domain notwendig.

Erstellen von neuen Benutzern nur durch Admin

Verbot des Schreibens und Lesens für anonyme Benutzer

Bei der Installation kann man angeben, dass man ein "geschlossenes Wiki" haben will. Dann können anonyme Benutzer weder schreiben noch lesen. Man kann sich auch nicht selbst als neuer Benutzer registrieren.

Versenden von Mails

MediaWiki benötigt für die Versendung von Mails entsprechende Einstellungen in der PHP-Email-Konfiguration. Wenn man Postfix eingerichtet hat und in der Shell das Verschicken von Emails mit mail ausprobiert hat, muss man noch dafür sorgen, dass von PHP aus man Mails verschicken kann:

 sudo aptitude install php-mail php-mail-mime php-mail-mimedecode


Neben dem Einschalten von Mails (ebenfalls in der LocalSettings.php) ist noch in der LocalSettings.php folgende Einstellung vorzunehmen:

 $wgPasswordSenderName = "Wiki Administrator";

Kurze URLs

Kurze URLs mit Apache

Apache-Rewrite einrichten und in LocalSettings.php niederlegen, dass kurze URLs (example.com/Stichwort) als URL verwendet wird. Dazu das Apache-Modul Rewrite aktivieren:

 sudo a2enmod rewrite

Einrichten eines Apache-Virtual Hosts z.B. /etc/apache2/sites-available/enebene

 <VirtualHost *>
   ServerName www.enebene.de
   ServerAdmin ebene@emailprovider.de
   ServerAlias enebene.de
   DocumentRoot /var/lib/mediawiki
   AddType image/x-icon .ico
   RewriteEngine on
   # Short url for wiki pages
   RewriteRule ^/?eb/?(.*)?$ %{DocumentRoot}/index.php?title=$1 [L]
   <Directory /var/lib/mediawiki/>
       Options +FollowSymLinks
       AllowOverride All
       order allow,deny
       allow from all
   </Directory>
   # some directories must be protected
   <Directory /var/lib/mediawiki/config>
       Options -FollowSymLinks
       AllowOverride None
   </Directory>
   <Directory /var/lib/mediawiki/upload>
       Options -FollowSymLinks
       AllowOverride None
   </Directory>
 </VirtualHost>


In /etc/mediawiki/LocalSettings.php noch folgende Zeile am Ende einfügen

 $wgArticlePath="/eb/$1";

Der Zugriff erfolgt dann über http://www.enebene.de/eb/Stichwort Siehe auch http://www.mediawiki.org/wiki/Manual:Short_URL/Apache

Kurze URLs mit NGINX

Siehe für kurze MediaWiki-URLs mit NGINX:

Home Page in Gruppenseite umbenennen

Logo hochladen

Datei-Upload erlauben

Anpassen php.ini

Neben dem grundsätzlichen Erlauben des Hochladens von Dateien in PHP muss man noch die erlaubten Dateigrößen und -typen in /etc/php/7.0/fpm/php.ini oder /etc/php5/apache2/php.ini anpassen: (Angaben in Megabyte)

   post_max_size=8M
   upload_max_filesize=2M
Anpassen LocalSettings.php

Am Ende von /etc/mediawiki/LocalSettings.php ist folgende Zeile anzufügen:

 $wgEnableUploads = true;

In LocalSettings.php sollten die weiteren benötigten Dateitypen erlaubt werden:[1]

 $wgFileExtensions = array_merge( $wgFileExtensions,
   array( 'doc', 'xls', 'mpp', 'pdf', 'ppt', 'xlsx', 'jpg', 
       'tiff', 'odt', 'odg', 'ods', 'odp'
   )
 );
Mime-Typen

In /etc/mime.types (und nicht in /usr/share/mediawiki/includes/mime.types) sollten noch beim Zip-Dateityp eine Ergänzung vorgenommen werden:[2]

 application/zip zip xlsx docx pptx
Drag & Drop - File-Upload

Die MediaWiki-Erweiterung MsUpload unterstützt den Upload mehrerer Dateien gleichzeitig. Außerdem kann mittels HTML5 bzw. Flash die Dateien mit der Maus ins Bearbeiten-Fenster verschoben werden.

Zur Installation:

 wget http://www.ratin.de/wiki_ext/MsUpload_9.2.zip
  • Entpacken der Erweiterung
 unzip MsUpload_9.2.zip
  • Ändern des Eigentümers und Verschieben nach mediawiki/extensions:
 sudo chown -R www-data:www-data MsUpload
 sudo mv MsUpload /var/lib/mediawiki/extensions/
  • Ergänzung der /etc/mediawiki/LocalSettings.php am Ende:
 $wgMSU_ShowAutoKat = true;     // autokategorisierung
 $wgMSU_CheckedAutoKat = true;  // checkbox: checked = true/false
 $wgMSU_debug = false;
 $wgMSU_ImgParams = "400px";
 $wgMSU_UseDragDrop = true;      // show Drag&Drop Area?
 require_once("$IP/extensions/MsUpload/msupload.php");
  • Installation der Bilderkonvertiersoftware:
 sudo aptitude install graphicsmagick-imagemagick-compat

oder

 sudo aptitude install imagemagick

Spielwiese einrichten und Anleitung erstellen

Eine Seite, die als Spielwiese/Sandkasten zum Ausprobieren dient, sollte eingerichtet werden. Außerdem bedarf es einer Kurz-Anleitung mit Links auf die Hilfen von Mediawiki

Dabei kann z.B. auch gezeigt werden, wie Tabellen aus OpenOffice nach MediaWiki exportiert werden können. Denn gerade zur Koordination von Gruppen werden häufig Tabellen verwendet, die bequemer in einem Office-Paket statt über die MediaWiki-Oberfläche erstellt werden können.

Test von Benutzern

Sowohl Editieren als auch Emailen von neuen Benutzern sollte mittels Test-Accounts getestet werden, bevor das Wiki offiziell eröffnet wird.

Hauptseite umbenennen

Die Hauptseite sollte einen schöneren Namen bekommen und entsprechend die Navigation angepasst werden.


Einloginformation anpassen

Sinnvoll erscheint es, die Anmelde-Seite, die einem nicht eingeloggten Benutzer gezeigt wird, noch so anzupassen, dass der neue Benutzer schon weiß, dass er auf der richtigen Seite gelandet ist.

WYSIWYG-Editor

Ein Editor sollte den Benutzern zur Verfügung gestellt werden, der ähnlich wie Office-Programme (mit Klicks/Tastenkürzel statt ausdrücklichem Markup) bedient werden kann.

Die mit MediaWiki jedenfalls ab 0.19 standardmäßig ausgelieferte Erweiterung "WikiEditor" ist ein Anfang. Diesen sollte man für alle Benutzer in der /etc/mediawiki/LocalSettings.php standardmäßig aktivieren:

 # Enables use of WikiEditor by default but still allow users to disable it in preferences
 $wgDefaultUserOptions['usebetatoolbar'] = 1;
 $wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;

 # Displays the Preview and Changes tabs
 $wgDefaultUserOptions['wikieditor-preview'] = 1;

 # Displays the Publish and Cancel buttons on the top right side
 $wgDefaultUserOptions['wikieditor-publish'] = 1;

Umstellen auf SSL

Jede Kommunikation im Netz sollte verschlüsselt erfolgen. Daher sollte auch auf ein privates Wiki mittels SSL (https://...) zugegriffen werden. Dazu wird ein SSL-Zertifikat für die eigene Domain benötigt. Dieses muss dann auch noch in Apache und MediaWiki eingerichtet werden.

Sperren eines geblockten Benutzers

Über die Sperren-Spezial-Seite kann ein Benutzer am Editieren gehindert werden.

Mit Hilfe von $wgBlockDisablesLogin = true; in der LocalSettings.php kann man auch verhindern, dass der Benutzer sich noch zum Lesen einloggen kann.

Troubleshooting

Thumbnails werden nicht angezeigt

In einer deutschen MediaWiki-Installation kann es sein, dass bei Ausgabe des srcset-Attributs der Wert 1.5x fälschlicherweise als 1,5 (mit Komma statt Punkt) ausgegeben wird.

Das kann durch Setzen von

 setlocale(LC_NUMERIC, "C")

in LocalSettings.php verhindert werden.[3]

Exception encountered, of type "ParseError"

Der Fehler tritt beim Upgrade von MediaWiki auf Version 1:1.27.7-1~deb9u4 auf. Der Fehler soll schnell bereinigt werden, siehe https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1766603.html

Bis dahin hilft ein Downgrade auf die vorherige Version:

 sudo aptitude install 'mediawiki=1:1.27.7-1~deb9u3'