StargateWiki:Server
Hier findest Du interne Seiten zum Wiki selbst: |
FAQ · Feedback · Partnerschaften · Kontakt · Logo · Meilensteine · 10 Jahre Stargate Wiki · News · Einleitung · Server · Administration · Creation Week |
Diese Seite gibt einen Überblick über den Server und die Software. Die Informationen sind als Hilfe gedacht, wenn eine neue Version der Software eingespielt werden soll.
Inhaltsverzeichnis
Server
- Fujitsu PRIMERGY MX130 S2
- AMD Opteron™ 3280, 8 Cores, 8x 2.4 GHz
- 16 GB DDR3-RAM
- 2x 2.000 GB SATA II-HDD; 7200 U/min
Software
- Debian 7.7
- MySQL 5.5
- MediaWiki 1.24.x (siehe auch: Spezial:Version)
- PHP 5.4 mit fastCGI
Einstellungen MediaWiki
Tuning Tuning Tips
- $wgMainCacheType = CACHE_ACCEL;
- $wgUserFileCache = true;
- $wgCacheDirectory = "...";
- $wgUseGzip = true;
- $wgCacheEpoche = ... Max(Gestern, Änderungsdatum LocalSettings.php)
- Mit dieser Einstellung sind die Einträge im IP-Cache maximal einen Tag alt und das löschen des Caches per Script wie früher kann entfallen.
- $wgAntiLockFlags = ALF_NO_LINK_LOCK | ALF_NO_BLOCK_LOCK;
Sicherheit
- $wgGroupPermissions['*']['createpage'] = false;
- Anonyme Benutzer dürfen keine neuen Seiten anlegen. Gilt nicht für Diskussionsseiten, dafür gibt es "createtalk"
- $wgNamespaceProtection[NS_TEMPLATE] = array('createpage');
- Vorlagen dürfen nur von Benutzer bearbeitet werden die auch Seiten anlegen dürfen. Also nicht von anonymen Benutzern.
Diverses
- $wgMaxUploadSize = 2*1024*1024;
- $wgJobRunRate = 0.01;
Regelmäßig ausgeführte Tasks
Aktuelles Sicherungskonzept
Stargate Wiki war leider zwei mal von einem Serverausfall mit Datenverlust betroffen.
Nach dem ersten Ausfall wurde ein Backup-Skript erstellt, das alle Daten im Webverzeichnis des Servers und den Inhalt der Datenbank sichert. Damit konnte der Server nach dem zweiten Ausfall wieder aufgesetzt werden.
Leider wurden die erstellten Sicherungsdateien nur unregelmäßig manuell auf einen zweiten Rechner gesichert - somit war das letzte Backup, als es benötigt wurde, fast zwei Monate zu alt. Aus den Fehlern haben wir gelernt, daher gibt sieht unser aktuelles Sicherungskonzept wie folgt aus:
- Das komplette "w"-Webverzeichnis des Servers, dort liegen alle MediaWiki-Programme und Mediendaten sowie die Datenbank, wird einmal in der Nacht um 2 Uhr in zwei Archive kopiert (Dauer ca. 45min).
- Die Archive werden jeweils eine Woche lang aufgehoben und dann mit neuen Sicherungen überschrieben.
- Die Archive werden nach dem Backup auf einen externen FTP-Server kopiert. Auch auf diesem Server werden die Archive eine Woche aufgehoben.
- Eine Bestätigungsmail wird nach dem Backup verschickt.
Sitemap
Einmal pro Woche wird eine Sitemap erstellt und an Google gemeldet.
Stargate Wiki läuft seit dem 15. Februar 2010 auf einem Root Server von server4you. EcoServer Large: AMD Athlon 64 X2 3400+, Dual-Core, 2x 1.8 GHz, 4 GB RAM, 2 x 320 GB Festplatten. Betriebssystem: Ubuntu 8.04 LTS.
Folgende Programme sind installiert: Mediawiki, Apache2, PHP 5 mit XCache, MySQL 5, rsvg. Für weitere Informationen siehe Spezial:Version.
Geschwindigkeit des Servers
Regelmäßige Skripte
Die folgenden Arbeiten werden in regelmäßigen Intervallen ausgeführt
- Sitemap erstellen. Jeden Tag um 4:00 Uhr wird eine neue Sitemap erstellt [1]. Momentan wird diese Sitemap nur von Google benutzt.
- Cache löschen. Jeden Tag um 4:30 Uhr wird der HTML Cache für Anonyme Benutzer gelöscht. Dadurch wird erreicht das die Seiten im Cache maximal einen Tag alt sind.
- Backup. Alle Dateien und die komplette Datenbank werden um 5.00 Uhr gesichert. Diese Sicherungen werden jeweils für eine Woche gespeichert.
Kleine Änderungen an installierten Erweiterungen
Für genauere Informationen seit MW 1.24.1 siehe auch Benutzer:Rene/Upgrade_Wiki#1.18.1_auf_1.24.1 hier.
ParserFunctions_body.php
Die Funktion runPos (Anweisung #pos) liefert Zeitweise Fehler. Der Wert des Parameters &inOffset wird teilweise als String interpretiert. Zur Abhilfe muss eine Zeile ergänzt werden.
if( $inNeedle == ) { $inNeedle = ' '; } $inOffset = max(intval($inOffset),0); <-- Diese Zeile einfügen (Verhindert ungültigen Parameter) $pos = @mb_strpos( $inStr, $inNeedle, $inOffset ); <-- @ ergänzen (Warnung bei Leerstring unterdrücken)
SpecialRecentchanges.php
In der Funktion setup wird der Parameter für den Aufruf
$opts->validateIntBounds('limit',0,500)
geändert in
$opts->validateIntBounds('limit',0,5000)
Damit können bis zu 5000 Änderungen angezeigt werden.
WhosOnline
In der Datei WhosOnlineSpecialPage.php muss es heißen
class SpecialWhosOnline extends IncludableSpecialPage {
und nicht wie im Original
class SpecialWhosOnline extends SpecialPage {
Dadurch kann die Spezialseite in andere Artiel eingebunden werden.
Außerdem muss die Reihenfolge der Ausgabezeilen in der Funktion execute in dieser Klasse vertauscht werden. Die Zeile
$wgOut->addHTML($pager->getNavigationBar());
muss die letzte Zeile der Funktion sein
FlaggedRevs
Die Robot Anweisungen wurde entfernt da teilweise auch geprüfte Seiten für Robots gesperrt wurden. Der Fehler ist wohl bekannt es gibt aber momentan keine neue Version.
Archiv
Informationen zu früheren Änderungen an der MediaWiki Software bzw. der Serverumgebung findet man unter StargateWiki:Server/Archiv.