Debian MediaWiki
Installation von Mediawiki
Mediawiki ist das Wikisystem hinter www.Wikipedia.de. Obwohl Mediawiki in den Debian-Repositories enthalten ist, wird diese hier nicht verwendet, sondern die letzte stabile Version von der Mediawiki Homepage (http://www.mediawiki.org). Die Installation ist kaum aufwändiger als via apt-get, dafür kommt Version 1.16.0 (Donwload Version) anstatt 1.12.0-2 (Debian Version)zum Einsatz. Die Download-Version bietet zusätzlich den neuen Skin, der auch auf Wikipedia zum Einsatz kommt.
Voraussetzung:
→ Webserver → SQL-Server → Subversion
Installation
apt-get update apt-get install imagemagick
Die aktuelle Version (1.16wmf4, die auch von Wikipedia.de verwendet wird) von Mediawiki wird mittels Subversion heruntergeladen:
cd /var/www svn co http://svn.wikimedia.org/svnroot/mediawiki/branches/wmf/1.16wmf4/
Umbenennen:
mv 1.16wmf4 mediawiki
Eigentümerrechte anpassen:
chown -R www-data:www-data mediawiki
Apache Konfigurationsdatei anlegen:
vi /etc/apache2/conf.d/mediawiki.conf
Folgende Zeilen einfügen:
Alias /wiki /var/www/mediawiki <Directory /var/www/mediawiki/> Options +FollowSymLinks AllowOverride All order allow,deny allow from all </Directory> # some directories must be protected <Directory /var/www/mediawiki/config> Options -FollowSymLinks AllowOverride None </Directory> <Directory /var/www/mediawiki/images> Options -Indexes AllowOverride None </Directory>
Die Zeile
Alias /wiki /var/www/mediawiki
evtl. anpassen. Mit Hilfe des Alias ist das Wiki nicht nur unter der Adresse http://IP_des_Server/mediawiki erreichbar, sondern auch unter http://IP_des_Server/wiki.
Inbetriebnahme und Konfiguration
Webserver neu starten:
/etc/init.d/apache2 restart
Webbrowser starten. Adresse http://IP_des_Server/mediawiki/config eingeben
Folgender Konfigurationsbildschirm erscheint:
Folgende Einstellungen vornehmen:
Site Name: beliebig - z.B. Wiki Contact email (Wiki Kontakt): gültige emailadresse z.B. wiki@domain.org (evtl. alias in Postfix einrichten) Language: Sprache auswählen - z.B. de - Deutsch Copyright/licence: Lizenz je nach perönlichem Geschmack einstellen SysOp Account: Name und Paßwort des Wiki-Admins eingenen (z.B. WikiSysOP) Object Caching: No Cacheing Sämtliche Email-Optionen: Enabled MySQL-Server: localhost Database Name: wikidb DB Username: wikiuser DB Password: beliebiges Passwort Use Superuser Account: ja (abgehakt) Superuser: root Superuser Password: root_pwd (siehe SQL-Server) Databse Table Prefix: leer lassen Storage Engine: InnoDB Database Character: MySQL 4.1/5.0 UTF-8
Button Install Mediawiki am Ende der Webseite anwählen. Nach erfolgreicher Installation (kann einige Minuten dauern), erscheint eine Seite, auf der keinerlei Fehler angezeigt werden sollten.
Folgenden Befehl eingeben:
mv /var/www/mediawiki/config/LocalSettings.php /var/www/mediawiki/
Funktionstest
Im Webbrowser die Hauptseite des neu installierten WIKI-Systems aufrufen: http://IP_des_Server/wiki
Wenn die Hauptseite erscheint, dann ist die Installation und Konfiguration abgeschlossen. Anleitungen und Tips&Tricks zum Erstellen von Wiki-Seiten gibt es zahlreiche Anleitungen im Internet.
Feintuning
Einstellungen werden in der zentralen Konfigurationsdatei /var/www/mediawiki/LocalSettings.php vorgenommen.
vi /var/www/mediawiki/LocalSettings.php
Edit nur anch Login=
Standardmäßig ist jeder schreibberechtigt - auch ohne vorherige Anmeldung/Login. Um nur eingeloggten Usern Schreibrechte zu erteilen, folgendes am Ende von LocalSettings.php einfügen:
#Prevent non logged-in users from editing $wgGroupPermissions['*']['edit'] = false;
Upload aktivieren
Um Bilder oder sonstige Dateien im Wiki verwenden zu können, muss der Upload freigeschaltet werden:
$wgEnableUploads = true; $wgCheckFileExtensions = true; $wgStrictFileExtensions= true; $wgFileExtensions = array('png', 'gif', 'jpg', 'svg', 'jpeg', 'doc', 'xls', 'mpp', 'pdf');
Logo und Favicon
In der linken oberen Ecke des Wiki's kann ein beliebiges Logo angezeigt werden. Das Logo muss auf dem Server in Form von jpg- bzw. png- Bildern hinterlegt werden. Desweiteren kann ein benutzerdefiniertes FavIcon im Browser angezeigt werden. Dieses wird im Browser in der Adressleiste und in den Favoriten angezeigt. Zunächst das Logo z.B. logo.png und favicon.ico mittels WinSCP auf den Server ins Verzeichnis /var/www/mediawiki/images/ transferieren und die Eigentümerrechte setzen
chown www-data:www-data /var/www/mediawiki/images/logo.png chown www-data:www-data /var/www/mediawiki/images/favicon.ico
Das Logo wird mit der Variable $wgLogo bestimmt:
$wgLogo = "/wiki/images/logo.png";
Das Favicon wird mit der Variable $wgFavicon bestimmt:
$wgFavicon = "/wiki/images/favicon.ico";
User CSS aktivieren
Mittels CSS (Cascading Style Sheets) kann das Erscheinungsbild von Mediawiki angepasst werden. Dies funktioniert einerseits global fürs komplette Wiki (nur von Admins möglich), andererseits kann aber auch jeder User selbst ein CSS anlegen, um "seine" Änderungen nach dem Login zu sehen. Um benuterdefiniertes CSS zu ermöglichen, muss folgende Variable gesetzt werden:
$wgAllowUserCss=true;
Optional: Neues Skin und Bearbeiten Leiste
Mit Version 1.16 wurde ein neuer Skin (Vector) eingeführt, den Wikipedia als neuen Standardskin verwendet. Zusätzlich mit diesem Skin wurden unter der sog. Usability-Initiative eine neue Bearbeiten-Werkzeugleiste (Wikieditor) eingeführt, die das Bearbeiten von Artikeln vereinfachen soll. Beide Neuerungen sind relativ einfach umsetzbar. Für die erweiterte Bearbeiten-Leiste ist die Installation einer Extension erforderlich. Die Usability Extension bietet zusätzliche Erweiterungen für den Vector Skin.
Vector Skin
Jeder User kann selbts den Skin einstellen, der verwendet werden soll (Einstellungen/Aussehen). Hier kann einfach der neue Skin Vector aktiviert werden. D.h. jeder eingeloggte User kann seinen egenen Lieblingsskin verwenden. Der Standardskin, der immer dann verwendet wird, wenn kein User eingeloggt ist, bzw. für alle neu angelegten User, wird via Localsettings.php eingestellt.
vi /var/www/mediawiki/LocalSettings.php
Defaultskin ändern:
$wgDefaultSkin = 'vector';
Usability Extension
Die Usability Extension wurde bereits bei der Installation mit installiert. Es muss lediglich noch aktiviert werden, was im folgenden beschrieben wird.
Extension aktivieren:
vi /var/www/mediawiki/LocalSettings.php
Folgende Ergänzungen einfügen (Vor der Zeile # If PHP's memory limit is very low, some operations may fail.):
// UsabilityInitiative/Vector require_once("$IP/extensions/UsabilityInitiative/Vector/Vector.php"); $wgVectorModules['editwarning']['global'] = false; // Don't enable EditWarning globally $wgVectorModules['editwarning']['user'] = true; // Allow users to enable EditWarning in their preferences $wgVectorUseSimpleSearch = true; // Need this as well for SimpleSearch $wgVectorUseIconWatch = true; //Enable star icon to add/remove page from watchlist // UsabilityInitiative/WikiEditor require_once("$IP/extensions/UsabilityInitiative/WikiEditor/WikiEditor.php"); $wgDefaultUserOptions['usebetatoolbar-cgd'] = 1; // Default user preference to use toolbar dialogs $wgWikiEditorModules['toolbar']['global'] = true; // Enable the WikiEditor toolbar for everyone $wgWikiEditorModules['toolbar']['user'] = false; // Don't Allow users to turn the WikiEditor toolbar on/off individually
Optional: Virtualhost
Mittels Apache2 Virtualhosts ist es möglich, das Wiki via wiki.domain.org aufzurufen. Dabei wird je ein Virtualhost für http und https erstellt. Durch eine Rewrite-Regel wird automatisch auf https:// gewechselt, wenn der Login Bildschirm angewählt wird und vorher eine HTTP-Verbindung bestand. Für das SSL-Zertifikat empfiehlt sich ein Wildcard Zertifikat zu verwenden.
vi /etc/apache2/sites-enabled/wiki_http.conf
Folgende Zeilen einfügen. Dabei domain.org mit der gewünschten Domain ersetzen
<VirtualHost *:80> DocumentRoot /var/www/mediawiki ServerName wiki.domain.org <Directory /var/www/mediawiki/> Options +FollowSymLinks AllowOverride All order allow,deny allow from all </Directory> # some directories must be protected <Directory /var/www/mediawiki/config> Options -FollowSymLinks AllowOverride None </Directory> </VirtualHost>
vi /etc/apache2/sites-enabled/wiki_https.conf
Folgende Zeilen einfügen. Dabei wiki.domain.org mit der gewünschten Domain ersetzen
<VirtualHost *:443> DocumentRoot /var/www/mediawiki ServerName wiki.domain.org <Directory /var/www/mediawiki/> Options +FollowSymLinks AllowOverride All order allow,deny allow from all </Directory> # some directories must be protected <Directory /var/www/mediawiki/config> Options -FollowSymLinks AllowOverride None </Directory> <Directory /var/www/mediawiki/images> Options -FollowSymLinks AllowOverride None </Directory> SSLCertificateKeyFile /etc/ssl/CA/key/wildcard-key.pem SSLCertificateFile /etc/ssl/CA/certs/wildcard-cert.pem SSLEngine on </VirtualHost>
Rewrite-Regel:
vi /var/www/mediawiki/.htaccess
Folgende Zeilen einfügen:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.+) /wiki/index.php?title=$1 [L,QSA] RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} ^/index.php$ RewriteCond %{QUERY_STRING} ^title=Spezial:Anmelden RewriteCond %{REQUEST_METHOD} ^GET$ RewriteRule ^(.*)$ https://%{SERVER_NAME}/wiki/$1 [R]
Zum Schluss muss noch die Mediwiki-Konfiguration angepasst werden:
vi /var/www/mediawiki/LocalSettings.php
Folgende Parameter ändern/einfügen:
$wgScriptPath = "/wiki"; $wgArticlePath = "/$1";
Apache neu starten:
/etc/init.d/apache2 restart
Optional: Angreifer abwehren
Um Angreifer, die versuchen Passwörter zu knacken auszusperren siehe Anleitung Fail2ban
Spezialseiten
Version anzeigen
Die installierte Version der Mediawiki incl. aller aktivierter Extensions kann über die Seite /Spezial:Version angezeigt werden.
CSS
Mittels CSS (Cascading Style Sheets) kann das Erscheinungsbild von Mediawiki angepasst werden. Dies funktioniert einerseits global fürs komplette Wiki (nur von Admins möglich), andererseits kann aber auch jeder User selbst ein CSS anlegen, um "seine" Änderungen nach dem Login zu sehen. Im folgenden soll exemplarisch die Schriftgröße Global (für alle User, die keine eigene Definition der Schriftgröße festlegen) geändert werden. Dies ist besonders empfehlenswert für den Vector Skin, der standardmäßig eine kleinere Schriftart verwendet, als der ehemalige Standardskin Monobook.
Global CSS
Adminuser (WikiSysop) einloggen Adresse "http ... /MediaWiki:skin.css" z.B. "https://wiki.domain.org/MediaWiki:Vector.css" Bearbeiten anklicken Folgende Zeile einfügen:
#bodyContent { font-size:0.90em; }
um die Schriftgröße auf 90% (0.90em) der Standardschriftart setzen.
User CSS
Voraussetzung: User CSS ist aktiviert (siehe → hier).
Einloggen, um "sein" Stylesheet zu ändern. Adresse "http ... /Benutzer:User/skin.css" - z.B. "https://wiki.domain.org/Benutzer:Musermann/vector.css" eingeben Bearbeiten anklicken Folgende Zeile einfügen:
#bodyContent { font-size:0.85em; }
um die Schriftgröße auf 85% (0.85em) der Standardschriftart setzen.