MediaWiki konfigurieren: Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
 
(38 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Installation MediaWiki siehe [[MediaWiki installieren (Debian)]]
==Einrichtung von ShortURLs==
Gut funktionierender '''MediaWiki Short-URL Builder''' siehe [http://shorturls.redwerks.org/ 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):
<syntaxhighlight lang="apache">
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]
</syntaxhighlight>
Anpassungen in der LocalSettings.php:<syntaxhighlight lang="php">
$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgEnableUploads  = true;
$wgGenerateThumbnailOnParse = false;
</syntaxhighlight>
==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 <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.


Navigationsleiste anpassen: [[MediaWiki:Sidebar]]
Navigationsleiste anpassen: [[MediaWiki:Sidebar]]
== Footer ==
== Footer ==
Links auf Datenschutz und Impressum aus dem Footer-Bereich entfernen:  
Links auf Datenschutz und Impressum aus dem Footer-Bereich entfernen:  
Zeile 14: Zeile 61:
* Anzahl Seitenabrufe: [[MediaWiki:Viewcount]]
* Anzahl Seitenabrufe: [[MediaWiki:Viewcount]]


== 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 <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:
# 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 ==
== 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):
File-Caching akivieren (Erstellung von statischen HTML-Dateien):
 
* Neues MediaWiki-Unterverzeichnis, z. B. "filecache" anlegen (Directory-Owner: www-data).
* Neues MediaWiki-Unterverzeichnis, z. B. "filecache" anlegen.
* LocalSettings.php erweitern um:
* LocalSettings.php erweitern um:


Zeile 27: Zeile 152:




=== 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'''
<syntaxhighlight lang="php">
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
</syntaxhighlight>
'''MediaWiki ≥ 1.25'''
<syntaxhighlight lang="php">
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
</syntaxhighlight>
== Backups erstellen ==
=== SQL-Dump der Datenbank ===
Vgl. [[MariaDB (Debian)]]
=== XML-Dump der Seiten ===
<syntaxhighlight lang="bash">
sudo -u www-data php dumpBackup.php --full > /var/backups/<dumpfilename>.xml
</syntaxhighlight>
== 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 [[MediaWiki konfigurieren#HTML-Cache aktualisieren|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 <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:MediaWiki]]
[[Category:Linux]]
[[Kategorie:MediaWiki]]

Aktuelle Version vom 4. September 2022, 15: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.