OptiYummy-Update 1.23 auf 1.31: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 12: Zeile 12:
* Damit eine Domain (hier: optiyummy.eu) für das neue Wiki-System verwendet werden kann, darf sie nicht extern umgeleitet oder von anderen Anwendungen belegt sein! Dies ist über die Domain-Verwaltung des Webhosting-Paketes zu realisieren (interne Umleitung z.B. auf /.
* Damit eine Domain (hier: optiyummy.eu) für das neue Wiki-System verwendet werden kann, darf sie nicht extern umgeleitet oder von anderen Anwendungen belegt sein! Dies ist über die Domain-Verwaltung des Webhosting-Paketes zu realisieren (interne Umleitung z.B. auf /.
* Auf der Übersichtsseite zum Web-Hosting-Paket ist die Schaltfläche zum Starten des '''AppWizard''' nicht zu übersehen.
* Auf der Übersichtsseite zum Web-Hosting-Paket ist die Schaltfläche zum Starten des '''AppWizard''' nicht zu übersehen.
* Auf der STRATO-AppWizard-Seite werden zuerst die installierten eigenen Anwendungen aufgelistet. * Darunter findet man eine Liste der installierbaren Anwendungen, wozu an vorletzter Stelle "'''Wikis'''" gehören.  
* Auf der STRATO-AppWizard-Seite werden zuerst die installierten eigenen Anwendungen aufgelistet.  
* Darunter findet man eine Liste der installierbaren Anwendungen, wozu an vorletzter Stelle "'''Wikis'''" gehören.  
* Hier stand nur die MediaWiki Version 1.31.0-88 zum Installieren zur Verfügung. Als Voraussetzung wird die vorherige Umstellung auf die PHP-Version PHP7 genannt, welche bereits erfolgt war.
* Hier stand nur die MediaWiki Version 1.31.0-88 zum Installieren zur Verfügung. Als Voraussetzung wird die vorherige Umstellung auf die PHP-Version PHP7 genannt, welche bereits erfolgt war.
* Nach Wahl von '''Installieren''' erfolgt die Installation in 4 Schritten:
* Nach Wahl von '''Installieren''' erfolgt die Installation in 4 Schritten:
Zeile 258: Zeile 259:
* Die SQL-Dateien, die in der Erweiterung "HitCounters" enthalten sind, demonstrieren die SQL-Befehle, die ausgeführt werden müssen, bevor (!) Update.php in MediaWiki 1.26 ausgeführt wird, um die vorhandenen Daten beizubehalten.
* Die SQL-Dateien, die in der Erweiterung "HitCounters" enthalten sind, demonstrieren die SQL-Befehle, die ausgeführt werden müssen, bevor (!) Update.php in MediaWiki 1.26 ausgeführt wird, um die vorhandenen Daten beizubehalten.
* Update der Datenbank auf MediaWiki 1.26 oder höher werden alle Hitcounter-Daten von den alten Speicherorten entfernt, sofern diese dort noch vorhanden sind. Nur wenn man zuvor die Migration durchgeführt hat, sollte die Erweiterung weiterhin funktionieren!
* Update der Datenbank auf MediaWiki 1.26 oder höher werden alle Hitcounter-Daten von den alten Speicherorten entfernt, sofern diese dort noch vorhanden sind. Nur wenn man zuvor die Migration durchgeführt hat, sollte die Erweiterung weiterhin funktionieren!
Ursprünglich war geplant, die PageView-Funktionalität für OptiYummy mittels der HitCounter-Extension zu erhalten. Im Detail erschien dann jedoch der Aufwand dafür zu hoch und das Ergebnis zu ungewiss!
Ursprünglich war geplant, die PageView-Funktionalität einschließlich der bisherigen Historie für OptiYummy mittels der HitCounter-Extension zu erhalten. Im Detail erschien dann jedoch der Aufwand dafür zu hoch und das Ergebnis zu ungewiss. Deshalb wurde folgender Kompromiss gewählt:
* Kurz vor dem Überführen der Datenbank-Inhalte aus der alten in die neue MediaWiki-Version wird die Browser-Darstellung der Spezialseite "Beliebteste Seiten" genutzt, um daraus eine neue .html-Seite mit diesem archivierten Zustand zu erstellen (Siehe: [https://optiyummy.de/Systemhistorie-Seitenaufrufe_2008-2020.html '''Beliebteste Seiten - Archiv bis zum Zählerstand-Reset am 21.02.2020''']
* Nach Inbetriebnahme der neuen MediaWiki-Version wird dann noch die aktuelle HitCounter-Extension installiert, wodurch praktisch ein Reset aller Zählerstände erfolgt, aber die ursprüngliche Funktionalität wieder existiert.


== Sicherungskopie eines MediaWiki-Systems ==
== Sicherungskopie eines MediaWiki-Systems ==
Zeile 296: Zeile 299:
Danach standen im neuen Wiki-System zwar alle Inhalte für unangemeldete Benutzer zur Verfügung, aber beim Versuch der Anmeldung kam es zu einem Datenbankfehler:
Danach standen im neuen Wiki-System zwar alle Inhalte für unangemeldete Benutzer zur Verfügung, aber beim Versuch der Anmeldung kam es zu einem Datenbankfehler:
  [Xk-O6BK0q00H6HMaGb7yTAAAAa4] 2020-02-21 12:36:56: Fataler Ausnahmefehler des Typs „Wikimedia\Rdbms\DBQueryError“
  [Xk-O6BK0q00H6HMaGb7yTAAAAa4] 2020-02-21 12:36:56: Fataler Ausnahmefehler des Typs „Wikimedia\Rdbms\DBQueryError“
Die Datenbank-Strukturen der Versionen 1.23 und 1.31 sind unterschiedlich:  
Die Datenbank-Strukturen der Versionen 1.23 und 1.31 sind unterschiedlich. Deshalb muss bei jedem MediaWiki-Update auch ein Update der Datenbank erfolgen:  
* Die fehlerhaften Datenbank-Einträge für die aktuelle Version 1.31 werden anschließend durch Ausführen des [https://www.mediawiki.org/wiki/Manual:Update.php '''Update-Script'''] im Web-Browser generiert:
* Die fehlerhaften Datenbank-Einträge für die aktuelle Version 1.31 werden durch Ausführen des [https://www.mediawiki.org/wiki/Manual:Update.php '''Update-Script'''] im Web-Browser generiert:
  <nowiki> https://www.optiyummy.eu/mw-config/index.php </nowiki>
  <nowiki> https://www.optiyummy.eu/mw-config/index.php </nowiki>
# Bestätigen der Spracheinstellungen mit '''Weiter'''.
# Bestätigen der Spracheinstellungen mit '''Weiter'''.
Zeile 304: Zeile 307:
Danach lief das MediaWiki wie gewünscht und die angelegte Sicherungskopie des neu angelegten MediWiki-Systems kann man nun mittels rm-Befehl in Putty löschen:
Danach lief das MediaWiki wie gewünscht und die angelegte Sicherungskopie des neu angelegten MediWiki-Systems kann man nun mittels rm-Befehl in Putty löschen:
  rm -r mediawiki_03b
  rm -r mediawiki_03b
== HitCounters-Extension installieren ==
Da schon auf die Übernahme der Seitenzugriff-Zähler verzichtet wurde, sollen diese Zähler nach Möglichkeit wieder neu gestartet werden:
* Dazu wurde die aktuelle stabile Version der [https://www.mediawiki.org/wiki/Extension:HitCounters '''Extension:HitCounters'''] heruntergeladen.
* Der Inhalt der Archivdatei wurde in den MediWiki-Ordner /extensions/HitCounters/ gespeichert.
* In der Datei LocalSettings.php musste zur Aktivierung dann die zugehörige Befehlszeile ergänzt werden:
wfLoadExtension( 'HitCounters' );
* Dies führte sofort infolge der zusätzlichen Datenbank-Einträge dieser Extension zu Datenbankfehlern!
* Zum Glück gibt es zur Behebung solcher Datenbankfehler das über das Web-Interface erreichbare Update-Skript:
https://www.optiyummy.de/mw-config/index.php
* Nach Abarbeitung des Update-Skriptes funktionierte alles wieder normal.

Aktuelle Version vom 8. Dezember 2020, 11:05 Uhr

Zielpraezisierung

Im Februar 2016 wurde das Optimierungsportal OptiYummy mittels des STRATO AppWizard von der MediaWiki-Version 1.19 auf die damals von STRATO unterstützte "long term support release (LTS)" 1.23 übertragen. Der aufwändige Update-Prozess wurde ausführlich beschrieben (Siehe: Update 2016 (Version 1.19 auf 1.23).

Inzwischen besteht die Möglichkeit, mittels des STRATO AppWizard die MediWiki LTS-Version 1.31 zu installieren (Siehe: Versionszeitplan). Eine direkte Update-Möglichkeit von der Version 1.23 wird von Strato nicht bereitgestellt:

  • Die MediaWiki-Version 1.31 soll als leeres System installiert und in seiner Oberfläche entsprechend des bisherigen OptiYummy-System konfiguriert werden. Dafür wird die bisher noch ungenutzte Domäne optiyummy.eu genutzt, so dass keine Störungen im aktuell laufenden OptiYummy-System entstehen können.
  • Danach sollen die Inhalte des OptiYummy-Systems aus der Mediawiki-Version 1.23 übernommen werden. Dies wird sicher zum schwierigsten Teil des Update-Prozesses!

Installation des MediaWiki-Systems mit STRATO-AppWizard

Das Web-Interface für Hosting-Pakete wird von STRATO kontinuierlich modifiziert. Diese Beschreibung entspricht dem Stand vom Februar 2020:

  • Damit eine Domain (hier: optiyummy.eu) für das neue Wiki-System verwendet werden kann, darf sie nicht extern umgeleitet oder von anderen Anwendungen belegt sein! Dies ist über die Domain-Verwaltung des Webhosting-Paketes zu realisieren (interne Umleitung z.B. auf /.
  • Auf der Übersichtsseite zum Web-Hosting-Paket ist die Schaltfläche zum Starten des AppWizard nicht zu übersehen.
  • Auf der STRATO-AppWizard-Seite werden zuerst die installierten eigenen Anwendungen aufgelistet.
  • Darunter findet man eine Liste der installierbaren Anwendungen, wozu an vorletzter Stelle "Wikis" gehören.
  • Hier stand nur die MediaWiki Version 1.31.0-88 zum Installieren zur Verfügung. Als Voraussetzung wird die vorherige Umstellung auf die PHP-Version PHP7 genannt, welche bereits erfolgt war.
  • Nach Wahl von Installieren erfolgt die Installation in 4 Schritten:
1. MediaWiki - Einstellungen zur Administration
  • Bezeichnung: OptiYummy
  • Benutzername: WikiSysop
  • Passwort: ganz geheim
  • E-Mail Adresse: admin@domain.de
2. MediaWiki - Domain Einstellungen
  • Die bestehende Domäne optiyummy.eu wurde unter obigen Voraussetzungen als verwendbar für das WikiSystem angeboten.
  • Nach Auswahl der Domäne genügt ein Weiter.
3. MediaWiki - Datenbank
  • Den Kommentar "Datenbank für OptiYummy" kann man beibehalten.
4. MediaWiki - Fertigstellen
  • Man muss die Lizenz-Bedingungen akzeptieren.
  • Als Verzeichnis für das WikiSystem wurde im Beispiel mediawiki_10 automatisch vergeben.
  • Das Fertigstellen dauert nur einige Sekunden.

Danach steht ein MediaWiki-System in seiner Grundeinstellung zur Verfügung.

Wiki-System individuell konfigurieren

Man benötigt den Zugang direkt auf die Dateien des Wiki-Systems im Homeverzeichnis. Von STRATO werden für den Zugriff auf das Homeverzeichnis sowohl ein FTP- als auch ein SSH-Zugang zur Verfügung gestellt:

  • Server: ftp.strato.de bzw. ssh.strato.de
  • Benutzername: Domän-Name (im Beispiel: www.optiyummy.eu)

Man sollte den verschlüsselten Zugang per SSH verwenden! Sehr komfortabel ist dabei z.B. die Nutzung des Total-Commanders.

Vergeben von Nutzerrechten

Die folgenden Einstellungen sind in der Datei LocalSettings.php vorzunehmen, welche sich im Wiki-Verzeichnis mediawiki_10 befindet. Dazu wurde mittels Total-Commander eine lokale Kopie von LocalSettings.php erzeugt. Diese wird schrittweise verändert und zum Test der Wirkung wieder per FTP in das Wiki-Verzeichnis kopiert.

Wichtig: Standardmäßig können auch anonyme Nutzer Wiki-Seiten editieren! Deshalb sollte man als erste Aktionen die Nutzerrechte ändern. Dazu ergänzt man in der Datei LocalSettings.php am Ende die Zeilen:

## Benutzerverwaltung
## Nur noch angemeldeten Benutzern das Bearbeiten erlauben
$wgGroupPermissions['*']['edit'] = false;
## Neuanmeldungen verbieten
$wgGroupPermissions['*']['createaccount'] = false;
## Anlegen neuer Seiten nur für angemeldete Nutzer
$wgGroupPermissions['*']['createpage'] = false;
## Anlegen neuer Diskussionen nur für angemeldete Nutzer
$wgGroupPermissions['*']['createtalk'] = false;
## Verstecken der Edit-Section-Links vor nichtangemeldeten Nutzern
$wgDefaultUserOptions['editsection'] = false;
## Ausschalten der Links auf IP-Diskussionsseiten rechts oben
$wgShowIPinHeader = false;

Das Versenden von E_Mails wurde abgeschalten:

$wgEnableEmail      = false;
$wgEnableUserEmail  = false;

Es wird ein Creative Commons Lizenzmodell für die Inhalte benutzt. Zulässig ist folgende Verwertung der Inhalte:

  • Verteilung: kopieren, verbreiten und öffentlich Aufführen
  • Modifikation: Anpassung der Inhalte an die eigene Arbeit
  • Kommerzielle Verwertung

Unter der Bedingung:

  • der Namensnennung des Autors oder des Lizenzsgebers,
  • ohne den Eindruck zu erwecken, bei der Verwertung Unterstützung erhalten zu haben.

Dazu sind folgenden Variablen in LocalSettings.php zu ergänzen:

$wgRightsUrl = "https://creativecommons.org/licenses/by/3.0/";
$wgRightsText = "Creative Commons";
$wgRightsIcon = "https://i.creativecommons.org/l/by/3.0/88x31.png";

Indizierung durch Suchmaschinen reglementieren

  • Im MediWiki ist standardmäßig eingestellt, dass alle Suchmaschinen alle Seiten indizieren dürfen. Dafür wird in der Datei includes\DefaultSettings.php der Eintrag $wgDefaultRobotPolicy = 'index,follow'; genutzt.
  • Wie dies realisiert ist, kann man sich im Browser im Quelltext der generierten Seiten anschauen. Im Beispiel werden bestimmte Spezialseiten vom MediaWiki mittels "noindex,nofollow" explizit für die Suchmaschinen verboten.
  • Unabhängig davon sollte man in das Stammverzeichnis des Wiki-Systems eine Textdatei robots.txt ablegen:
    • Die Suchmaschinen lesen beim Finden einer Webseite zuerst diese Datei im Stammverzeichnis der Domäne.
    • In dieser Datei kann beschrieben werden, ob und wie die Suchmaschine (Robot) die Seiten erfassen darf.
    • Es ist wichtig, unsinnige Robots auszusperren, um nicht unsinnigen Datenverkehr für das Wikisystem zu erzeugen.
    • Für Laien ist es günstig, als Grundlage die Datei robot.txt der Wikipedia zu verwenden. Auf konkrete Verzeichnisse der Wikipedia bezogene Einträge (z.B. /wiki/) muss man löschen!

Anpassung des Erscheinungsbildes

Hinweis:
Um die Änderungen des Skins im Browser zu sehen, genügt unter Umständen kein Neuladen <F5>, sondern man muss auch noch den Cache des Browsers löschen!


Bezeichnung des Wiki-Systems darstellen

  • Trotz Eingabe der Bezeichnung OptiYummy bei der Installation des MediaWiki-Systems wurde der Seitenname nicht eingetragen. Dies in LocalSettings.php nachzuholen:
$wgSitename = "OptiYummy";


Sprache umstellen von englisch auf deutsch

  • Durch Änderung in LocalSettings.php kann man die Sprache umschalten
# Site language code, should be one of the list in ./languages/data/Names.php
$wgLanguageCode = "de";

Wahl des MonoBook-Skin

  • Standardmäßig ist in der Version 1.31 der Skin "vector" eingestellt.
  • Durch Änderung in LocalSettings.php kann man "monobook" wählen:
## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'monobook', 'vector':
$wgDefaultSkin = "monobook";

Eigenes Logo und Favicon:

  • Die erforderlichen Dateien werden per FTP in den images-Ordner kopiert.
  • in LocalSettings.php wird die Zeile:
$wgLogo             = "";
  • ersetzt durch:
## Eigenes Logo 135x135 Pixel einbinden
$wgLogo = "/images/logo.gif";
$wgFavicon = "/images/favicon.ico";


Ausblenden von Registerkarten für nicht angemeldete Nutzer

  • Folgende Änderungen sind vor der ersten Zeile der Datei \skins\MonoBook\includes\MonoBookTemplate.php' zu ergänzen (Originaldatei zuvor sichern!):
<?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?>
     <style type="text/css">
       #ca-viewsource { display: none !important; }
     </style> 
   <?php } ?>

<?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?>
     <style type="text/css">
       #ca-talk { display: none !important; }
     </style> 
   <?php } ?>
  
<?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?>
     <style type="text/css">
       #ca-history { display: none !important; }
     </style> 
   <?php } ?>
  
<?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?>
     <style type="text/css">
       #ca-nstab-main { display: none !important; }
     </style> 
   <?php } ?>

<?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?>
     <style type="text/css">
       #ca-nstab-project { display: none !important; }
     </style> 
   <?php } ?>

<?php global $wgUser; if( !$wgUser->isAllowed('edit') ) { ?>
     <style type="text/css">
       #ca-nstab-special { display: none !important; }
     </style> 
   <?php } ?>

Ausblenden der Werkzeuge (für nicht angemeldete Nutzer)

  • Für die Wiki-Vorgängerversionen wurden trotz ständig geänderter Implementierung immer Möglichkeiten im Netz gefunden, die Werkzeug-Box für unangemeldete Nutzer auszublenden. Bisher ist dies noch nicht gelungen.
  • Das Erzeugen der Werkzeug-Box erfolgt auch in der Datei \skins\MonoBook\includes\MonoBookTemplate.php, wo man durch Ergänzen von 2 Zeilen die Toolbox komplett "Auskommentieren" kann:
protected function getToolboxBox() {
       $html = ;
       $skin = $this;
/** Beginn Auskommentierung 
       $html .= $this->getBox( 'tb', $this->getToolbox(), 'toolbox', [ 'hooks' => [
               // Deprecated hooks
               'MonoBookTemplateToolboxEnd' => [ &$skin ],
               'SkinTemplateToolboxEnd' => [ &$skin, true ]
       ] ] );
*/ // Ende Auskommentierung
       $html .= $this->deprecatedHookHack( 'MonoBookAfterToolbox' );
       return $html;
}
  • Es wäre sicher für jemanden, der dieser Skriptsprache mächtig ist, relativ einfach, dort eine if-Anweisung mit dem Test des Benutzerstatus zu ergänzen.
  • Das radikale Ausblenden ist jedoch unkritisch, da man als Autor nur wenige Funktionen daraus benötigt. Insbesondere "Datei hochladen" kann man problemlos im Sidebar ergänzen (wird später beschrieben).

Fusszeile nur mit Impressum

  • Dafür muss ebenfalls in der Datei \skins\MonoBook\includes\MonoBookTemplate.php die folgende Zeile mit der Definition der gewünschten FooterLinks ergänzt werden:
$validFooterLinks = array('disclaimer', 'tagline'); // Nur Impressum in Fusszeile
  • Diese Zeile ist direkt vor den Zeilen für das Schreiben der Fußzeilen-Einträge einzufügen:
if ( count( $validFooterLinks ) > 0 ) {
    $html .= Html::openElement( 'ul', [ 'id' => 'f-list' ] );
    foreach ( $validFooterLinks as $aLink ) {
        :
  • Anstatt "Impressum" erscheint "Haftungsausschluss" als Text, der Link führt jedoch zur Impressum-Seite. Dieser Text kann noch in einer Übersetzungstabelle geändert werden -> \languages\i18n\de.json in der Zeile:
"disclaimers": "Haftungsausschluss",

Hochladen von Dateien konfigurieren

Für das Wiki-System muss man die Konfiguration der Datei-Größe und die zu verwendende Verzeichnis-Struktur über LocalSettings.php vornehmen:

  • Das deaktivierte Upload:
$wgEnableUploads       = false;
  • wurde ersetzt durch folgende Beschreibung, welche zusätzlich die Ordnerstruktur und erlaubte Inhalte spezifiziert:
$wgEnableUploads       = true;
$wgMaxUploadSize = 1024*1024*200; # 200MB
$wgUploadSizeWarning = 1024*1024*10; # 10MB
$wgUseImageResize = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'zip', 'pdf', 'hlp', 'swf', 'wmv', 'svg' );
## Directories images/archive, images/thumb and images/temp werden automatisch angelegt!
$wgHashedUploadDirectory = false; # nicht Bilder-Verzeichnisstruktur "/a/ab/foo.png" verwenden

Maximal mögliche Dateigröße erhöhen:

  • Die maximal hochladbare Dateigröße wird durch die PHP-Konfiguration des Servers festgelegt (bei STRATO im Beispiel 64MB).
  • Auch ohne Zugriff auf die originale Datei php.ini kann man diesen Wert ändern (z.B. auf 200MB), indem man eine Datei php.ini mit folgendem Inhalt in das Wurzelverzeichnis des Wiki-Systems speichert (dort, wo auch LocalSettings.php liegt):
[PHP]
; Maximum size of POST data that PHP will accept.
post_max_size = 200M
; Maximum allowed size for uploaded files.
upload_max_filesize = 200M

Inbetriebnahme des erweiterten Editors

Seit der Version 1.18 enthält der Source-Code bereits die Extension:WikiEditor. Diese muss man in der Datei LocalSettings.php nur noch registrieren:

  • Dazu ist am Ende der Datei folgende Codezeile zu ergänzen;
wfLoadExtension( 'WikiEditor' );

Druckversion der Seiten anpassen

Standardmäßig werden in der Druckversion die externen Links in voller Länge eingeblendet, welche sich hinter den in den Seiten dargestellten Kurzformen verbergen. Die Druckausgabe sollte jedoch der Bildschirmdarstellung entsprechen, weshalb man die Ausgabe der externen Links unterdrücken muss:

  • Eine Änderung in den MediaWiki-Systemdateien ist dafür nicht erforderlich.
  • Man editiert als WikiSysop-Nutzer einfach die Seite "MediaWiki:Print.css" (Eintragen in das Suchfeld und Seite aufrufen):
  • In der dargestellten Seite ergänzt man den Code:
#content a.external.text:after,
#content a.external.autonumber:after {
content: none;
}

Dieser überschreibt dann die Default-Definitionen im MediaWiki Source-Code.

Einbinden von Videos

Die [Extension:EmbedVideo] läuft ab der MediaWiki-Version 1.19. Damit wird es unter anderem möglich, Youtube-Videos in die Seiten einzubetten:

  • Die ZIP-Datei der Extension ist über obigem Link zu laden. Der Inhalt muss in den Ordner "/Extension/EmbedVideo/" kopiert werden.
  • Die Registrierung in der Datei LocalSettings.php erfolgt mittels:
wfLoadExtension( 'EmbedVideo' );

Danach funktioniert das Einbetten und Abspielen von Videos, wenn der Browser HTML5-kompatibel ist oder der Flashplayer installiert wurde:

  • Ob dies bei dem eigenen Browser der Fall ist, sieht man am folgenden Beispiel:

Rendern von mathematischen Formeln

Mit der MediaWiki-Version 1.18.0 wurde die Funktion $wgUseTeX=true aus dem Kern des Wiki-Systems entfernt. Stattdessen muss man jetzt dafür eine Extension nutzen. Da die Extension:Math nur zusammen mit dem texvc-Programm funktioniert, welches für das genutzte STRATO-Paket nicht zur Verfügung steht, kann man die Extension:SimpleMathJax verwenden:

  • Die Installation der SimpleMathJax-Extension genügt das Anlegen des Ordners Extension/SimpleMathJax und das Hineinkopieren des heruntergeladenen Inhalts.
  • Die SimpleMathJax-Extension muss in der Datei LocalSettings.php registriert werden:
wfLoadExtension( 'SimpleMathJax' );
$wgSmjSize = 125;
  • Versucht man damit im Editor z.B. die folgende Zeile einer Formel zu speichern:
  <math>c = \frac{E \cdot b \cdot t^3}{4 \cdot L^3} </math> 
  • dann sollte die folgende Formel erscheinen:
    .

PageView-Funktionalitaet erhalten

Mit der MediaWiki-Version 1.25 wurde die Unterstützung für die Datenbank-Variable "page.page_counter" entfernt, welche z.B. die Grundlage für "Special:PopularPages" (Rangfolge der "beliebteste Seiten") bildete:

  • Dies mag für große Systeme (wie z.B. die Wikipedia) sinnvoll sein. Für ein kleines, individuelles System (wie z.B. OptiYummy) bietet diese Spezialseite jedoch eine schnelle Übersicht zur "Beliebtheit" der einzelnen Seiten im Netz.
  • Die Extension HitCounters bietet die Funktionalität für Seitenaufrufe, die in MediaWiki 1.25 entfernt wurde. HitCounters zeigt wieder die Anzahl der Aufrufe in der Seitenfußzeile und die beliebtesten Seiten auf "Special:PopularPages" an.

Leider ist der Prozess der Überführung der page_counter-Daten in die neuen Variablen der HitCounter-Erweiterung sehr aufwändig:

  • Die Extension ist nur abwärts-kompatibel bis zur MediaWiki-Version 1.25. In dieser Version ist die Datenbank-Variable "page.page_counter" samt Inhalt noch erhalten, wird jedoch vom System nicht mehr ausgewertet. Deshalb muss die HitCounter-Extension (Version 0.3.4) dort installiert werden und noch in MediaWiki 1.25 muss die Datei update.php ausgeführt werden!
  • Die Tabelle "hit_counter" sollte danach vorhanden sein und alle Trefferzahlen enthalten. Die Tabelle "hit_counter_extension" sollte dann ebenfalls vorhanden sein.
  • Die SQL-Dateien, die in der Erweiterung "HitCounters" enthalten sind, demonstrieren die SQL-Befehle, die ausgeführt werden müssen, bevor (!) Update.php in MediaWiki 1.26 ausgeführt wird, um die vorhandenen Daten beizubehalten.
  • Update der Datenbank auf MediaWiki 1.26 oder höher werden alle Hitcounter-Daten von den alten Speicherorten entfernt, sofern diese dort noch vorhanden sind. Nur wenn man zuvor die Migration durchgeführt hat, sollte die Erweiterung weiterhin funktionieren!

Ursprünglich war geplant, die PageView-Funktionalität einschließlich der bisherigen Historie für OptiYummy mittels der HitCounter-Extension zu erhalten. Im Detail erschien dann jedoch der Aufwand dafür zu hoch und das Ergebnis zu ungewiss. Deshalb wurde folgender Kompromiss gewählt:

  • Kurz vor dem Überführen der Datenbank-Inhalte aus der alten in die neue MediaWiki-Version wird die Browser-Darstellung der Spezialseite "Beliebteste Seiten" genutzt, um daraus eine neue .html-Seite mit diesem archivierten Zustand zu erstellen (Siehe: Beliebteste Seiten - Archiv bis zum Zählerstand-Reset am 21.02.2020
  • Nach Inbetriebnahme der neuen MediaWiki-Version wird dann noch die aktuelle HitCounter-Extension installiert, wodurch praktisch ein Reset aller Zählerstände erfolgt, aber die ursprüngliche Funktionalität wieder existiert.

Sicherungskopie eines MediaWiki-Systems

  • Wie bereits in den vorherigen Anleitungen beschrieben, sollte man sich mit PUTTY einloggen und mittels LINUX-Befehlen die Sicherung aller Inhalte vornehmen.
  • Hierfür benötigt man das Programm putty.exe. Dieses Programm muss nicht installiert werden, man kann es direkt starten.
  • Nach der Anmeldung kann man mittels des ls-Befehls überprüfen, wo man sich befindet:
login as: optiyummy.eu
optiyummy.eu@ssh.strato.de's password:
optiyummy.eu> ls
cgi-bin  cgi-data  index.html  mediawiki_02  mediawiki_03
optiyummy.eu>
  • Mit dem Befehl mysqldump kann man den aktuellen Zustand der Datenbank als SQL-Datei in das aktuelle Verzeichnis exportieren:
mysqldump DBxx --add-drop-table -h rdbms -u BENUTZERNAME -pPASSWORT > datei.sql
  • Zusätzlich zur Sicherung der kompletten images-Ordnerstruktur auf dem lokalen PC (z.B. mittels SSH-Zugang), sollte man mittels PUTTY eine Kopie des gesamten MediaWiki-Ordners direkt im Webspace mit dem cp-Befehl erzeugen, z.B.:
cp -rp mediawiki_02 mediawiki_02b
  • Um die Dateien nicht einzeln auf den lokalen PC kopieren zu müssen, sollte man den gesamten Ordner images zuvor mit dem tar-Befehl in eine Archiv-Datei packen (vorher mit cd-Befehl in mediawiki-Ordner wechseln):
tar cfvz archiv.tar.gz images/
  • Das Exportieren der Datenbanken "beliebiger" Größe funktioniert bei STRATO inzwischen auch sehr gut innerhalb der Paketverwaltung mittels des Tools myPhpAdmin (Aufruf mit Verwaltung > Datenbankverwaltung > DBxxxxxxx > verwalten):
    • In der Registerkarte Exportieren kann man als Export-Art "Schnell" als SQL-Datei wählen.
    • Diese Datei wird hierbei auf den lokalen PC übertragen und besitzt ungefähr die doppelte Größe, wie die mittels mysqldump erzeugte Datei.
    • Man sollte sowohl von der alten, als auch von der neuen Datenbank mittels Exportieren in myPhpAdmin eine SQL-Datei erzeugen.

Uebertragen der Inhalte

Vor dem Import der vorhandenen Datenbank in Form einer sql-Datei sollte man die zusätzlich erforderlichen Datei-Inhalte in den neuen MediaWiki-Ordner kopieren:

  • Dies betrifft die gesamte Datei-Struktur des alten images-Ordners. Dieses kann man mittels cp-Befehl in PUTTY kopieren, nachdem man den Original-images-Ordner zuvor umbenannt hat:
cp -rp mediawiki_02/images mediawiki_03
  • Bei Umzug in einen neuen Web-Space sollte man die tar.gz-Datei des image-Ordners in das neue mediawiki-Verzeichnis kopieren:
    • Der neue image-Ordner muss vor dem Entpacken umbenannt werden, um Konflikte beim Auspacken zu vermeiden.
    • Innerhalb von Putty wechselt man in den mediawiki-Ordner und entpackt mittels des Befehls
tar -xvzf archiv.tar.gz
  • Das Importieren von SQL-Dateien in myPhpAdmin ist bei STRATO aktuell auf 32MB beschränkt und damit nur zum eventuell erforderlichen Wiederherstellen der neuen (fast leeren) Datenbank geeignet.
  • Die Beschränkung auf 32MB resultiert aus den Default-Einstellungen in der php.ini für das Web-Paket.

Der Import der Datenbank muss im PUTTY mittels des mysql-Befehls erfolgen, wobei die mittels myPhpAdmin-Export erzeugte SQL-Datei verwendet wird:

optiyummy.eu> mysql -h rdbms -u BENUTZERNAME -pPASSWORT DBxxxxxx < optiyummy119_export.sql

Danach standen im neuen Wiki-System zwar alle Inhalte für unangemeldete Benutzer zur Verfügung, aber beim Versuch der Anmeldung kam es zu einem Datenbankfehler:

[Xk-O6BK0q00H6HMaGb7yTAAAAa4] 2020-02-21 12:36:56: Fataler Ausnahmefehler des Typs „Wikimedia\Rdbms\DBQueryError“

Die Datenbank-Strukturen der Versionen 1.23 und 1.31 sind unterschiedlich. Deshalb muss bei jedem MediaWiki-Update auch ein Update der Datenbank erfolgen:

  • Die fehlerhaften Datenbank-Einträge für die aktuelle Version 1.31 werden durch Ausführen des Update-Script im Web-Browser generiert:
 https://www.optiyummy.eu/mw-config/index.php 
  1. Bestätigen der Spracheinstellungen mit Weiter.
  2. Wert des $wgUpgradeKey für das vorhandene Wiki als Aktualisierungsschlüssel eingeben (ohne die ""), danach Weiter.
  3. MediaWiki-Tabellen aktualisieren mit Weiter bestätigen.

Danach lief das MediaWiki wie gewünscht und die angelegte Sicherungskopie des neu angelegten MediWiki-Systems kann man nun mittels rm-Befehl in Putty löschen:

rm -r mediawiki_03b

HitCounters-Extension installieren

Da schon auf die Übernahme der Seitenzugriff-Zähler verzichtet wurde, sollen diese Zähler nach Möglichkeit wieder neu gestartet werden:

  • Dazu wurde die aktuelle stabile Version der Extension:HitCounters heruntergeladen.
  • Der Inhalt der Archivdatei wurde in den MediWiki-Ordner /extensions/HitCounters/ gespeichert.
  • In der Datei LocalSettings.php musste zur Aktivierung dann die zugehörige Befehlszeile ergänzt werden:
wfLoadExtension( 'HitCounters' );
  • Dies führte sofort infolge der zusätzlichen Datenbank-Einträge dieser Extension zu Datenbankfehlern!
  • Zum Glück gibt es zur Behebung solcher Datenbankfehler das über das Web-Interface erreichbare Update-Skript:
https://www.optiyummy.de/mw-config/index.php 
  • Nach Abarbeitung des Update-Skriptes funktionierte alles wieder normal.