MediaWiki: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
 
 
(46 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 14: Zeile 14:
 
* [http://www.mediawiki.org/wiki/Debian/Ubuntu die Anpassungen von MediaWiki an das Debian/Ubuntu-Universum]
 
* [http://www.mediawiki.org/wiki/Debian/Ubuntu die Anpassungen von MediaWiki an das Debian/Ubuntu-Universum]
 
* [http://ubuntuguide.org/wiki/MediaWiki_tips MediaWiki-Tipps unter Ubunutu]
 
* [http://ubuntuguide.org/wiki/MediaWiki_tips MediaWiki-Tipps unter Ubunutu]
 +
* [http://www.html-world.de/497/konfiguration-des-wiki-projektes/ Anleitung auf html-world]
  
 
=== Installation des Packages ===
 
=== Installation des Packages ===
Zeile 28: Zeile 29:
 
   http://localhost/mediawiki/mw-config/index.php
 
   http://localhost/mediawiki/mw-config/index.php
  
<code>localhost</code> ggf. durch den entfernten Server ersetzen.
+
<code>localhost</code> 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 <code>LocalSettings.php</code> in <code>/etc/mediawiki</code> abspeichern.
 
Die herunterzuladende <code>LocalSettings.php</code> in <code>/etc/mediawiki</code> abspeichern.
Zeile 40: Zeile 41:
 
   dpkg-reconfigure exim4-config
 
   dpkg-reconfigure exim4-config
  
=== Hinzufügen von Google Werbung ===
+
=== Privates Mediawiki ===
 +
 
 +
Siehe http://theredpixel.co.uk/protecting-mediawiki/
 +
 
 +
=== Hinzufügen von Werbung ===
 +
==== Google AdSense ====
 
* In der Datei <code>/var/lib/mediawiki1.7/skins/MonoBook.php</code> ist der [http://www.google.com/adsense Google-AdSense]-Code am Ende des <code>&lt;div&gt;</code>-Blocks mit der class "portlet" und der id "p-tb" einzufügen.
 
* In der Datei <code>/var/lib/mediawiki1.7/skins/MonoBook.php</code> ist der [http://www.google.com/adsense Google-AdSense]-Code am Ende des <code>&lt;div&gt;</code>-Blocks mit der class "portlet" und der id "p-tb" einzufügen.
 
* Siehe auch [http://wiki.edsimpson.co.uk/index.php/Adding_AdSense_to_MediaWiki Editieren von monobook.php]
 
* Siehe auch [http://wiki.edsimpson.co.uk/index.php/Adding_AdSense_to_MediaWiki 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).
 
* 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.
 +
* https://partner.bitpalast.net/
  
 
=== Verschieben von LocalSettings.php ===
 
=== Verschieben von LocalSettings.php ===
Zeile 65: Zeile 74:
  
 
* Siehe http://www.mediawiki.org/wiki/Manual:Short_URL
 
* Siehe http://www.mediawiki.org/wiki/Manual:Short_URL
 +
 +
=== Ändern der Email-Adresse eines Benutzers ===
 +
 +
  cd /usr/share/mediawiki
 +
  php maintenance/resetUserEmail.php --wiki $WIKI_ID  "$user" "$email"
  
 
=== Einrichten von weiteren InterWikis ===
 
=== Einrichten von weiteren InterWikis ===
Zeile 107: Zeile 121:
 
* [http://meta.wikimedia.org/wiki/Layout_customization Layout Customizing]
 
* [http://meta.wikimedia.org/wiki/Layout_customization Layout Customizing]
  
==  
+
== Markup-Konverter ==
  
 
Konverter des MediaWiki-Markups in HTML
 
Konverter des MediaWiki-Markups in HTML
 +
* [http://techwiki.openstructs.org/index.php/Wiki_converters Übersicht über Wiki-Markup-Konverter]
 +
* [http://www.mediawiki.org/wiki/Alternative_parsers Übersicht über Konverter und sonstige Markup-Parser]
 +
* [http://stackoverflow.com/questions/9343931/convert-mediawiki-wikitext-format-to-html-using-command-line MediaWikis mitgelieferter Parser]:
 +
  php maintenance/parse.php --title xy
 
* http://code.google.com/p/gwtwiki/ ([[Java]]-basierter Webservice)
 
* http://code.google.com/p/gwtwiki/ ([[Java]]-basierter Webservice)
 +
** http://code.google.com/p/gwtwiki/wiki/Mediawiki2HTML
  
 
== Synchronisation mit einem Offline-MediaWiki ==
 
== Synchronisation mit einem Offline-MediaWiki ==
Zeile 116: Zeile 135:
 
* Siehe [[Programmierprojekte#MediaWiki-Sync]]
 
* Siehe [[Programmierprojekte#MediaWiki-Sync]]
  
 +
== 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 [http://php.net/manual/en/mail.configuration.php PHP-Email-Konfiguration].
 +
Wenn man [[Postfix]] eingerichtet hat und in der Shell das Verschicken von Emails mit <code>mail</code> 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. <code>/etc/apache2/sites-available/enebene</code>
 +
 +
  <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 <code>/etc/mediawiki/LocalSettings.php</code> 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]]:
 +
 +
* https://www.mediawiki.org/wiki/Manual:Short_URL/Page_title_-_nginx,_Root_Access,_PHP_as_a_CGI_module
 +
* https://wiki.archlinux.org/index.php/MediaWiki#Nginx
 +
* [https://shorturls.redwerks.org Short-URLs von Redwerks] - Service funktioniert nur mit öffentlich zugänglichen MediaWikis
 +
 +
==== 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 <code>/etc/php/7.0/fpm/php.ini</code> oder <code>/etc/php5/apache2/php.ini</code> anpassen:
 +
(Angaben in Megabyte)
 +
    post_max_size=8M
 +
    upload_max_filesize=2M
 +
 +
===== Anpassen LocalSettings.php =====
 +
Am Ende von <code>/etc/mediawiki/LocalSettings.php</code> ist folgende Zeile anzufügen:
 +
  $wgEnableUploads = true;
 +
 +
In <code>LocalSettings.php</code> sollten die weiteren benötigten Dateitypen erlaubt werden:<ref>http://www.mediawiki.org/wiki/Manual:Configuring_file_uploads#Configuring_file_types</ref>
 +
  $wgFileExtensions = array_merge( $wgFileExtensions,
 +
    array( 'doc', 'xls', 'mpp', 'pdf', 'ppt', 'xlsx', 'jpg',
 +
        'tiff', 'odt', 'odg', 'ods', 'odp'
 +
    )
 +
  );
 +
 +
===== Mime-Typen =====
 +
In <code>/etc/mime.types</code> <small>(und nicht in <code>/usr/share/mediawiki/includes/mime.types</code>)</small> sollten noch beim Zip-Dateityp eine Ergänzung vorgenommen werden:<ref>Vgl. http://www.mediawiki.org/wiki/Manual:MIME_type_detection .</ref>
 +
  application/zip zip '''xlsx docx pptx'''
 +
 +
===== Drag & Drop - File-Upload =====
 +
 +
Die [http://www.mediawiki.org/wiki/Extension:MsUpload 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:
 +
* Herunterladen der Erweiterung von http://www.ratin.de/msupload.html
 +
  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 <code>/etc/mediawiki/LocalSettings.php</code> 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 [http://www.mediawiki.org/wiki/Extension:WikiEditor Erweiterung "WikiEditor"] ist ein Anfang. Diesen sollte man für alle Benutzer in der <code>/etc/mediawiki/LocalSettings.php</code> 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]] (http'''s'''://...) 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 [https://www.mediawiki.org/wiki/Manual:$wgBlockDisablesLogin $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 <code>srcset</code>-Attributs der Wert <code>1.5x</code> fälschlicherweise als <code>1,5</code> (mit Komma statt Punkt) ausgegeben wird.
 +
 +
Das kann durch Setzen von
 +
  setlocale(LC_NUMERIC, "C")
 +
in <code>LocalSettings.php</code> verhindert werden.<ref>Siehe https://www.mediawiki.org/wiki/Topic:U4dj6u0g7zkvhijl</ref>
 +
 +
=== 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'
  
 
-----
 
-----

Aktuelle Version vom 30. Mai 2024, 08:22 Uhr

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'