OptiYummy-Update 1.23 auf 1.31
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 existiert nicht:
- 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
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.23 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";
Änderungen in /skins/MonoBook/includes/MonoBookTemplate.php
a) Ausblenden von Registerkarten für nicht angemeldete Nutzer
===>>> die folgenden Änderungen aus Version 1.23 müssen an 1.31 angepasst werden !!!!
- Folgende Änderungen sind vor den letzten 3 Zeilen der Datei 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 } ?>
- Das sind dann die bisherigen letzten 3 Zeilen, welche erhalten bleiben:
<?php } } // end of class
- Es werden damit die Registerkarten für alle Nutzer ausgeblendet, welche nicht editieren dürfen. Das sind infolge der Einstellungen in LocalSettings.php alle nicht angemeldeten Nutzer.
- 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!
Ausblenden der Werkzeuge für nicht angemeldete Nutzer
- Die erforderliche Änderung ist ebenfalls in /skins/MonoBook.php durchzuführen.
- Finden des folgenden Abschnitts (Suchen nach p-tb):
<div class="portlet" id="p-tb" role="navigation"> <h3><?php $this->msg('toolbox') ?></h3>
- Ersetzen durch die folgenden Zeilen:
<div class="portlet" id="p-tb" role="navigation"> <?php if($this->data['loggedin']) { ?> <h3><?php $this->msg('toolbox') ?></h3>
- Weiter unten steht das Ende des soeben editierten div-Blockes. Dort sucht man folgenden Abschnitt:
wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) ); ?> </ul> <?php $this->renderAfterPortlet( 'tb' ); ?> </div> </div>
- Dort ergänzt man die Zeile (zwischen den beiden /div), welche das neue "if"-Statement schließt:
wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) ); ?> </ul> <?php $this->renderAfterPortlet( 'tb' ); ?> </div> <?php } ?> </div>
Fusszeile nur mit Impressum
- Dafür muss in der Datei /skins/MonoBook.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 ) { : : foreach( $validFooterLinks as $aLink ) { ?> :
- Hinweis: Die durch Doppelpunkt angedeuteten drei Zeilen wurden hier nicht dargestellt, weil es Probleme mit der Darstellung ihrer Syntax auf dieser Seite gab.