Debian MediaWiki

Aus Wiki
Zur Navigation springen Zur Suche springen

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

Voraussetzungen

apt-get update
apt-get install imagemagick git

Ab Version 1.26 wird Composer benötigt.

cd /usr/local/bin
wget -cO - https://getcomposer.org/composer-stable.phar > composer
chmod +x composer
composer install --no-dev


Mediwiki

Die aktuelle Version 1.34 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_34 origin/REL1_34

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
cd /var/www/mediawiki/extensions/SyntaxHighlight_GeSHi
git checkout REL1_34
cd /var/www/mediawiki/extensions/WikiEditor
git checkout REL1_34
cd /var/www/mediawiki/extensions/VisualEditor
git checkout REL1_34

Skins

cd /var/www/mediawiki/skins
git clone https://git.wikimedia.org/git/mediawiki/skins/Vector.git
cd /var/www/mediawiki/skins/Vector
git checkout REL1_34


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.

Debian Mediawiki Version.png


Navigationsleiste anpassen


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. Hinweis: Ab Version 1.26 wird Composer benötigt. Details siehe Installation

cd /var/www/mediawiki
git pull
git checkout -b REL1_xy origin/REL1_xy

Für alle skins wiederholen:

cd /var/www/mediawiki/skins/NAME_OF_SKIN
git pull
git checkout -b REL1_xy origin/REL1_xy

Für alle exgtensions wiederholen:

cd /var/www/mediawiki/skins/NAME_OF_EXTENSION
git pull
git checkout -b REL1_xy origin/REL1_xy

evtl. Composer aktualisieren:

cd /usr/local/bin
wget -cO - https://getcomposer.org/composer-stable.phar > composer

Update der Wiki Komponenten mittels Composer:

composer update--no-dev


Update der Datenbank:

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