OptiYummy-System 2

Aus OptiYummy
Version vom 27. Februar 2008, 22:01 Uhr von WikiSysop (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Hinweis: "Installation des Basis-Systems" -> Seite 1 == Wiki-System individuell konfigurieren == * Indizierung der Seiten durch Suchmaschinen ** ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Hinweis: "Installation des Basis-Systems" -> Seite 1

Wiki-System individuell konfigurieren

  • Indizierung der Seiten durch Suchmaschinen
    • Scheinbar ist ab MediWiki-Version 1.12 vorgesehen, alle Seiten des MediaWiki-Systems standardmäßig mit <meta name="robots" content="index,follow"> zu versehen.
    • Dafür wird dann $wgDefaultRobotPolicy = 'index,follow'; genutzt.
    • Ob dies realisiert ist, kann man überprüfen, indem man sich im Browser den Quelltext der generierten Seiten anschaut.
    • Im Beispiel war dieser Meta-Eintrag nicht vorhanden, weil nur die Version 1.10 genutzt wird. Allerdings 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 \srv\www\htdocs\mediawiki\ 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 scheinbar 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 [1] zu verwenden. Auf konkrete Verzeichnisse der Wikipedia bezogene Einträge (z.B. /wiki/) muss man löschen!


Für die folgenden Anpassungen muss man die Datei LocalSettings.php manuell bearbeiten. Um den ursprünglichen Zustand wieder herstellen zu können, sollte man sich eine Sicherungsdatei anlegen (Kopieren und Einfügen unter neuem Namen). Dann lädt man LocalSettings.php in einem Texteditor (z.B. rechte Maus - Öffnen mit ... Dienstprogramme - Editor Kate - Sitzung öffen). Die meisten Änderungsmöglichkeiten sind durch kommentierte Zeilen bereits vorbereitet:

  • Die Parameter im vorderen Abschnitt wurden bereits durch den Konfigurationsdialog des MediaWiki belegt. Dort könnte man später bei Bedarf auch manuell Änderungen vornehmen, z.B.:
    • ini_set( 'memory_limit', '32M' ); (Max. Größe für ein PHP-Script)
  • Benutzer-Rechte abweichend von den Defaultwerten:
    • $wgDefaultUserOptions['editsection'] = false; ("Bearbeiten" am Text ausblenden für anonyme Nutzer)
    • $wgGroupPermissions['*']['edit'] = false; (Nur angemeldeten Benutzern Bearbeiten erlauben)
    • $wgGroupPermissions['*']['createpage'] = false; (Anonyme Nutzer können keine neuen Seiten anlegen)
    • $wgGroupPermissions['*']['createtalk'] = false; (Anonyme Nutzer können keine Diskussion anlegen)
    • $wgGroupPermissions['*']['createaccount'] = false; (Neuanmeldungen verbieten außer für Sysop)
    • $wgShowIPinHeader = false; (Links auf IP-Diskussionsseiten rechts oben ausschalten)
    • $wgAllowSysopQueries = true; (Datenbankabfragen für Admins erlauben)
  • Upload von Bildern unter Nutzung von ImageMagick
    • $wgEnableUploads = true;
    • $wgUseImageResize = true;
    • $wgUseImageMagick = true;
    • $wgImageMagickConvertCommand = "/usr/bin/convert";
  • Mathematische Formeln mit LaTeX einbinden
    • Die erforderlichen texvc-Komponenten befinden sich bereits in /mediawiki/math/
    • $wgUseTex = true; (damit wird LaTeX aktiviert)


Um Bilder und Formeln auch im "safe mode" von PHP hochladen zu können, sind folgende Maßnahmen erforderlich:

  • Im mediawiki/images-Verzeichnis folgende Ordner anlegen:
    • /archive (für die Bilder)
    • /thumb (wahrscheinlich für Vorschau)
    • /tmp
    • /math (für Formeln)
  • Für alle diese Ordner folgende Eigenschaften (Berechtigungen) setzen:
    • Gruppe=www / Eigentümer=root
    • Eigentümer und Gruppe dürfen "Inhalt Anzeigen und Ändern"
    • Sonstige dürfen "Inhalt darstellen"
  • Nicht die Verzeichnisstruktur "/a/ab/foo.png" für Bilder verwenden:
    • $wgHashedUploadDirectory = false;


Layout-Gestaltung auf Basis des "Monobook"-Skin

  • $wgLogo = "$wgScriptPath/images/logo.gif"; (Eigenes Logo 135x135 Pixel)
  • $wgFavicon = "$wgScriptPath/images/favicon.ico"; (16x16 Pixel, z.B. mit IrfanView gespeichert)

Änderungen in der Navigationsleiste (MediaWiki:Sidebar):

  • Man meldet sich als Administrator "WikiSysop" an.
  • Suche nach der Seite "MediaWiki:Sidebar" öffnet die Navigationsbeschreibung. Diese kann man "normal" zum Bearbeiten öffnen:
  • Alle Text-Worte in dieser Seite werden als Text-Variable interpretiert. Das Wiki-System sucht für die gewählte Language das zugehörige Wort im Wörterbuch. Wird kein Eintrag im Wörterbuch gefunden, so wird das "Wort" direkt in der Navigationsleiste benutzt.
  • Die Navigationsleiste kann aus mehreren Abschnitten bestehen. Jeder Abschnitt ist durch eine Zeile mit einem vorangestellten Stern gekennzeichnet.
  • Innerhalb eines Abschnitts sind jeder Zeile zwei Sterne vorangestellt.
  • Die Zeilen im Abschnitt entsprechen den Menüpunkten.
  • Jede Zeile hat die Struktur ** link|Text.
  • Der Link zeigt auf eine interne Wikiseite oder man benutzt die Konventionen für externe Links.
  • Achtung: Ein Link sollte keine Umlaute oder Sonderzeichen enthalten, um Zeichensatz-Probleme bei der Portierung der Datenbank zu vermeiden!
  • Im Beispiel wurde die Navigationsleiste in mehrere Sektionen geteilt.

  • Grundlagen
    • Simulation|Simulation
    • Probabilistik|Probabilistik
    • Nennwert-Optima|Nennwert-Optima
    • Ausschussq-Qote|Ausschuss-Quote
    • Robustheit|Robustheit
    • Kompromiss-Lösung|Kompromiss-Lösung
  • Problemstellungen
    • Praxisbeispiele|Praxisbeispiele
  • Software
    • Modell-Interface|Modell-Interface
    • Nutzerprogramm|Nutzerprogramm
    • Tabellenkalkulation|Tabellenkalkulation
    • CAD-Programm|CAD-Programm
    • Simulationssystem|Simulationssystem
  • Hardware
    • hardwarekonfiguration|Konfiguration
  • Info's
    • OptiYummy-System|OptiYummy-System
    • helppage|Hilfe zur Nutzung
  • Powered by

  • Auf eine Ergänzung des Wörterbuchs in \mediawiki\languages\messages\MessagesDe.php wurde verzichtet, da es dann wahrscheinlich Probleme bei einer Portierung des Wikisystems gibt.
  • Existiert für den internen Link noch keine Seite, so wird dafür eine Leere Seite angelegt. Der Seiten-Name erscheint als Überschrift (1. Zeichen Großbuchstabe), z.B. "Optimierungshardware".
  • Überschriften von Wiki-Standardseiten kann man normal editieren, z.B.:
    • Seite MediaWiki:Mainpage Bearbeiten
    • Anstatt "Hauptseite" wurde "Startseite" in Übereinstimmung mit der Navigationsleiste eingetragen.


Änderungen in der Datei "MonoBook.php"

Die folgenden Änderungen in der Datei "MonoBook.php" im "Skin"-Ordner bergen die Gefahr, dass Änderungen bei Updates verloren gehen. Doch zuvor besteht die Gefahr, dass man die Struktur dieser Datei versehentlich durch die Änderungen zerstört:

Achtung: Vorher eine Kopie der Orignal-Version von MonoBook.php erzeugen und sichern.


Ausblenden von Items in der Fußzeile:

  • Alle nicht gewünschten Items wurden mit Kommentar /* */ ausgeklammert
  • Nur disclaimer (=Impressum) blieb erhalten:
$footerlinks = array(
  /*'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',*/
  /*'privacy', 'about',*/ 'disclaimer', 'tagline',
 );

Ausblenden des Werkzeuge-Menüs für nichtangemeldete Nutzer:

  • Finden des folgenden Abschnitts (Suchen nach p-tb):
        <div class="portlet" id="p-tb">
		<h5><?php $this->msg('toolbox') ?></h5>
 
  • Ersetzen durch die folgenden Zeilen:
        <div class="portlet" id="p-tb">
        <?php if($this->data['loggedin']) { ?>
		<h5><?php $this->msg('toolbox') ?></h5>
 
  • Weiter unten steht das Ende des soeben editierten div-Blockes. Dort sucht man folgenden Abschnitt:
		wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
 ?>
			</ul>
		</div>
	</div>
 
  • Dort ergänzt man die Zeile (zwischen den beiden /div), welche das neue "if"-Statement schließt:
		wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) );
 ?>
			</ul>
		</div>
        <?php } ?>		
	</div>
 

Ausblenden der Register-Tabs für nichtangemeldete Nutzer:

Man sucht in "MonoBook.php" die folgende Zeile:

foreach($this->data['content_actions'] as $key => $tab) {

und fügt unmittelbar nach "$tab)" die fett markierte Bedingung ein:

foreach($this->data['content_actions'] as $key => $tab) if($this->data['loggedin']==1) {

Backup der Datenbank

Im MySQL Administrator richtet man dafür ein Backup-Projekt ein:

  • Achtung: Dazu sollte man sowohl im Linux- als auch im MySQL-System als root angemeldet sein!
  • Menüpunkt Tools - Preferences - General Options - "Store connection passsword" mit Storage Method = "Obscured".
  • Menüpunkt Tools - Preferences - Administrator - "Append timestamp to backup file names".
  • Menüpunkt Tools - Preferences - Connections - Add Connection:
    • Verbindungsname: z.B. MySqlAdmin
    • Benutzername: root
    • Password: rootpassword
    • Hostname: localhost
    • Port: 3306
    • Typ: MySQL
    • Schema: z.B. optiyummy (mit verfügbaren Root-Berechtigungen)
  • Wahl der Backup-Ansicht:
    • Registerkarte "Backup-Projekt"
      • Projektname: optiyummy
      • Datenbank "optiyummy" -> zu Backup-Inhalt hinzufügen
    • Registerkarte "Erweiterte Einstellungen":
      • "Alle Tabellen sperren", um konsistentes Backup zu erhalten.
      • "Backup der ganzen ausgewählten Datenbank"
      • Backup Type: SQL-Dateien (nur dieser Typ ist möglich)
      • Markieren: "Complete INSERTs", "Comment", "Don't write full path"
    • Registerkarte "Backup planen":
      • Dieses Projekt täglich durchführen (irgendwann nachts)
      • Zielverzeichnis: /backup (in der Wurzel neu anlegen)
      • Dateinamenspräfix: ohne
      • Verbindungsname: "MySqlAdmin" wählen
      • Projekt speichern und "Update Schedule" -> damit Eintrag in crontab von root
      • "Start Backup", dabei muss man Zielordner /backup im Basisverzeichnis selbst wählen. Wenn alles funktioniert, entsteht im /backup-Ordner eine .sql-Datei mit einer Größe von ca. 2MByte.


Restore eines Backup-Files

Die Nutzung von "MySQL Administrator" erfolgt wieder als kompletter root-Nutzer:

  • Man wählt die Ansicht "Restore Bakup"
  • Falls der /backup-Ordner noch nicht eingestellt ist, muss man dies über "Change Path" nachholen (links unten).
  • Ss werden alle Backup-Files in diesem Ordner aufgelistet. Davon wählt man im Normalfall das letzte:
    • Als Zeichensatz wählt man die Vorgabe "utf8". Danach wird das Inhaltsverzeichnis des Backup gelesen.
    • In der "General"-Registerkarte kann man festlegen, in welches Datenbank-Schema die Daten zu speichern sind.
    • In der "Select"-Registerkarte, kann man festlegen, welche Inhalte übernommen werden sollen. Für ein komplettes Restore benötigt man wahrscheinlich die kompletten Inhalte.
  • Achtung: Den Restore-Prozess sollte man vorläufig noch abbrechen, um nicht aus Versehen die aktuellen Inhalte zu überschreiben!