Debian MediaWiki: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Installation von 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.
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:'''
'''Voraussetzung:'''
Zeile 9: Zeile 9:


==Installation==
==Installation==
===Voraussetzungen===
  apt-get update
  apt-get update
  apt-get install imagemagick
  apt-get install imagemagick git


  mkdir -p /usr/local/src/mediawiki
Ab Version 1.26 wird Composer benötigt.
  cd /usr/local/src/mediawiki
  cd /usr/local/bin
Download der aktuellsten Version von der Mediawiki-Seite: http://www.mediawiki.org/wiki/Download (z.B. Mediawiki 1.16.0):
wget -cO - https://getcomposer.org/composer-stable.phar > composer
  wget http://download.wikimedia.org/mediawiki/1.16/mediawiki-1.16.0.tar.gz
chmod +x composer
Entpacken:
composer install --no-dev
  tar xvfz mediawiki-1.16.0.tar.gz
 
Verschieben auf den Webserver:
 
  mv mediawiki-1.16.0 /var/www/mediawiki
===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:
Apache Konfigurationsdatei anlegen:
  vi /etc/apache2/conf.d/mediawiki.conf
  vi /etc/apache2/conf.d/mediawiki.conf
Folgende Zeilen einfügen:
Folgende Zeilen einfügen:
*Apache2.2:
  Alias /wiki /var/www/mediawiki
  Alias /wiki /var/www/mediawiki
   
   
Zeile 36: Zeile 64:
  <Directory /var/www/mediawiki/config>
  <Directory /var/www/mediawiki/config>
         Options -FollowSymLinks
         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
         AllowOverride None
  </Directory>
  </Directory>
Zeile 42: Zeile 93:
  Alias /wiki /var/www/mediawiki
  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.
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==
==Inbetriebnahme und Konfiguration==
Zeile 50: Zeile 100:


Webbrowser starten.
Webbrowser starten.
Adresse http://IP_des_Server/'''''mediawiki'''''/config eingeben
Adresse http://IP_des_Server/'''''mediawiki''''' eingeben
 
Es sollte die Mediawiki Konfigurationsseite erscheinen.
Folgender Konfigurationsbildschirm erscheint:
Folgende Schritte durchführen:
[[Bild:Debian_Mediawiki.png]]
*Installationssprache und Wikisprache einstellen (DE-Deutsch); weiter
 
*Prüfung der Installationsumgebung sollte keine Probleme ausgeben; weiter
 
*Mit der Datenbank verbinden
Folgende Einstellungen vornehmen:
**Datenbanksystem: MySQL
Site Name: beliebig - z.B. Wiki
**Datenbankserver: localhost
Contact email (Wiki Kontakt): gültige emailadresse z.B. wiki@domain.org  (evtl. alias in Postfix einrichten)
**Datenbankname: wikidb
Language: Sprache auswählen - z.B. de - Deutsch
**Datenbanktabellenpräfix: "" (leerstring)
Copyright/licence: Lizenz je nach perönlichem Geschmack einstellen
**Name des Datenbankbenutzers: root
SysOp Account: Name und Paßwort des Wiki-Admins eingenen (z.B. WikiSysOP)
**Passwort Datenbankbenutzer: '''MYSQL_ROOT_PWD'''
Object Caching: No Cacheing
**weiter
Sämtliche Email-Optionen: Enabled
*Einstellungen zur Datenbank
MySQL-Server: localhost
**Dasselbe Datenbankkonto wie während des Installationsvorgangs verwenden: deaktivieren
Database Name: wikidb
**Name des Datenbankbenutzers: wikiuser
DB Username: wikiuser
**Passwort Datenbankbenutzer: '''WIKIUSER_PWD'''
DB Password: beliebiges Passwort
**Speicherengine: InnoDB
**Datenbankzeichensatz: binär
Use Superuser Account: ja (abgehakt)
**weiter
Superuser: root
*Name
Superuser Password: '''''root_pwd'''''  (siehe SQL-Server)
**Name des Wiki: Wiki
**Name des Projektnamensraums: Entspricht dem Namen des Wikis: Wiki
Databse Table Prefix: leer lassen
**Administratorkonto Benutzername: WikiSysop
Storage Engine: InnoDB
**Passwort: '''WikiSysop_PWD'''
Database Character: MySQL 4.1/5.0 UTF-8
**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


Button '''''Install Mediawiki''''' am Ende der Webseite anwählen.
Das heruntergleadene File LocalSettings.php auf den Server ins Verzeichnis /var/www/mediawiki/ transferieren (z.B. mittels WinSCP).
Nach erfolgreicher Installation (kann einige Minuten dauern), erscheint eine Seite, auf der keinerlei Fehler angezeigt werden sollten.
Konfigutationsfile schützen:
 
  chmod 640 /var/www/mediawiki/LocalSettings.php
Folgenden Befehl eingeben:
chown www-data:www-data /var/www/mediawiki/LocalSettings.php
  mv /var/www/mediawiki/config/LocalSettings.php /var/www/mediawiki/




Zeile 89: Zeile 159:


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.
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==
==Feintuning==
Einstellungen werden in der zentralen Konfigurationsdatei /var/www/mediawiki/LocalSettings.php vorgenommen.
Einstellungen werden in der zentralen Konfigurationsdatei /var/www/mediawiki/LocalSettings.php vorgenommen.
  vi /var/www/mediawiki/LocalSettings.php
  vi /var/www/mediawiki/LocalSettings.php


Um Bilder oder sonstige Dateien im Wiki verwenden zu können, muss der Upload freigeschaltet werden:
===Extensions===
  $wgEnableUploads = true;
#WikiEditor
  $wgCheckFileExtensions = true;
# Enables use of WikiEditor by default but still allow users to disable it in preferences
  $wgStrictFileExtensions= true;
  $wgDefaultUserOptions['usebetatoolbar'] = 1;
  $wgFileExtensions = array('png', 'gif', 'jpg', 'svg', 'jpeg', 'doc', 'xls', 'mpp', 'pdf');
  $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();


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;


===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
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/'''''logo.png'''''
  chown www-data:www-data /var/www/mediawiki/images/'''''favicon.ico'''''
  chown www-data:www-data /var/www/mediawiki/images/'''''favicon.ico'''''
Logo und Favicon einbinden:
vi /var/www/mediawiki/LocalSettings.php
Das Logo wird mit der Variable $wgLogo bestimmt:
Das Logo wird mit der Variable $wgLogo bestimmt:
  $wgLogo = "/wiki/images/'''''logo.png'''''";
  $wgLogo = "/wiki/images/'''''logo.png'''''";
Zeile 116: Zeile 193:




==Optional: Neues Skin und Bearbeiten Leiste==
==Optional: Virtualhost==
Mit Version 1.16 wurde ein neuer Skin eingeführt, den Wikipedia als neuen Standardskin verwendet. Zusätzlich mit diesem Skin wurden unter der sog. Usability-Initiative eine neue Bearbeiten-Werkzeugleiste eingeführt, die das Bearbeiten von Artikeln vereinfacht. Beide Neuerungen sind relativ einfach umsetzbar. Für die erweiterte Bearbeiten-Leiste ist die Installation einer Extension erforderlich.
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 [[Debian_OpenSSL#Optional: Wildcard Zertifikat|Wildcard Zertifikat]] zu verwenden.
 
  vi /etc/apache2/sites-available/wiki_http.conf
===Neue Bearbeiten Leiste===
 
[[Datei:Mediawiki Bearbeiten.png]]
 
cd /usr/local/src/mediawiki
wget http://upload.wikimedia.org/ext-dist/UsabilityInitiative-MW1.16-r74799.tar.gz
tar -xzf UsabilityInitiative-MW1.16-r74799.tar.gz -C /var/www/mediawiki/extensions
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
 
 
===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';


 
===HTTP===
==Virtualhost==
*Apache2.2
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 [[Debian_OpenSSL#Optional: Wildcard Zertifikat|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  
Folgende Zeilen einfügen. Dabei '''''domain.org''''' mit der gewünschten Domain ersetzen  
  <VirtualHost *:80>
  <VirtualHost *:80>
Zeile 169: Zeile 216:
  </VirtualHost>
  </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
  vi /etc/apache2/sites-enabled/wiki_https.conf
*Apache2.2
Folgende Zeilen einfügen. Dabei '''''wiki.domain.org''''' mit der gewünschten Domain ersetzen
Folgende Zeilen einfügen. Dabei '''''wiki.domain.org''''' mit der gewünschten Domain ersetzen
  <VirtualHost *:443>
  <VirtualHost *:443>
Zeile 186: Zeile 252:
         AllowOverride None
         AllowOverride None
     </Directory>
     </Directory>
     <Directory /var/www/mediawiki/images>
    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
         Options -FollowSymLinks
         AllowOverride None
         AllowOverride None
Zeile 194: Zeile 276:
     SSLEngine on
     SSLEngine on
  </VirtualHost>
  </VirtualHost>


Rewrite-Regel:
Rewrite-Regel:
Zeile 218: Zeile 301:




==Angreifer abwehren==
==Optional: Angreifer abwehren==
Um Angreifer, die versuchen Passwörter zu knacken auszusperren siehe Anleitung [[Debian_Iptables#Mediawiki|Fail2ban]]
Um Angreifer, die versuchen Passwörter zu knacken auszusperren siehe Anleitung [[Debian_Iptables#Mediawiki|Fail2ban]]
==Spezialseiten==
===Version anzeigen===
Die installierte Version der Mediawiki incl. aller aktivierter Extensions kann über die Seite /Spezial:Version angezeigt werden.
[[Datei:Debian Mediawiki Version.png]]
===Navigationsleiste anpassen===
* 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. 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

Aktuelle Version vom 1. Juni 2020, 07:53 Uhr

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