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 die letzte, stabile Version zum Einsatz.
Voraussetzung:
→ Webserver → SQL-Server
Installation
apt-get update apt-get install imagemagick git
Die aktuelle Version 1.24 von Mediawiki wird mittels git heruntergeladen:
cd /var/www git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git mediawiki cd mediawiki git checkout -b REL1_24 origin/REL1_24
Extensions:
cd /var/www/mediawiki/extensions git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SyntaxHighlight_GeSHi.git git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/WikiEditor.git git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Configure.git cd /var/www/mediawiki/extensions/SyntaxHighlight_GeSHi git checkout REL1_24 cd /var/www/mediawiki/extensions/WikiEditor git checkout REL1_24 cd /var/www/mediawiki/extensions/VisualEditor git checkout REL1_24 cd /var/www/mediawiki/extensions/Configure git checkout REL1_24
Skins
cd /var/www/mediawiki/skins git clone https://git.wikimedia.org/git/mediawiki/skins/Vector.git git clone https://git.wikimedia.org/git/mediawiki/skins/MonoBook.git git clone https://git.wikimedia.org/git/mediawiki/skins/Modern.git cd /var/www/mediawiki/skins/Vector git checkout REL1_24 cd /var/www/mediawiki/skins/Monobook git checkout REL1_24 cd /var/www/mediawiki/skins/Modern git checkout REL1_24
Eigentümerrechte anpassen:
chown -R www-data:www-data mediawiki
Apache Konfigurationsdatei anlegen:
vi /etc/apache2/conf.d/mediawiki.conf
Folgende Zeilen einfügen:
- Apache2.2:
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>
- Apache2.4:
Alias /wiki /var/www/mediawiki <Directory /var/www/mediawiki/> Options +FollowSymLinks AllowOverride All Require all granted </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 eingeben Es sollte die Mediawiki Konfigurationsseite erscheinen. Folgende Schritte durchführen:
- Installationssprache und Wikisprache einstellen (DE-Deutsch); weiter
- Prüfung der Installationsumgebung sollte keine Probleme ausgeben; weiter
- Mit der Datenbank verbinden
- Datenbanksystem: MySQL
- Datenbankserver: localhost
- Datenbankname: wikidb
- Datenbanktabellenpräfix: "" (leerstring)
- Name des Datenbankbenutzers: root
- Passwort Datenbankbenutzer: MYSQL_ROOT_PWD
- weiter
- Einstellungen zur Datenbank
- Dasselbe Datenbankkonto wie während des Installationsvorgangs verwenden: deaktivieren
- Name des Datenbankbenutzers: wikiuser
- Passwort Datenbankbenutzer: WIKIUSER_PWD
- Speicherengine: InnoDB
- Datenbankzeichensatz: binär
- weiter
- Name
- Name des Wiki: Wiki
- Name des Projektnamensraums: Entspricht dem Namen des Wikis: Wiki
- Administratorkonto Benutzername: WikiSysop
- Passwort: WikiSysop_PWD
- Emailadresse: Email Adresse Admin
- weiter
- Optionen
- Profil der Benutzerberechtigungen: Erstellung eines Benutzerkontos erforderlich (Editieren nur nach Anmeldung)
- Lizenz: Keine Lizenzangabe in der Fußzeile
- Ausgehende E-Mails ermöglichen: aktiviert
- E-Mail-Adresse für Antworten:Absenderadresse für Mails vom Wikisystem
- E-Mail-Versand von Benutzer zu Benutzer aktivieren: aktiviert
- Benachrichtigungen zu Änderungen an Benutzerdiskussionsseiten ermöglichen: deaktiviert
- Benachrichtigungen zu Änderungen an Seiten auf der Beobachtungsliste ermöglichen: deaktiviert
- E-Mail-Authentifizierung ermöglichen: aktiviert
- Benutzeroberflächen: Alle Skins aktivieren; Vector als Standard auswählen
- Erweiterungen: alle aktivieren
- Das Hochladen von Dateien ermöglichen: aktiviert
- Verzeichnis für gelöschte Dateien:/var/www/mediawiki/images/deleted
- URL des Logos:$wgScriptPath/resources/assets/wiki.png
- „InstantCommons“ aktivieren: deaktiviert
- Einstellungen für die Zwischenspeicherung von Objekten:Kein Objektcaching
- weiter
- Installieren: Weiter
- Alle Schritte sollten ohne Fehler erledigt werden. Weiter
- Download der Konfigurationsdatei LocalSettings.php wird automatisch gestartet. Dieses File Lokal speichern
Das heruntergleadene File LocalSettings.php auf den Server ins Verzeichnis /var/www/mediawiki/ transferieren (z.B. mittels WinSCP). Konfigutationsfile schützen:
chmod 640 /var/www/mediawiki/LocalSettings.php chown www-data:www-data /var/www/mediawiki/LocalSettings.php
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
Extensions
#WikiEditor # 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; #Configure Extension require_once "$IP/extensions/Configure/Configure.php"; efConfigureSetup(); $wgConfigureEditableSettings = array();
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";
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-available/wiki_http.conf
HTTP
- Apache2.2
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>
- Apache2.4
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 Require all granted </Directory> # some directories must be protected <Directory /var/www/mediawiki/config> Options -FollowSymLinks AllowOverride None </Directory> </VirtualHost>
HTTPS
vi /etc/apache2/sites-enabled/wiki_https.conf
- Apache2.2
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> SSLCertificateKeyFile /etc/ssl/CA/key/wildcard-key.pem SSLCertificateFile /etc/ssl/CA/certs/wildcard-cert.pem SSLEngine on </VirtualHost>
- Apache2.4
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 Require all granted </Directory> # some directories must be protected <Directory /var/www/mediawiki/config> 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.
- Als User WikiSysop einloggen.
- Die Seite http://Adresse_Mediawiki/MediaWiki:Sidebar aufrufen.
- Seite bearbeiten
WikiSysop Passwort ändern
Falls das Passwort des Users WikiSysop vergessen wurde, kann dieses auf folgende Weise neu gesetzt werden (mittels Putty auf dem Server als user root einloggen):
php /var/www/mediawiki/maintenance/changePassword.php --user=WikiSysop --password=PWD
Update
Update innerhalb der aktuellen Version, um Fehler oder Sicherheitsprobleme zu beheben (z.B. 1.24.1 -> 1.24.2):
cd /var/www/mediawiki git pull php maintenance/update.php
Upgrade von Vorversion
Ursprünglich wurde SVN als Versionsverwatlungstool eingesetzt. Neuere Versionen werden nur noch via GIT zur Verfügung gestellt.
GIT Upgrade
Wenn Mediawiki mit Hilfe von GIT wie oben beschrieben installiert wurde, ist der Update auf eine neue Version (z.B. von 1.24 auf 1.26) relativ einfach.
cd /var/www/mediawiki git pull git checkout -b REL1_xy origin/REL1_xy php maintenance/update.php
Upgrade von SVN
- Sichern der aktuellen Version und entfernen der SVN Versionsverwaltungsfiles:
cd /var/www find mediawiki -name ".svn" -type d -exec rm -rf {} \; mv mediawiki mediawiki_old
- Installation der aktuellen Version incl. der Extensions und Skins wie oben beschrieben (vorhandene Datenbank und User/Passwort aus mediawiki_old/LocalSettings.php auslesen und bei der grafischen Einrichtung via Webbrowser angeben)
- Kopieren der images
cp -rup mediawiki_old/images/* mediawiki/images
- maintenance/update.php