OptiYummy-Update 1.35 auf 1.39: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
Zeile 124: Zeile 124:


== Uebertragen der Inhalte ==
== Uebertragen der Inhalte ==
Hintergründe und Details zu den hier verwendeten Methoden finden sich wieder im [[OptiYummy-Update_1.31_auf_1.35#Uebertragen_der_Inhalte|letzten Update]]. Aktuelle Änderungen sind mit aufgeführt. Zunächst die wichtigsten Schritte zum Sichern des Vorgängersystems:


''' Sichern der Datenbank:'''
* Das kompakteste Backup der Datenbank kam aus dem Strato-eigenen Backupsystem.
* Der Zugriff erfolgt über die '''Weboberfläche > Datenbanken und Webspace > Datenbankverwaltung > Backups anzeigen''' (entsprechende Datenbank des alten Wikis wählen)
* Man wählt anschließend "'''Sichern und herunterladen'''" für die aktuellste Version. '''Achtung:''' Sehr kurzfristige Änderung <24h sind unter Umständen noch nicht enthalten!
* Strato stellt anschließend Zugangsdaten für einen '''SFTP-Server (Port: 22)''' bereit. Der Download kann z.B. per FileZilla erfolgen.
* Das erzeugte Archiv ist nur etwa halb so groß wie beim Export über PhpMyAdmin.
'''Bilder:'''
Vor dem erneuten Einlesen der Datenbank sollte spätestens jetzt die alten Bilddateien wieder hinzugefügt werden.
* Umbenennen des bestehenden image-Ordners (z.B. image_original). Dieser kann dann später gelöscht werden.
* Zum Einfügen des zuvor exportierten, archivierten Ordners gibt es verschiedene Wege. Wegen der großen Datenmenge ist der direkte Weg über SFTP sehr zeitaufwändig.
* Schneller ist es, das erzeugte Archiv hochzuladen und per SSH (z.B. mit PUTTY) auf dem Server selbst zu entpacken.
* Der hier beschriebene Weg ist dabei nicht der schnellste, beugt aber Fehlern bei mangelnder Erfahrung im Umgang mit den Consolen-Programmen vor. Eine große Menge Bilder vom falschen Ort wieder sauber zu entfernen kann sonst unter Umständen aufwändig sein.
* Zunächst wird das '''Archiv per SFTP''' auf den '''Server''' in ein freies Verzeichnis geladen, hier im Beispiel /TEMP.
* Dort kann man das Archiv ohne Risiko mit seiner bestehenden Ordnerstruktur entpacken:
cd TEMP
tar -xpf image_backup.tgz
* Anschließend kopiert man nur den image-Ordner und dessen Inhalt an die korrekte Stelle im neuen Wiki-System:
cd ..
cp -rp TEMP/app/images STRATO-apps/mediawiki_xx/app
* Die Dateien in /TEMP kann man löschen.
'''Erneutes Einlesen der Datenbank:'''
* Zur Sicherheit sollte man die Original-Datenbank der "nackten" Installation mit PhpMyAdmin sichern. Diese ist nur bei unvorhergesehenen Fehlern nötig, dann aber evtl. hilfreich.
* Seit Version 1.35 werden den Datenbankeinträgen Präfixe vorangestellt. Diese mussten dann beim Import ergänzt werden.
* Bei einem Update auf Version 1.39 muss man nicht unbedingt die Datenbankeinträge anpassen, sondern kann in der neuen '''LocalSettings.php''' das Präfix entsprechend der bereits bestehenden Datenbank definieren (Am Ende der Datei einfügen):
## Datenbank mit altem Praefix einbinden
# MySQL specific settings
$wgDBprefix = "ab12_";
* '''Achtung:''' Der Platzhalter '''ab12_''' ist durch das korrekte Präfix zu ersetzen.
* Die entpackte '''*.sql''' Datei sollte man für den erneuten Import dann in den neuen Ordner '''mediawiki_xx''' hochladen (dort entpacken ist per Kommandozeile natürlich auch möglich).
* In diesem Ordner führt man dann per SSH folgenden Befehl mit den entsprechenden Zugangsdaten der Datenbank aus:
mysql -h rdbms -u BENUTZERNAME -pPASSWORT dbxxxxxx < optiyummy_export.sql
Die Datenbank-Strukturen der Versionen 1.35 und 1.39 sind trotzdem noch unterschiedlich. Deshalb muss bei jedem MediaWiki-Update auch ein Update der Datenbank erfolgen:
* Die fehlerhaften Datenbank-Einträge für die aktuelle Version 1.39 werden durch Ausführen des [https://www.mediawiki.org/wiki/Manual:Update.php '''Update-Script'''] im Web-Browser generiert nach Aufruf von:
<nowiki> https://www.optiyummy.eu/mw-config/index.php </nowiki>
# Bestätigen der Spracheinstellungen mit '''Weiter'''.
# Wert des '''$wgUpgradeKey''' für das vorhandene Wiki als Aktualisierungsschlüssel eingeben (ohne die ""), danach '''Weiter'''.
# MediaWiki-Tabellen aktualisieren mit '''Weiter''' bestätigen.
Danach läuft das MediaWiki wie gewünscht mit den portierten Inhalten.


== Weitere Anpassungen ==
== Weitere Anpassungen ==

Version vom 9. Februar 2023, 15:39 Uhr

Vorhaben

Nach der Einführung der neuen LTS Verison 1.39.1 des Mediawikis sollte auch dieses System auf die neue Version umgestellt werden. Für die nächsten Monate/Jahre sollten damit zunächst keine größeren Wartungsarbeiten anfallen. Es erfolgte eine komplette Neuinstallation mit anschließendem Übertragen der bisherigen Konfiguration und Inhalte. Folgende Daten wurden zuvor gesichert:

  • Kopie des gesamten Ordners mediawiki_ab (ab = alte Version) vom Server des Hosters per SFTP.
  • Export der Datenbank über Strato-Webseite und PhpMyAdmin. Ausführliche Informationen dazu im letzten Update.
  • Export der Datenbank über Datenbankübersicht bei Strato > Backups. Dort werden Daten zum Download per SFTP auf Port 22 bereitgestellt. (Kleinere Dateigröße als PhpMyAdmin!)
  • Packen des gesamten image-Ordners mit anschließendem Download des Archivs per SFTP:
cd STRATO-apps/mediawiki_ab
tar -vczhf image_backup.tgz app/images

Theoretisch wäre ein Update auch möglich (aber nicht empfohlen), wenn man nur die nötigsten Dateien sichert:

  • Backup der Datenbank bei Strato per SFTP.
  • Packen und sichern des aktuellen image-Ordners mit allen Dateien und Unterordnern.
  • Sichern der beiden Dateien robot.txt und php.ini aus dem Ordner mediawiki_ab/app, statt Sicherung des gesamten Ordners.

Für den SFTP-Zugriff wurde FileZilla genutzt. Kopiervorgänge und das Bearbeiten von Dateien sind damit sehr komfortabel möglich.

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 Januar 2023:

  • 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 Startseite des Kundenlogin findet man unten in der Navigationsleiste den Eintrag WordPress & Co.
  • Nach Wählen dieser Funktion findet man in der Kategorie Community-Software die Möglichkeit zur MediaWiki-Installation.
  • Die Domäne optiyummy.eu wurde infolge des Einhaltens der obigen Bedingungen in der Liste zur Auswahl angeboten
  • Nach dem Ausfüllen der geforderten Angaben betätigt man "Fertigstellen":
    • Administrator-Benutzername + Passwort
    • Administrator E-Mail
    • Titel der Webseite
  • Der erste Installationsversuch schlug mit einer kaum hilfreichen Fehlermeldung fehl. Es wurden ein leerer Ordner mediawiki_yz und eine leere Datenbank erstellt.
  • Ein erneuter Versuch mit identischen Angaben führte zum Erfolg.

Das erstellte MediaWiki-System besitzt folgende Konfiguration:

  • Version 1.39.1
  • Es wurde ein Ordner "/STRATO-apps/mediawiki_xx/app" (xx = neue Version) angelegt
  • Danach steht ein MediaWiki-System in seiner Grundeinstellung zur Verfügung.

Wiki-System individuell konfigurieren

Die Konfiguration des Wikis erfolgt bis zum Einspielen der alten Datenbank sehr ähnlich wie bisher. Weitere Details sind bei Unklarheiten im letzten Update nachzulesen. Neuerungen und Anpassungen in dieser Version werden auf dieser Seite explizit hier erläutert.

Die folgenden Einstellungen sind in der Datei LocalSettings.php vorzunehmen, welche sich im Wiki-Verzeichnis mediawiki_xx befindet. Alle hier beschriebenen Änderungen sollten ganz am Ende der Datei im vorgesehenen bereich erfolgen. Die vordefinierten Standardeinstellungen werden dabei überschrieben, bleiben aber bei Problemen in der Datei erhalten und sind nicht verloren.

Die Konfiguration kann komplett per SSH über Kommandozeile oder die "Datei Bearbeiten"-Funktion von FileZilla per SFTP erfolgen. Dabei wird die Datei heruntergeladen, lokal unter AppData/.../FileZilla gespeichert und beim Speichern im Texteditor automatisch (nach expliziter Bestätigung) von FileZilla zurück zum Server übertragen.

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

Vergeben von Nutzerrechten

Wichtig: Standardmäßig können auch anonyme Nutzer Wiki-Seiten editieren! Deshalb sollte man als erste Aktionen die Nutzerrechte ändern.

##----------------------------------------------------------
## 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;

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

Man sollte für Suchmaschinen die zuvor aus dem alten Wiki gesicherte Datei robots.txt in den Ordner mediawiki_xx/app kopieren. Weitere Hinweise dazu im letzten Update.

Anpassen des Erscheinungsbildes

Wahl eines Skins

  • Standardmäßig ist in der Version 1.39 der Skin "vector" eingestellt.
  • Durch Einfügen folgender zeile in LocalSettings.php kann man "monobook" wählen:
## Skin umstellen:
$wgDefaultSkin = "monobook";
  • Bei Bedarf kann der Skin hier auch problemlos nachträglich angepasst werden.
  • Ein Ausblenden von Funktionen für nicht angemeldete Nutzer wird vorläufig nicht vorgenommen!

Eigenes Logo und Favicon

  • Die erforderlichen Daten kommen später aus dem importierten image-Ordner. Zu Testzwecken können Sie jetzt schon in den noch leeren Ordner kopiert werden.
  • Alternativ kann man auch warten, bis der gesamte Ordner wieder hergestellt wurde (siehe unten). Dann funktionieren nachfolgende Änderungen nicht sofort. Alternativ kann auch jetzt schon der gesamte Ordner importiert werden.
  • Einfügen in LocalSettings.php:
## Eigenes Logo 135x135 Pixel einbinden
$wgLogos = [
'1x' => "/images/logo.gif",
];
$wgFavicon = "/images/favicon.ico";
  • Die Variable $wgLogos wurde im Vergleich zur letzten Version umbenannt ($wgLogo, ohne s).
  • Das neue Array enthält theoretisch auch einen Eintrag 'icon' für das Favicon. Leider wurde das Icon über anpassen dieses Pfads nicht angezeigt.
  • Die neue Variante ist deshalb eine Kombination des Arrays für das große Logo und der alten Variable $wgFavicon für die Anzeige im Browsertab.
  • Achtung: Die Darstellung der Bilder funktioniert nur, wenn der Direktzugriff im image-Ordner durch die .htaccess-Datei erlaubt ist. Dazu die alte Datei mit einfügen bzw. gleich komplett mit dem gesicherten image-Ordner importieren.

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. Dazu folgende Konfiguration anfügen:

$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' );
##fix for thumbnail error 25:
$wgMaxImageArea = 3e7;
$wgMaxShellMemory = 1024000;
$wgMaxShellFileSize = 204800;
## Directories images/archive, images/thumb and images/temp werden automatisch angelegt!
$wgHashedUploadDirectory = false; # nicht Bilder-Verzeichnisstruktur "/a/ab/foo.png" verwenden
  • Außerdem muss man die zuvor gesicherte Datei php.ini in das Wurzelverzeichnis des Wiki-Systems speichern (dort, wo auch LocalSettings.php liegt).

Uebertragen der Inhalte

Hintergründe und Details zu den hier verwendeten Methoden finden sich wieder im letzten Update. Aktuelle Änderungen sind mit aufgeführt. Zunächst die wichtigsten Schritte zum Sichern des Vorgängersystems:

Sichern der Datenbank:

  • Das kompakteste Backup der Datenbank kam aus dem Strato-eigenen Backupsystem.
  • Der Zugriff erfolgt über die Weboberfläche > Datenbanken und Webspace > Datenbankverwaltung > Backups anzeigen (entsprechende Datenbank des alten Wikis wählen)
  • Man wählt anschließend "Sichern und herunterladen" für die aktuellste Version. Achtung: Sehr kurzfristige Änderung <24h sind unter Umständen noch nicht enthalten!
  • Strato stellt anschließend Zugangsdaten für einen SFTP-Server (Port: 22) bereit. Der Download kann z.B. per FileZilla erfolgen.
  • Das erzeugte Archiv ist nur etwa halb so groß wie beim Export über PhpMyAdmin.

Bilder: Vor dem erneuten Einlesen der Datenbank sollte spätestens jetzt die alten Bilddateien wieder hinzugefügt werden.

  • Umbenennen des bestehenden image-Ordners (z.B. image_original). Dieser kann dann später gelöscht werden.
  • Zum Einfügen des zuvor exportierten, archivierten Ordners gibt es verschiedene Wege. Wegen der großen Datenmenge ist der direkte Weg über SFTP sehr zeitaufwändig.
  • Schneller ist es, das erzeugte Archiv hochzuladen und per SSH (z.B. mit PUTTY) auf dem Server selbst zu entpacken.
  • Der hier beschriebene Weg ist dabei nicht der schnellste, beugt aber Fehlern bei mangelnder Erfahrung im Umgang mit den Consolen-Programmen vor. Eine große Menge Bilder vom falschen Ort wieder sauber zu entfernen kann sonst unter Umständen aufwändig sein.
  • Zunächst wird das Archiv per SFTP auf den Server in ein freies Verzeichnis geladen, hier im Beispiel /TEMP.
  • Dort kann man das Archiv ohne Risiko mit seiner bestehenden Ordnerstruktur entpacken:
cd TEMP
tar -xpf image_backup.tgz
  • Anschließend kopiert man nur den image-Ordner und dessen Inhalt an die korrekte Stelle im neuen Wiki-System:
cd ..
cp -rp TEMP/app/images STRATO-apps/mediawiki_xx/app
  • Die Dateien in /TEMP kann man löschen.

Erneutes Einlesen der Datenbank:

  • Zur Sicherheit sollte man die Original-Datenbank der "nackten" Installation mit PhpMyAdmin sichern. Diese ist nur bei unvorhergesehenen Fehlern nötig, dann aber evtl. hilfreich.
  • Seit Version 1.35 werden den Datenbankeinträgen Präfixe vorangestellt. Diese mussten dann beim Import ergänzt werden.
  • Bei einem Update auf Version 1.39 muss man nicht unbedingt die Datenbankeinträge anpassen, sondern kann in der neuen LocalSettings.php das Präfix entsprechend der bereits bestehenden Datenbank definieren (Am Ende der Datei einfügen):
## Datenbank mit altem Praefix einbinden
# MySQL specific settings
$wgDBprefix = "ab12_";
  • Achtung: Der Platzhalter ab12_ ist durch das korrekte Präfix zu ersetzen.
  • Die entpackte *.sql Datei sollte man für den erneuten Import dann in den neuen Ordner mediawiki_xx hochladen (dort entpacken ist per Kommandozeile natürlich auch möglich).
  • In diesem Ordner führt man dann per SSH folgenden Befehl mit den entsprechenden Zugangsdaten der Datenbank aus:
mysql -h rdbms -u BENUTZERNAME -pPASSWORT dbxxxxxx < optiyummy_export.sql

Die Datenbank-Strukturen der Versionen 1.35 und 1.39 sind trotzdem noch unterschiedlich. Deshalb muss bei jedem MediaWiki-Update auch ein Update der Datenbank erfolgen:

  • Die fehlerhaften Datenbank-Einträge für die aktuelle Version 1.39 werden durch Ausführen des Update-Script im Web-Browser generiert nach Aufruf von:
 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 läuft das MediaWiki wie gewünscht mit den portierten Inhalten.

Weitere Anpassungen

Extensions

Ausblenden von Links fuer nicht angemeldete Nutzer

Resultat