StargateWiki:Server: Unterschied zwischen den Versionen

aus Stargate Wiki, dem deutschsprachigen Stargate-Lexikon
Zur Navigation springen Zur Suche springen
K Duden-Kommaregeln D104
 
(37 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Diese Seite gibt einen Überblick über dem Server und die Software. Die Informationen sind als Hilfe gedacht wenn eine neue Version der Software eingespielt werden soll.
{{InternNav}}
==Allgemeine Informationen==
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.
Stargate Wiki läuft aktuell auf einem VServer mit PHP5.0.3 und MySQL 4.1.10a. Weitere Informationen findet man auf [[Spezial:Version]]
== 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


==Anpassungen der Software==
== Software ==
Seit der Umstellung auf MediaWiki 1.12.0rc1 ist die Anpassung des HTML-Codes komplett in die Erweiterung [[Benutzer:Rene/SGHtml|SGHtml]] ausgelagert. Dadurch ist es nicht mehr nötigt die Software nach der Installation zu verändern.
* [https://www.debian.org/intro/about Debian 7.7]
* [https://www.mysql.com/ MySQL 5.5]
* [https://www.mediawiki.org MediaWiki 1.24.x] (siehe auch: [[Spezial:Version]])
* [https://php.net/ PHP 5.4] mit fastCGI


===1.12.0rc01===
=== Einstellungen MediaWiki ===
* Abschnitt bearbeiten
'''Tuning''' [http://www.mediawiki.org/wiki/Manual:Performance_tuning Tuning Tips]
Die Mediawiki Software enthält einen Fehler der dazu führt das keine Abschnitte bearbeitet werden können [https://bugzilla.wikimedia.org/show_bug.cgi?id=13354 bugzilla]. Der Fehler befindet sich in der Datei Preprocessor_DOM.php, Funktion splitHeading
* $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;


Die Zeile
'''Sicherheit'''
if( !this->nodeName == 'h')
* $wgGroupPermissions['*']['createpage'] = false;
muss geändert werden in
:Anonyme Benutzer dürfen keine neuen Seiten anlegen. ''Gilt nicht für Diskussionsseiten, dafür gibt es "createtalk"''
if( !this->getName() == 'h')
* $wgNamespaceProtection[NS_TEMPLATE] = array('createpage');
:Vorlagen dürfen nur von Benutzer bearbeitet werden die auch Seiten anlegen dürfen. Also nicht von anonymen Benutzern.


* Slash vor '
'''Diverses'''
In Verweisen wird das Zeichen «'» durch ein «\» ergänzt.
* $wgMaxUploadSize = 2*1024*1024;
* $wgJobRunRate = 0.01;


Abhilfe ?
== Regelmäßig ausgeführte Tasks ==
=== Aktuelles Sicherungskonzept ===
Stargate Wiki war leider zwei mal von einem Serverausfall mit Datenverlust betroffen.


==Anpassung der CSS-Datei==
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.
Die Anpassung der Monobook-CSS Definition erfolgt über [[MediaWiki:Monobook.css]]. Dies sind Hauptsächlich die folgenden Punkte
===Rahmen um Bilder===
Damit thumb-Bilder auf farbigen Hintergründen keinen weißen Rahmen bekommen muss die Definition der Rahmenfarbe von ''white'' auf ''transparent'' geändert werden.
div.thumb {
  border-color: transparent;
}


==Zugriffe beschleunigen==
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.
Folgende Schritte habe ich bis jetzt unternommen um die Serverlast zu verkleinern und damit Stargate Wiki zu beschleunigen.
Aus den Fehlern haben wir gelernt, daher gibt sieht unser aktuelles Sicherungskonzept wie folgt aus:
# Die „Job queue“ wird einmal am Tag, zur Mittagszeit wenn wenig los ist, komplett abgearbeitet. Während der sonstigen Zeit läuft sie nur auf Sparflamme ([http://www.mediawiki.org/wiki/Manual:Job_queue $wgJobRunRate=0.01]).
# 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).
# [http://www.mediawiki.org/wiki/Manual:File_cache MediaWiki File Cache] aktiviert. Seiten für anonyme Benutzer werden in einem Cache gespeichert. ''Dies kann zu falschen Seiten führen wenn zB eine Vorlage verändert wird.''
# Die Archive werden jeweils eine Woche lang aufgehoben und dann mit neuen Sicherungen überschrieben.
::Alle Einträge die älter als 5 Tage sind werden einmal am Tag gelöscht:
# Die Archive werden nach dem Backup auf einen externen FTP-Server kopiert. Auch auf diesem Server werden die Archive eine Woche aufgehoben.
::''find /path/to/cache -type f -mtime +5 -exec rm {} \;''
# Eine Bestätigungsmail wird nach dem Backup verschickt.
# PHP - Beschleuniger [http://eaccelerator.net/ eAccelerator] wurde [http://www.howtoforge.com/eaccelerator_php5_debian_etch installiert].
Momentan macht es den Eindruck als würde es helfen. Aber ich warte mal ab wie sich die Sache entwickelt. -- {{Benutzer:Rene/sig}} 19:50, 15. Mai 2009 (UTC)


==Archiv==
=== Sitemap ===
Einmal pro Woche wird eine Sitemap erstellt und an Google gemeldet.
 
{{Klappbox|TITEL = Alte Infos|anfang}}
Stargate Wiki läuft seit dem 15. Februar 2010 auf einem Root Server von [http://server4you.de server4you]. [https://www.server4you.de/root-server/server-details.php?products=0 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: [http://www.mediawiki.org Mediawiki], Apache2, [http://www.php.net/ PHP 5] mit [http://xcache.lighttpd.net/ XCache], [http://www.mysql.de/ MySQL 5], [http://packages.debian.org/de/lenny/librsvg2-2 rsvg]. Für weitere Informationen siehe [[Spezial:Version]].
=== Geschwindigkeit des Servers ===
[[Datei:Server-Speed.png|left]]{{ClearL}}
 
== Regelmäßige Skripte ==
Die folgenden Arbeiten werden in regelmäßigen Intervallen ausgeführt
* '''Sitemap erstellen'''. Jeden Tag um 4:00 Uhr wird eine neue [http://stargate-wiki.de/sitemap/sitemap-index-stargatewiki-sg_.xml Sitemap] erstellt [http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php]. 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.
{{Klappbox|ende}}
 
== 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
 
<pre>class SpecialWhosOnline extends IncludableSpecialPage {</pre>
 
und nicht wie im Original
 
<pre>class SpecialWhosOnline extends SpecialPage {</pre>
 
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
 
<pre>$wgOut->addHTML($pager->getNavigationBar());</pre>
 
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]].
Informationen zu früheren Änderungen an der MediaWiki Software bzw. der Serverumgebung findet man unter [[StargateWiki:Server/Archiv]].

Aktuelle Version vom 9. Januar 2022, 19:33 Uhr

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.

^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

^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:

  1. 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).
  2. Die Archive werden jeweils eine Woche lang aufgehoben und dann mit neuen Sicherungen überschrieben.
  3. Die Archive werden nach dem Backup auf einen externen FTP-Server kopiert. Auch auf diesem Server werden die Archive eine Woche aufgehoben.
  4. Eine Bestätigungsmail wird nach dem Backup verschickt.

^Sitemap

Einmal pro Woche wird eine Sitemap erstellt und an Google gemeldet.

Alte Infos

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.