Optaros: Fehleinschätzung von TYPO3?

image

Bruno von Rotz ist Vice President und Country Manager Schweiz des internationalen Beratungsunternehmens Optaros, das sich auf Open Source Software spezialisiert hat. In der Ausgabe 32/2007 der Zeitschrift Netzwoche schreibt er über Open Source CMS (Eine Orientierungshilfe im Open-Source-CMS-Nirwana).

Der Artikel zeugt insgesamt von Erfahrung und Überblick – allerdings mutet die Qualifizierung von TYPO3 etwas seltsam an: Das System sei eher für einfache Websites mit statischem Content und für Online-Periodika geeignet, weniger für komplexe Websites oder dynamische Community-Portale. Ausgerechnet das hoch komplexe TYPO3 mit seiner Multi-Site-Architektur, seiner durchgängigen Mehrsprachigkeit und seinem 3-Stufen-Workflow soll sich für einfache Websites eignen? Und wie sind die vielen Dutzend Extensions in die Bewertung eingeflossen, welche TYPO3 mit allen denkbaren applikatorischen Komponenten ausstattet?

Zwar relativiert von Rotz seine Bewertung:

«Typo3 wird auch erfolgreich für die Publikation von […] komplexeren Websites eingesetzt. […] Mit einem gewissen Konfigurations- und Programmieraufwand können viele der CMS-Lösungen für andere Anwendungsfälle erweitert und tauglich gemacht werden.»

Wer allerdings nur auf die Grafik des Artikel vertraut, wird von TYPO3 definitiv ein ganz falsches Bild erhalten.

CMS Showcase.com: Beispielhafte Websites mit Open Source CMS

Die Website CMS Showcase.com dient dem alleinigen Zweck, gut gemachte Websites, die auf Open Source CMS basieren, zu präsentieren. Derzeit werden Drupal, Expression Engine, Joomla, Mambo, MODx, Movable Type, Pligg, Protent, sNews, Textpattern, TYPO3, Typolight und WordPress berücksichtigt. Die gezeigten Beispiel eignen sich hervorragend, um allfällige Vorurteile zu zerstreuen, dass man mit einem Open Source CMS keine professionellen Websites bewirtschaften könne. Darüber hinaus ist der Erkenntniswert allerdings bescheiden, zumal die Showcases in keiner Weise kommentiert werden. Somit ist CMS Showcase.com letztlich nicht mehr als eine bebilderte Link-Sammlung.

(via ContentSchmiede)

TYPO3 Praxis: Korrupte Tabelle "pages" manuell wiederherstellen

image

Die Datenbank-Tabelle «pages» ist zentral für eine TYPO3-Website: Hier werden alle Seiten und ihre Parameter (ID, Seitentyp, Position im Seitenbaum, Berechtigungen etc.) gespeichert. Verschiedene andere Tabellen verweisen auf die Tabelle «pages». Ist sie nicht mehr verfügbar, so ist das gesamte Frontend der Website lahmgelegt, und im Backend gähnt einem ein leerer Seitenbaum entgegen.

Der folgende Artikel beschreibt, wie man im Notfall die Tabelle «pages» manuell wiederherstellen kann. Die Methode ist nicht besonders kompliziert, aber aufwendig und nur dann zu empfehlen, wenn kein Backup der TYPO3-Datenbank verfügbar ist. Sie setzt ausserdem voraus, dass alle anderen Tabellen der TYPO3-Datenbank inklusive ihre Datensätze noch existieren, namentlich die Tabelle «tt_content», in welcher der eigentliche Content der Website gespeichert ist.

Der hier beschriebene Notfall ist also ein Spezialfall: Die Chance, dass genau die Tabelle «pages» (und nur diese) korrumpiert wird, ist relativ gering. Trotzdem trat genau dieser Spezialfall bei einer meiner TYPO3-Websites aufgrund eines Schreibfehlers des Datenbank-Servers auf. Und da mein Hosting Provider Hostpoint auch nach 72 Stunden nicht in der Lage war, mir das angeforderte Notfall-Backup einzuspielen, habe ich diese Methode benutzt – vielleicht nützt sie ja jemand anderem in einer ähnlichen Situation ebenfalls.

Schritt 1: Korrupte Tabelle «pages» löschen

Prüfen Sie zuerst, ob die Tabelle «pages» tatsächlich die Ursache Ihres Problems ist. Benutzen Sie hierfür phpMyAdmin (gibt es auch als TYP03 Backend Extension «phpmyadmin»). Wenn Sie damit die Datensätze der Tabelle nicht mehr anzeigen können (und das Phänomen auch nach einer Stunde unverändert ist), dann liegt der Verdacht nahe, dass die Tabelle korrupt ist. Löschen Sie sie in diesem Fall mit phpMyAdmin (DROP TABLE ‚pages‘).

Schritt 2: Tabelle «pages» neu anlegen

Um die Tabelle «pages» neu anzulegen brauchen Sie glücklicherweise die Tabellenstruktur nicht manuell zu definieren: Das Modul «Install» im TYPO3-Backend erledigt dies auf Knopfdruck. Gehen Sie zum Abschnitt 2. Database Analyser des Install-Moduls und rufen Sie dort den Befehl Update required tables COMPARE auf. Dadurch überprüft TYPO3, ob die aktuelle Datenbankstruktur korrekt und vollständig ist. Als Ergebnis erhalten Sie einen Bericht, der Ihnen nahelegt, die Tabelle «pages» neu zu erstellen (CREATE TABLE pages…). Klicken Sie den entsprechenden Button, um genau dies zu tun. Anschliessend sollten Sie in phpMyAdmin eine intakte Tabelle «pages» mit 0 Datensätzen vorfinden.

Schritt 3: Seitenbaum rekonstruieren

Die eigentliche Schwierigkeit besteht darin, den Seitenbaum der Website zu rekonstruieren. Entscheidend ist insbesondere, dass diejenigen Seiten, denen Templates zugewiesen wurden, mit der gleichen ID und auf derselben Hierarchiestufe wiederhergestellt werden.

Insbesondere bei einer grösseren/komplexeren Website kann es helfen, wenn Sie zunächst einige zentrale Seiten-IDs recherchieren. Aus der Tabelle «tt_content» können Sie in der Spalte «pid» die grösste existierende Seiten-ID ablesen; so viele Seiten werden Sie später erstellen müssen. Ferner können Sie in der Tabelle «sys_template» ablesen, welchen Seiten-IDs Templates zugewiesen sind; so lange die Seiten mit diesen IDs nicht neu angelegt wurden und an der richtigen Stelle im Seitenbaum stehen, werden Sie im Frontend keine sinnvolle Ausgabe erhalten.

Legen Sie nun im TYPO3-Backend so viele neue Seiten an, bis Sie die oben erwähnte grösste existierende Seiten-ID erreicht haben. Als Seitentitel geben Sie zunächst nur die Seiten-ID ein, alle anderen Felder belassen Sie leer bzw. auf dem Default-Wert. Am schnellsten geht dies über das Modul «Functions», wo Sie bis zu neun Seiten in einem einzigen Arbeitsgang erzeugen können.

Sobald eine Seite existiert, können Sie im Backend den darin enthaltenen Content sehen. Dies sollte Ihnen helfen, einen sinnvollen Seitentitel zu vergeben und die Seite an die korrekte Stelle im Seitenbaum zu verschieben. Stossen Sie auf Seiten ohne Content, so blenden Sie diese für den Moment aus – löschen Sie sie aber keinesfalls, da es sich um spezielle Seitentypen wie Shortcuts oder SysFolders handeln könnte, die für das Funktionieren der Website essentiell sind.

TYPO3 Tuning: SmoothGallery

image

rgsmoothgallery ist definitiv nicht die erste Extension für TYPO3, welche das CMS mit einer Kombination aus Fotoalbum, Bildergalerie und Diaschau ausstattet. Trotzdem ist sie einen Blick wert, denn sie bietet ästhetisch überzeugende Bildstrecken mit eleganten Animationen.

Georg Ringer hat für seine Extension die SmoothGallery für TYPO3 adaptiert und dabei unterschiedlichste Möglichkeiten berücksichtigt, woher die Extension ihre Bilder holt (aus einem Verzeichnis im Filesystem, aus Datensätzen der Tabellen tt_content bzw. tt_news oder aus dem Digital Asset Manager DAM). Die Installation ist problemlos, sofern man nicht vergisst, das TypoScript-Template der Extension einzubinden (Include static from extensions).

Der Content Manager fügt die SmoothGallery wie üblich als Inhaltselement vom Typ «Plugin» in seine Seite ein, verweist auf die darzustellenden Bilder und gibt ggf. einige Konfigurationsparameter (z.B. Höhe und Breite) ein. Einige Anwendungsbeispiele finden sich auf der Website des Entwicklers.

TYPO3 Tuning: Nutzungsstatistik mit AW Stats

image

In der Grundausstattung bringt TYPO3 keine Nutzungsstatistik mit – wie oft die Website oder gar einzelne Seiten besucht werden, bleibt dem Webmaster somit verborgen. Um zu entsprechenden Zahlen zu kommen gibt es prinzipiell drei Möglichkeiten:

  1. Auswertung des Log-Files des Web-Servers mit einem geeigneten Tool (unabhängig von TYPO3)
  2. Nutzung eines Service wie Google Analytics (erfordert den Einbau von JavaScript auf den auszuwertenden Seiten; tendenziell weniger zuverlässig als eine Auswertung auf dem eigenen Server)
  3. Einbau einer Statistik direkt in TYPO3 über eine geeignete Extension (Auswertung erfolgt über das TYPO3 Backend)

Für die dritte Methode gibt es eine simple und eine luxuriöse Variante. Die simple heisst konsequenterweise Simple Hit Statistics (sys_stat) und ergänzt das List-Modul um eine Ansicht, welche die Page Views, Hits und Sessions über den letzten Monat ausweist. Das gibt ein Gefühl dafür, ob die Site genutzt wird – mehr aber auch nicht.

Die luxuriöse Variante ist AWStats (cc_awstats), eine Extension, welche das in Perl programmierte Open Source Tool AWStats in das TYPO3 Backend einbindet. Damit erhält man detaillierte Statistiken über Nutzung und Nutzer der Website inklusive ansprechende Diagramme. Das einzige Problem besteht darin, dass AWStats einem Bereich im TYPO3-Backend zugeordnet ist, der für Nicht-Administratoren nicht zugänglich ist.

TYPO3 Tuning: Digital Asset Management (DAM)

image

Das Standard-Werkzeug von TYPO3 zur Verwaltung von Bildern, PDFs, Textdateien, Audio- und Video-Dateien ist vergleichsweise einfach aufgebaut. Zwar generiert es automatisch Vorschaubilder (was nicht jedes CMS kann), ansonsten bietet die sogenannte Dateiliste (engl. Filelist) aber nicht viel mehr als das, was man auch mit einem FTP-Client sehen und machen kann. Und der einzige Weg, die Dateiliste einigermassen übersichtlich zu gestalten, besteht darin, Unterverzeichnisse anzulegen.

Wenn die Anzahl der Dateien grösser und die Website komplexer wird, stösst die Dateiliste an ihre Grenzen. Die modernere und leistungsfähigere Alternative ist die Extension DAM (Digital Asset Management) von Rene Fritz, die anstelle der Dateiliste das Modul «Media» ins TYPO3-Backend integriert.

DAM erlaubt es, Zusatzinformationen (sog. Meta-Daten) über Dateien in der Datenbank abzulegen und später auf vielfältige Weise danach zu suchen, zu filtern und zu sortieren. Meta-Daten können Angaben über den Urheber, Schlagwörter, Kategorien, Inhaltsbeschreibungen, technische Informationen und anderes mehr sein. Auch Spezialfunktionen wie das Durchsuchen von PDF- oder Textdateien oder die Zuweisung von Meta-Daten per Stapelverarbeitung gehören zu den Vorzügen von DAM. Für kleine Sites ist diese Extension unter Umständen zu komplex oder zumindest überflüssig – für grössere wird sie rasch unverzichtbar.

SEO mit TYPO3: Tipps für die Suchmaschinen-Optimierung

Wer eine TYPO3-basierte Website optimal in Suchmaschinen positionieren möchte findet auf folgenden Websites konkrete Tipps:

Eine sehr einfache und wirksame Methode steht TYPO3-Administratoren ausserdem in Form von Extensions, die Google XML Sitemaps erzeugen, zur Verfügung (vgl. TYPO3 Tuning: Extensions für Google Sitemaps).

3 Wege zu einer TYPO3 Test-Installation

Wer TYPO3 kennenlernen möchte, muss nicht zwingen einen Server besitzen, und auch der Installationsprozess kann sehr einfach sein. Folgende drei Methoden stehen zur Auswahl:

image

Für einen ersten Eindruck ohne jeden Installationsaufwand empfiehlt sich OpenSourceCMS.com: Auf dieser Website sind zahlreiche CMS-Systeme zu Testzwecken frei zugänglich. Der Nachteil dieser Methode: Man hat die Test-Installation nicht für sich allein, sondern teilt sie in der Regel mit diversen anderen Testern. Zudem wird die Installation einmal pro Stunde zurückgesetzt, was längerfristige oder komplexere Tests unmöglich macht.

image

Der TYPO3 Winstaller ist ein Komplettpaket, das auf einem Windows-PC vollautomatisch alle erforderlichen Server-Komponenten (Apache, PHP, MySQL, GraphicsMagick – Details hier) einrichtet und zusätzlich TYPO3 installiert. Diese Methode braucht etwas Geduld beim Download (der Installer ist 33 MByte gross), ansonsten ist sie aber absolut simpel. Der TYPO3 Winstaller manifestiert sich in Form eines kleinen Control Panels, über das man die Server-Komponenten starten und stoppen kann. Bei der Installation werden zwei TYPO3-Instanzen angelegt: zum einen die Quickstart-Website des FC Bigfoot, zum anderen die TYPO3-Testsite. Ins Backend einloggen kann man entweder mit typo3/typo3 oder auch mit dem Default-Login admin/password.

image

Sofern man bereit ist, den TYPO3 Sourcecode manuell zu installieren, bieten sich diverse Pakete an, die auf einem Desktop-Rechner einen kompletten WAMP, MAMP oder LAMP Server einrichten, d.h. den Apache Webserver, den MySQL Datenbank-Server und den PHP Application Server unter Windows, Mac OS X oder Linux bereitstellen. Das bekannteste Paket ist XAMPP von Apache Friends, das es für alle drei oben genannten Betriebssysteme gibt (ferner auch für Solaris). Diese Methode ist eine Spur anspruchsvoller als der TYPO3 Winstaller, hat aber den Vorteil, dass man auch gleich lernen kann, wie die Installation von TYPO3 auf einem Server erfolgen würde.

Schwere Sicherheitslücke in MySQL Dumper

image

MySQL Dumper, das es sowohl als Stand-alone Tool als auch als TYPO3 Extension gibt, hat offenbar eine gravierende Sicherheitslücke. Diese Lücke erlaubt es einem Angreifer, Lese- und Schreibrecht für die Datenbank zu erlangen und sie komplett herunterzuladen, sofern er den Pfad der MySQL-Dumper-Installation errät. Bei der TYPO3-Extension ist dieser Pfad vorgegeben und somit allgemein bekannt, aber auch wer das Stand-alone Tool unter www.domain.com/mysqldumper installiert hat lebt gefährlich. Brisant ist, dass MySQL Dumper selbst eindringlich empfiehlt, die Installation mit einem Passwort zu schützen, dass aber der vom Tool selbst angelegt Passwortschutz unterlaufen werden kann – der Anwender wiegt sich deshalb in falscher Sicherheit.

Die Sicherheitslücke wurde in einem Bulletin des TYPO3 Security Teams publiziert. Diesem ist auch zu entnehmen, dass die Autoren von MySQL Dumper während 3 Wochen nicht auf entsprechende Warnungen reagiert haben. Auch heute liest man auf www.mysqldumper.de nichts von diesem gravierenden Sicherheitsproblem. Unter den gegebenen Umständen muss ich meine einstige Empfehlung für dieses Tool rückgängig machen. Wenn Sie trotzdem nicht auf MySQL Dumper verzichten wollen, dann ergreifen Sie zumindest die folgenden Sicherheitsmassnahmen:

  • Installieren Sie MySQL Dumper in einem Verzeichnis, dessen Pfad niemand erraten kann.
  • Legen Sie den Passwortschutz für dieses Verzeichnis manuell an (d.h. nicht mit MySQL Dumper).
  • Verzichten Sie auf die TYPO3 Extension, nutzen Sie nur das Stand-alone Tool.