Typo3 - Wartung

Aus Wikizone
Wechseln zu: Navigation, Suche

Eine laufende Typo3 Installation muß ab und zu gewartet werden. Das betrifft vor allem die temporären Dateien. Das meiste kann man auch mittels Cron Job automatisieren.


Wartungsaufgaben[Bearbeiten]

Checkliste Wartungsarbeiten für TYPO3 Projekte[Bearbeiten]

Von http://jweiland.net/index.php?id=typo3-wartung Datum des Zugriffs: 18.7.2007

TYPO3 installieren und dann vergessen? Nein, so einfach ist das nicht. Wie ein Auto sollte man auch eine TYPO3 Installation einer regelmäßigen Inspektion unterziehen. Diese Seite erklärt, worauf es ankommt.

1. Wachsender Bedarf an Speicherplatz Jede TYPO3 Installation verfügt über einen begrenzten Speicherplatz, ganz gleich ob es sich um Webspace oder einen eigenen Server handelt. Im Kundenmenü des Providers befindet sich in der Regel eine Abrufmöglichkeit für den bereits belegten bzw. freien Speicherplatz.

Der Bedarf an Speicherplatz wächst aber nicht nur mit dem Einstellen neuer Inhalte auf der Webseite (insbesondere Bilder und Multimedia-Inhalte) sondern auch durch Logdateien.

Da sind einerseits die vom Webserver erstellten Logfiles: je nach Konfiguration werden diese nach ein paar Wochen gelöscht oder aber auch für einen unbegrenzten Zeitraum gespeichert.

Generell sollten Logdateien vor einer Löschung archiviert werden (z.B. auf ein externes Medium), damit man bei Bedarf wieder auf die Daten zugreifen kann.

Auch TYPO3 selbst bietet die Möglichkeit, z.B. für die Erstellung von Statistiken mit AWSTATS, Logdateien zu erstellen.

Im Gegensatz den den Logdateien des Servers wird hier allerdings nur eine Zeile je Seitenzugriff gespeichert (der Server speichert Zugriffe auf alle Dateien). Aber die Logdatei von TYPO3 kann im Laufe der Zeit eine beträchtliche Größe erreichen. Allerdings liegt hier die maximale Dateigröße auf den meisten Systemen bei 2 GB, danach werden keine weiteren Daten mehr protokolliert.

Sinnvoll wäre hier z.B. zu Jahresbeginn die Einträge des Vorjahres in eine separate Datei auszulagern und wieder frisch anzufangen. Auf der Unix-Shell könnte das Anfang 2007 z.B. so aussehen:

# Extrahieren und Packen der Daten von 2007: 
egrep "/2007:" logfile.log > 2007.log | gzip
# Extrahieren der Daten vom Beginn des Jahres 2008:
egrep "/2008:" logile.log > 2008.log
# Kopieren von 2008.log in die 'neue' Datei logfile.log:
cp 2008.log logfile.log

2. Datenbanken, die aus allen Nähten platzen

So eine MySQL Datenbank kann schon beachtlich groß werden. Die größte TYPO3 Datenbank die ich im Einsatz gesehen habe, hatte über 50 GB Umfang. So eine Größe geht natürlich auch zu Lasten der Performance.

In der Datenbank neben den eigentlichen Inhalten auch viele Cache-Tabellen und temporäre Daten verwaltet. Oft stellt man fest, dass gerade die "cache...." Tabellen am meisten Platz benötigen.

Zusätzlich gibt es Extensions wie sys_stat oder vts (Visitor Tracking System), die jeden Seitenaufruf protokollieren. Nach einer Millionen Seitenaufrufe haben diese Tabellen entsprechend viele Einträge.

Die Einträge aus der Tabelle sys_stat dienen z.B. zur Anzeige der Zugriffe in den letzten 30 Tagen unter Web->Info->Zugriffstatistik. Dadurch macht es relative wenig Sinn, in dieser Tabelle die Daten mehrerer Jahre zu speichern. Über einen cronjob könnte man z.B. regelmäßig alle Datensätze entfernen (oder in einer Datei auslagern), die älter als 30 Tage sind.

Auch für Extensions wie vts muß man sich überlegen, ob eine Erfassung aller Zugriffsdaten sinnvoll ist. Nützlicher wäre in vielen Fällen die Datensammlung über einen Zeitraum von einer Woche und das 1-2 Mal pro Jahr.

3. Backups

Ein Administrator sollte in regelmäßigen Abständen prüfen, ob die Backups der Dateien und Datenbanken korrekt angelegt werden. Ideal ist eine gelegentliche Prüfung, ob sich die Daten aus den Backups auch wiederherstellen lassen.

Bei unseren TYPO3 Hosting Paketen werden z.B. doppelte Backups angefertigt: einerseits auf dem Webspace selbst (kostet zwar Speicherplatz, aber der Kunde hat selbst Zugriff auf die Dateien), andererseits auf externe Systeme.

Beim Prüfen der Datensicherung auch darauf achten, ob z.B. neu angelegte TPYO3 Projekte und Datenbanken auch mit in das Backup aufgenommen werden.

Sehr sinnvoll ist es auch, z.B. einmal im Monat ein Backup zusätzlich auf CD/DVD zu speichern.

4. Aktuelle Versionen und Security Updates

TYPO3 und auch die Extensions werden ständig weiterentwickelt. Das sollte schon Grund genug sein, ein System immer auf dem Laufenden zu halten und Updates zu installieren.

Ganz wichtig ist die zeitnahe Installation von Updates, die nach Entdeckung einer Sicherheitslücke verfügbar gemacht werden: hier beginnt bei Bekanntgabe der Lücke nämlich ein Wettlauf zwischen Hackern, die diese Lücke ausnutzen wollen und den Betreibern von Webseiten, die ihre Systeme wieder absichern möchten.

Security Updates gibt es übrigens meist nur für die jeweils aktuelle TYPO3 Version, das ist ein weiterer Grund um sein System immer auf dem aktuellen Stand zu halten.

5. Verdächtiges aufspüren

In regelmäßigen Abständen sollte ein Administrator die Liste der TYPO3 Backend-Benutzer kontrollieren. Wurden hier z.B. über SQL-Injection vielleicht neue User angelegt, die dort nichts zu suchen haben? Oder sind hier noch Redakteure gelistet, die schon lange nicht mehr in der Firma arbeiten?

Auch ein Blick in das Systemlog von TYPO3 (Tools->Log) offenbart fehlgeschlagene Loginversuche in das TYPO3 Backend.

Beim Einloggen in das TYPO3 Backend sollte ein Admin-User auch immer auf die gelben Warnhinweise achten, die bei Fehlkonfigurationen angezeigt werden. Nicht umsonst erscheinen sie im knalligen Gelb mit Warndreieck... 6. Wenn einer eine Reise tut...

Manchmal passieren irgendwelche Dinge, wenn man sie am wenigsten brauchen kann (Murphy's Law). Kaum ist man am Urlaubsort angekommen, stellt sich heraus, dass irgendetwas mit der Webseite nicht stimmt.

So manches kann man ja Dank eines Content Management Systems auch vom nächsten Internetcafe unterwegs erledigen, aber dafür ist es erforderlich, die wichtigsten Daten zur Hand zu haben.

Hier eine Checkliste:

* Zugangsdaten (URL, User, Passwort) für TYPO3 Backend und Kundenmenü
* Telefonnummer des Providers (möglichst keine 0800-Nummer, da diese aus dem Ausland meist nicht erreichbar ist)
* Kundennummer und Passwort beim Provider

Fazit

Wenn die Hinweise auf dieser Seite beachtet werden, dann steht einem jahrelangen, problemlosen Betrieb von TYPO3 und auch einem längeren Urlaub nichts im Wege.

Temporäre Dateien[Bearbeiten]

Im Install Tool typo3temp/

Datenbank[Bearbeiten]

Im Install-Tool Database Analyser (Wenn Statistik, Log oder ähnliches gelöscht werden soll) CleanUp Database Gecachte Daten bzw. deren Referenzen

automatische Typo3 Wartung[Bearbeiten]

Typo3 Entrümpeln[Bearbeiten]

Ein kleiner Artikel von Tim Lochmüller aus dem Adventskalender 2008

Tutorial - TYPO3 entrümpeln Tim Lochmüller in Dev, Extension, Performance, TYPO3, Tutorial

Nachdem Frank den gemeinsamen Adventskalender angekündigt hat, hat er gestern mit dem ersten Türchen vorgelegt. Heute öffne ich das zweite Türchen für euch, indem wir ein “wenig” TYPO3 aufräumen werden.

Fangen wir einfach direkt mit den Files an…

TYPO3 bläht sich in Sachen Dateien schnell auf. Bei 99% der “Datei”-Felder im Backend wird eine Kopie der Datei im “uploads”-Verzeichnis hinterlegt, an welches normale Redakteure nicht heran kommen. Dies hat zum einen Vorteile zum anderen aber auch Nachteile. So ist die Seite z.B. dagegen geschützt das ein Redakteure ausversehen (Soll es ja geben ;-) ) eine falsche Datei im fileadmin löscht. Der Nachteil dieser Kopie ist, das es keinen Mechanismus gibt der die Datei löscht, sobald auch der Datensatz gelöscht wurde. Somit läuft der uploads Folder langsam aber sicher mit nicht mehr gebrauchten Bildern voll…

Nun gibt es zwei einfache Vorgehensweisen. Die simpelste ist die Installation der Extension kb_cleanfiles. Diese Extension vergleicht die Inhalte der Ordner mit den Referenzierungen in den dazugehörigen Datenbank Tabellen. Auf einen Blick sieht man Dateien die entfernt werden können. Durch einen weiteren Klick werden diese entfernt. Screenshot der Extension:

Bild 1.png

Eine Alternative zu der Extension ist das TYPO3 interne Modul. Zu finden ist das Modul unter “DB-Überprüfung” -> “Database Relations”. Neben dem Listing “Dateien, die in keinem Eintrag verwendet werden (bitte löschen!):”, welches der inhaltlichen Ausgabe der Extension sehr ähnelt, wird hier auch angezeigt ob Dateien doppelt referenziert werden (Das ist in TYPO3 nicht üblich und geschieht evtl. durch schlecht durchdachte Extensions. TYPO3 selbst erstellt immer eine Kopie und Nummeriert diese ggf. durch.). Auch wenn ihr dem TYPO3 Module evtl. mehr vertraut, habt ihr hier keine direkte löschen Funktion. Dies muss dann von Hand vorgenommen werden.

Die oben beschriebenen Techniken befreit den uploads-Folder von Altlast. Aber auch der “typo3temp”-Ordner wird schnell zu gemüllt. Dieser wird NICHT, wie viele denken, bei einem “FE-Clear-Cache” geleert. Generierte Bilder für FE und BE sowie GifBuilder Grafiken bleiben weiterhin bestehen. Deshalb ist auch hier ein aufräumen nach einer gewissen Zeit empfehlenswert. Dies geschieht am besten über das Install Tool mit dem man die Ordner nach und nach leeren kann (Siehe Screenshot)

Bild 3.png

Weiter geht es mit der Datenbank…

Neben den Dateien gibt es auch die Datenbank die gerne schnell voll läuft. TYPO3 hat die “gute” Eigenschaft nichts zu löschen, sondern Datensätze zu “flaggen” damit man diese leicht rekonstruieren bzw. wiederherstellen kann. Nun gibt es aber viele, viele Datensätze die wirklich nicht mehr benötigt werden (z.B. Testdaten der Erstbefüllung). Diese zu finden und zu löschen ist die Aufgabe der kj_recycler-Extension. In einem übersichtlichen Backendmodul bekommt man alle gelöschten Datensätze angezeigt, welche man dann “richtig” löschen kann. Achtung: Es gibt kein zurück!! Mein Tipp: Die Extension updated nicht den Referenz Index. Dieser sollte im Anschluss des Löschens manuell geupdated werden, damit dieser wieder richtig ist.

Bild 4.png

Eine weitere Last in der Datenbank können die Cache Tabellen sein. Temporäre Tabelle beginnen laut TYPO3 Namenkonvention mit dem Präfix “cache_”. Diese Tabellen können “im Normalfall” ohne weiteres geleert werden (nicht droppen). In die Liste würde ich gerne noch die “sys_histroy” aufnehmen. Diese Tabelle wird auch sehr schnell voll. Wichtig ist dabei aber, dass man wissen sollte das die Tabelle Aktionen der Backendaktivität enthält, die dadurch verloren gehen (Loginzeiten, Änderungen, History halt ;-) ).

Bild 5.png

Fazit

Durch die oben beschriebene Massnahmen könnt Ihr grade bei älteren TYPO3 Seiten ordentlich aufräumen und auch die Datenbank evtl. sogar beschleunigen (weniger ist manchmal mehr ;-) ). Ich empfehle jedoch vorher immer ein Backup zu machen.