MediaWiki konfigurieren: Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Installation MediaWiki siehe [[MediaWiki installieren (Debian)]]
Installation MediaWiki siehe [[MediaWiki installieren (Debian)]]
==Einrichtung von ShortURLs==
==Einrichtung von ShortURLs==
Gut funktionierender '''MediaWiki Short-URL Builder''' siehe [http://shorturls.redwerks.org/ shorturls.redworks.org].
Gut funktionierender '''MediaWiki Short-URL Builder''' siehe [http://shorturls.redwerks.org/ shorturls.redworks.org].


Zeile 11: Zeile 12:
'''Manuelle Einrichtung'''
'''Manuelle Einrichtung'''


Anpassungen an .htaccess (für das Root-Verzeichnis des Webservers):
Anpassungen an .htaccess (für das Root-Verzeichnis des Webservers) (veraltet):
 
Anpassungen an Site-Config-Datei (höhere Sicherheit):


<syntaxhighlight lang="apache">
<syntaxhighlight lang="apache">
RewriteEngine On RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L] RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]
RewriteEngine On  
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]  
RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]


RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f  
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d  
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]


RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f  
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d  
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
</syntaxhighlight>
</syntaxhighlight>


Zeile 31: Zeile 40:


==Logo und Theme anpassen==
==Logo und Theme anpassen==
Logo austauschen: Logodatei nach <code>wiki/skins/common/images/wiki.png</code> kopieren.
Logo sollte von der Größe her an Skin angepasst sein. Default: 135x135 px, Vector 160x160px?
 
Logodatei hochladen, z.B. nach <code>wiki/skins/logo.png</code>
 
LocalSettings.php erweitern:
$wgLogo             = "$wgStylePath/logo.png";
An der Stelle nochmal prüfen, womit <code>$wgStylePath</code> genau gefüllt ist.
 
== Navigation ==
== Navigation ==
Startseite definieren: In [[MediaWiki:Mainpage]] die neue Startseite eintragen.
Startseite definieren: In [[MediaWiki:Mainpage]] die neue Startseite eintragen.
Zeile 49: Zeile 65:
=== Voraussetzungen ===
=== Voraussetzungen ===


* MediaWiki-Plugin Visual Editor
* Diverse Standardpakete für PHP u. ä.
* Node.JS
* Node.JS
* Parsoid
* Parsoid
* MediaWiki-Plugin Visual Editor


=== Installation ===
=== Installation Note.JS und übrige Standardpakete ===
 
# apt-get install nodejs
# apt-get install php-curl php-fpm
 
=== Installation Parsoid ===
'''Anleitung:''' https://www.mediawiki.org/wiki/Parsoid/Setup#Ubuntu_.2F_Debian
 
 
Paketquellen um Repository für Parsoid erweitern. Zunächst Repository-Key hinzufügen:
 
# apt-key advanced --keyserver keys.gnupg.net --recv-keys 90E9F83F22250DD7
 
Anschließend Datei unter <code>/etc/apt/sources.list.d/</code> anlegen mit folgendem Inhalt:
 
deb https://releases.wikimedia.org/debian jessie-mediawiki main
 
'''Tipps zur Fehlerbehebung:''' https://www.mediawiki.org/wiki/Parsoid/Troubleshooting
 
=== Installation Visual Editor ===


Konfiguration von MediaWiki anpassen durch aktivieren der Extension:
Konfiguration von MediaWiki anpassen durch aktivieren der Extension:
Zeile 75: Zeile 111:
   // URL to the Parsoid instance                                                                                       
   // URL to the Parsoid instance                                                                                       
   // Use port 8142 if you use the Debian package                                                                       
   // Use port 8142 if you use the Debian package                                                                       
   'url' => 'http://localhost:8142'     # Hier kann der Localhost verwendet werden                                                                                     
   'url' => 'http://localhost:8142'         # Hier kann der Localhost verwendet werden                                                                                     
   // Parsoid "domain", see below (optional)                                                                             
   // Parsoid "domain", see below (optional)                                                                             
   // 'domain' => 'localhost',                                                                                           
   // 'domain' => 'localhost',                                                                                           
Zeile 97: Zeile 133:


=== Counter deaktivieren ===
=== Counter deaktivieren ===
'''MediaWiki ≤ 1.25'''
  nano /var/www/wiki/LocalSettings.php
  nano /var/www/wiki/LocalSettings.php
Am Ende folgende Zeile hinzufügen:
Am Ende folgende Zeile hinzufügen:
Zeile 118: Zeile 155:
Wenn z. B. Kategorienseiten für nicht eingeloggte User nicht alle Inhalte enthalten, dann kann es sein, dass der User eine Kategorienseite mit altem Inhalt aus dem HTML-Cache erhält.
Wenn z. B. Kategorienseiten für nicht eingeloggte User nicht alle Inhalte enthalten, dann kann es sein, dass der User eine Kategorienseite mit altem Inhalt aus dem HTML-Cache erhält.


Um diese zu aktualisieren, kann man z. B. im Verzeichnis "filecache" die zugehörigen HTML-Dateien entfernen.
Um diese zu aktualisieren, kann man z. B. im MediaWiki-Unterverzeichnis "filecache" die zugehörigen HTML-Dateien entfernen.


== Syntaxhighlighting aktivieren ==
== Syntaxhighlighting aktivieren ==
Zeile 156: Zeile 193:
  # find -iname '*kategorie*' -exec rm {} +
  # find -iname '*kategorie*' -exec rm {} +


== Images ermöglichen ==
== Erweiterung Kategorienbaum ==
https://www.mediawiki.org/wiki/Extension:CategoryTree
 
== Bilduploads ermöglichen ==
=== Voraussetzungen ===
=== Voraussetzungen ===
Das Paket ImageMagic muss installiert sein:
Das Paket ImageMagic muss installiert sein:
Zeile 172: Zeile 212:
  $wgGenerateThumbnailOnParse = true;
  $wgGenerateThumbnailOnParse = true;


== Erweiterung Kategorienbaum ==
== Upload Dateigröße ==
https://www.mediawiki.org/wiki/Extension:CategoryTree
Die Upload-Dateigröße wird primär durch <code>/etc/php/version/apache2/php.ini</code> festgelegt.
post_max_size = 8M
upload_max_filesize = 2M
Um dies z. B. auf 8 MB zu erhöhen wird am besten eine neue Config-Datei abgelegt unter <code>/etc/php/version/apache2/conf.d/99-myconfig.ini</code> mit folgendem Inhalt:
upload_max_filesize = 8M
Die o.g. Dateispeicherorte sind Debianspezifisch.


[[Category:Linux]]
[[Category:Linux]]
[[Kategorie:MediaWiki]]
[[Kategorie:MediaWiki]]

Aktuelle Version vom 4. September 2022, 14:24 Uhr

Installation MediaWiki siehe MediaWiki installieren (Debian)

Einrichtung von ShortURLs

Gut funktionierender MediaWiki Short-URL Builder siehe shorturls.redworks.org.

Grundlagen

Typischerweise werden ShortURLs für die URL http://www.domain.tld/wiki verwendet.

mediaWiki wird typischerweise in http://www.domain.tld/w (bzw. /var/www/w/) installiert.

Manuelle Einrichtung

Anpassungen an .htaccess (für das Root-Verzeichnis des Webservers) (veraltet):

Anpassungen an Site-Config-Datei (höhere Sicherheit):

RewriteEngine On 
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L] 
RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d 
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d 
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

Anpassungen in der LocalSettings.php:

$wgScriptPath = "/w"; 
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";

$wgEnableUploads  = true; 
$wgGenerateThumbnailOnParse = false;

Logo und Theme anpassen

Logo sollte von der Größe her an Skin angepasst sein. Default: 135x135 px, Vector 160x160px?

Logodatei hochladen, z.B. nach wiki/skins/logo.png

LocalSettings.php erweitern:

$wgLogo             = "$wgStylePath/logo.png";

An der Stelle nochmal prüfen, womit $wgStylePath genau gefüllt ist.

Navigation

Startseite definieren: In MediaWiki:Mainpage die neue Startseite eintragen.

Navigationsleiste anpassen: MediaWiki:Sidebar

Footer

Links auf Datenschutz und Impressum aus dem Footer-Bereich entfernen:

In den Seiten MediaWiki:Privacy und MediaWiki:Disclaimer nur einen Bindestrich "-" eintragen.

Texte im Footer anpassen:

Visual Editor

Voraussetzungen

  • Diverse Standardpakete für PHP u. ä.
  • Node.JS
  • Parsoid
  • MediaWiki-Plugin Visual Editor

Installation Note.JS und übrige Standardpakete

# apt-get install nodejs
# apt-get install php-curl php-fpm 

Installation Parsoid

Anleitung: https://www.mediawiki.org/wiki/Parsoid/Setup#Ubuntu_.2F_Debian


Paketquellen um Repository für Parsoid erweitern. Zunächst Repository-Key hinzufügen:

# apt-key advanced --keyserver keys.gnupg.net --recv-keys 90E9F83F22250DD7

Anschließend Datei unter /etc/apt/sources.list.d/ anlegen mit folgendem Inhalt:

deb https://releases.wikimedia.org/debian jessie-mediawiki main

Tipps zur Fehlerbehebung: https://www.mediawiki.org/wiki/Parsoid/Troubleshooting

Installation Visual Editor

Konfiguration von MediaWiki anpassen durch aktivieren der Extension:

# nano /var/www/w/LocalSettings.php

Inhalt:

require_once "$IP/extensions/VisualEditor/VisualEditor.php";                                                           

// Enable by default for everybody                                                                                     
$wgDefaultUserOptions['visualeditor-enable'] = 1;                                                                      

// Don't allow users to disable it                                                                                     
$wgHiddenPrefs[] = 'visualeditor-enable';                                                                              

// OPTIONAL: Enable VisualEditor's experimental code features                                                          
#$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;                                                        

$wgVirtualRestConfig['modules']['parsoid'] = array(                                                                    
  // URL to the Parsoid instance                                                                                       
  // Use port 8142 if you use the Debian package                                                                       
  'url' => 'http://localhost:8142'         # Hier kann der Localhost verwendet werden                                                                                    
  // Parsoid "domain", see below (optional)                                                                            
  // 'domain' => 'localhost',                                                                                          
  // Parsoid "prefix", see below (optional)                                                                           
  // 'prefix' => 'localhost'                                                                                          
);           

Konfiguration des Parsoid-Service:

# nano /etc/mediawiki/parsoid/settings.js

Inhalt:

'use strict';
exports.setup = function(parsoidConfig) {  
  parsoidConfig.setMwApi({ uri: 'https://domain.tld/w/api.php'});   # Hier muss eine von außen erreichbare Adresse stehen
  parsoidConfig.useSelser = true;  
};

Performance

Counter deaktivieren

MediaWiki ≤ 1.25

nano /var/www/wiki/LocalSettings.php

Am Ende folgende Zeile hinzufügen:

$wgDisableCounters = true;

HTML-Cache aktivieren

Erstellt statische HTML-Dateien für Wiki-Seiten.

Dabei findet Caching von HTML-Seiten jedoch nur für nicht eingeloggte User statt.

File-Caching akivieren (Erstellung von statischen HTML-Dateien):

  • Neues MediaWiki-Unterverzeichnis, z. B. "filecache" anlegen (Directory-Owner: www-data).
  • LocalSettings.php erweitern um:
$wgUseFileCache = true;
$wgFileCacheDirectory = "$IP/filecache";
$wgShowIPinHeader = false;


HTML-Cache aktualisieren

Wenn z. B. Kategorienseiten für nicht eingeloggte User nicht alle Inhalte enthalten, dann kann es sein, dass der User eine Kategorienseite mit altem Inhalt aus dem HTML-Cache erhält.

Um diese zu aktualisieren, kann man z. B. im MediaWiki-Unterverzeichnis "filecache" die zugehörigen HTML-Dateien entfernen.

Syntaxhighlighting aktivieren

Folgende Zeile am Ende in LocalSettings.php einfügen:

MediaWiki ≤ 1.24

require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";

MediaWiki ≥ 1.25

wfLoadExtension( 'SyntaxHighlight_GeSHi' );

Backups erstellen

SQL-Dump der Datenbank

Vgl. MariaDB (Debian)

XML-Dump der Seiten

sudo -u www-data php dumpBackup.php --full > /var/backups/<dumpfilename>.xml

Links in Kategorien-Seiten aktualisieren

Wenn Links in Kategorien-Seiten nicht aktuell sind, können diese mit einem Maintenance-Skript aktualisiert werden:

php maintenance/refreshLinks.php [starting_article]

Für nicht eingeloggte User kann es sein, dass dies nicht ausreicht, wenn ein HTML-Cache genutzt wird.

In diesem Falle kann es passieren, dass der User eine Kategorien-Seite mit altem Inhalt aus dem HTML-Cache erhält.

Korrektur vgl. Abschnitt HTML-Cache aktualisieren.

# find -iname '*kategorie*' -exec rm {} +

Erweiterung Kategorienbaum

https://www.mediawiki.org/wiki/Extension:CategoryTree

Bilduploads ermöglichen

Voraussetzungen

Das Paket ImageMagic muss installiert sein:

# apt-get install imagemagick

Konfiguration

Es muss im MediaWiki-Verzeichnis ein Unterverzeichnis "images" geben, auf welches der Webserver (z. B. Account www-data) Schreibzugriff hat.

Anpassungen der LocalSettings.php:

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
$wgGenerateThumbnailOnParse = true;

Upload Dateigröße

Die Upload-Dateigröße wird primär durch /etc/php/version/apache2/php.ini festgelegt.

post_max_size = 8M
upload_max_filesize = 2M

Um dies z. B. auf 8 MB zu erhöhen wird am besten eine neue Config-Datei abgelegt unter /etc/php/version/apache2/conf.d/99-myconfig.ini mit folgendem Inhalt:

upload_max_filesize = 8M

Die o.g. Dateispeicherorte sind Debianspezifisch.