Typo 3 - Robert Steindl - E-Book

Typo 3 E-Book

Robert Steindl

0,0
9,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Die hohe Flexibilität von Typo3 4.x hat ihren Preis: Nicht selten benötigen Webseitenentwickler Wochen oder gar Monate, um sich in das freie Content-Management-System einzuarbeiten. Der erfahrene IT-Berater und Entwickler Robert Steindl kennt die Probleme, insbesondere bei der Erweiterung von Typo3, aus seiner täglichen Arbeit. Sein Buch bietet Typo3-Entwicklern konkrete Hilfe bei der Entwicklung von Templates, bei der Arbeit mit TypoScript und beim Programmieren von Extensions

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsübersicht

1  Grundlagen

1.1  Einleitung

1.2  Entstehung von Typo3

1.3  Architektur

1.4  TYPO3 Association und Community

1.5  Ressourcen

2  Typo3 installieren

2.1  Systemvoraussetzungen

2.2  Typo3 unter Linux und Windows

2.3  Basisinstallation

2.4  Extensions

2.5  Multiple Websites mit Typo3

3  Website Design mit Typo3

3.1  HTML ist aller Seiten Anfang

3.2  Die statische Variante

3.3  Automatische Templates

3.4  TemplaVoila

3.5  TypoScript

3.6  Menüs in Typo3

3.7  Barrierefreies Design

3.8  Mehrsprachige Websites

3.9  Frontend-Benutzer

4  Das Typo3 Backend

4.1  Benutzerverwaltung

4.2  Backend anpassen

4.3  Workflows in Typo3

5  Extension-Entwicklung

5.1  Grundlagen

5.2  Der Extension Kickstarter

5.3  Backend-Programmierung

5.4  Frontend-Programmierung

5.5  Project Coding Guidelines

5.6  Typo3-API

6  Lösungen

6.1  Performance steigern

6.2  Einbinden in bestehende Architekturen

6.3  Backup

6.4  Sicherheit

6.5  Suchmaschinenoptimierung

Stichwortverzeichnis

1  Grundlagen

1.1  Einleitung

Rund um die Welt von Typo3 gibt es eine Vielzahl von Dokumentationen, von Online-Tutorials bis hin zu gedruckten Werken. Doch häufig habe ich festgestellt, dass diese Dokumentationen entweder nur den Einstieg ermöglichen und aufhören, wenn die ersten echten Probleme bei einer Typo3-Implementierung auftauchen, oder dass sie zu spezialisiert sind und die alltäglichen Probleme ausklammern.

Dieses Buch soll daher eine Brücke schlagen vom ersten Kontakt mit Typo3 bis hin zum professionellen Einsatz. Die allereinfachsten Dinge werden hier zwar ausgeklammert, doch wird bei Bedarf soweit darauf eingegangen, dass jemand, der bereits eine einfache Typo3-Installation erfolgreich hinter sich hat, nicht mehr zusätzlich in den Einsteiger-Texten nachschlagen muss.

Die Ausrichtung ist dabei technisch, Zielgruppe sind daher Administratoren und PHP-Entwickler, die mehr aus ihrem Typo3-System herausholen wollen als nur eine einfache Website.

Als Basis für dieses Buch dient Typo3 in der Version 4.2. Diese Version hat gegenüber dem Vorgänger 4.1 vor allem die Bedienung im Backend verbessert, beispielsweise durch einen Typo3-Editor. Die grundlegenden Konzepte haben sich aber nicht geändert. Sollte sich eine Funktion so erheblich von den 4.1- oder älteren Versionen unterscheiden, dass sie nicht auf Anhieb identifizierbar ist, wird im Text darauf hingewiesen.

1.2  Entstehung von Typo3

Kasper Skårhøj begann 1997 mit der Entwicklung eines Systems, das die einfache Erstellung von Websites ohne Programmierkenntnisse erlauben sollte. Nach den ersten Prototypen wurde das System durch die Webagentur superfish.com bis zum Jahr 1999 kommerziell weitergeführt. Doch als Kasper Skårhøj erkannte, dass superfish.com eine andere Richtung weg vom CMS einschlug, verließ er die Firma und nahm die Rechte an Typo3 mit.

Ein weiteres Jahr arbeitete er allein an dem System, bis er es schließlich im August 2000 als Beta-Version unter der GPL (General Public License) einer breiteren Öffentlichkeit vorstellte.

Die schnell wachsende Community brachte viele Ideen in das Projekt ein, und im Mai 2002 kam schließlich Typo3 3.0 auf den Markt, die erste Variante, die nicht den Status einer Betaversion hatte.

Noch im gleichen Jahr erschien die Version 3.5 und mit ihr der Extension Manager, der seitdem die zentrale Schaltstelle für die Erweiterbarkeit des Systems darstellt.

Typo3 ist, abgesehen von seiner enormen Nützlichkeit, ein Musterbeispiel einer Art der Programmentwicklung, wie sie im kommerziellen Bereich kaum möglich wäre: Ideen und Qualitätssicherung kommen sowohl aus einem Kernteam als auch aus einer breiten Community, und Qualität hat Vorrang vor Geschwindigkeit.

Auch die kommende Version 5.0 von Typo3 bleibt diesen Grundsätzen treu. Bereits seit Ende 2006 ist das Projekt in Arbeit, das Typo3 technisch von Grund auf neu erfinden soll. Die Roadmap[1] enthält nicht, wie bei kommerziellen Projekten üblich, Zeitangaben, sondern eine Feature List. Erst wenn die Funktionalität der Planung entspricht, wird ein Release erfolgen.

1.3  Architektur

Die Systemarchitektur von Typo3 ist durchgehend auf einfache Erweiterbarkeit ausgelegt. Die Basis des Systems bildet der Typo3-Core, ein Framework, das die grundlegenden Funktionen zur Verfügung stellt.

Bild 1.1  Die grundlegende Architektur von Typo3

Nahezu die gesamte CMS-Funktionalität von Typo3 steckt allerdings nicht im Kern, sondern in den Erweiterungen, die in drei Stufen vorhanden sind – als da wären: Systemerweiterungen, globale und lokale Extensions.

Lokale Extensions sind im Verzeichnis der Applikation abgelegt, globale und Systemerweiterungen dagegen im Verzeichnis des Frameworks.

Bild 1.2   1 Die Extension-Architektur von Typo3

Wie in späteren Kapiteln genauer erläutert wird, spielt es für die Funktion keine Rolle, wo eine Extension angesiedelt ist. Die Unterschiede liegen vielmehr in der Verfügbarkeit der Erweiterung bei parallelen Installationen und in den Rechten, die nötig sind, um eine Erweiterung oder ein Update zu installieren.

Als allgemeine Richtlinie für die Installation von Extensions sei hier nur gesagt: Je spezifischer eine Erweiterung an eine Typo3-Applikation angepasst ist, desto lokaler sollte sie installiert werden.

Die Core-Funktionen liegen größtenteils im Verzeichnis t3lib der Installation, Erweiterungen je nach Art der Installation entweder unterhalb von typo3 oder in typo3conf. Auf die Dateistruktur werden wir in den jeweiligen Kapiteln noch genauer eingehen.

Bild 1.3   1 Verzeichnisbaum von Typo3

1.4  TYPO3 Association und Community

Die TYPO3 Association[2] mit Sitz in der Schweiz lenkt seit 2004 die Geschicke von Typo3, indem sie die Entwicklung von Typo3 koordiniert und fördert, Veranstaltungen organisiert oder PR-Aktivitäten übernimmt. Als Non-Profit-Organisation ist sie dabei auf Mitgliedsbeiträge und Spenden angewiesen.

Trotzdem war und ist Typo3 wie die meisten Open-Source-Projekte letztendlich ein Produkt seiner Community[3]. Interessanterweise ist derzeit die Aktivität der Community in Deutschland am höchsten, obwohl Typo3 seinen Ursprung in Dänemark hat.

Die hauptsächliche Kommunikation innerhalb der Community erfolgt über eine Vielzahl von Mailinglisten. Doch auch andere Kanäle wie IRC-Chats oder Podcasts zu Typo3 werden natürlich genutzt.

Wer mehr Wert auf persönliche Kontakte legt, kann sich einer der vielen lokalen Usergroups anschließen oder eine Typo3-Veranstaltung besuchen. Besonders erwähnt seien hier die Typo3 Snowboard Tour (T3BOARD, mit hohem Spaßfaktor), die Typo3 Developer Days (T3DD, mit Ausrichtung auf Programmierung) und die T3CON, die größte Typo3-Veranstaltung, die Entwickler und Anwender von Typo3 zusammenbringt.

1.5  Ressourcen

Erste Anlaufstelle für alle Typo3-Fragen sind natürlich die beiden Websites http://typo3.com und http://typo3.org, wobei erstere das Projekt vorstellt, während letztere sich mehr an die Entwickler richtet.

Darüber hinaus gibt es eine Reihe von Websites, die nützliche Informationen bieten:

Adresse

Angebot

http://typo3.org/community

Alle Informationen zur Typo3-Community

http://www.typo3.net

Deutschsprachige Site zu Typo3 mit Übersetzungen der Dokumentation, Forum etc.

http://lists.netfielders.de

Zentrale Seite zum Abonnieren von Mailinglisten rund um Typo3

http://www.traumprojekt.com/ forum/112-typo3/

Foren-Seite mit vielen Infos und Tipps rund um Typo3

http://www.typo3forum.net/

Deutschsprachiges Forum

[1]

http://typo3.org/development/roadmap/

[2]

http://association.typo3.org

[3]

http://typo3.org/community

2  Typo3 installieren

2.1  Systemvoraussetzungen

Angesichts des Leistungsumfangs von Typo3 nehmen sich die Systemvoraussetzungen schon fast bescheiden aus, zumindest nach heutigen Verhältnissen. Die absolute Mindestanforderung, nämlich ein Webserver mit PHP-Unterstützung und MySQL als Datenbank, erfüllen heute bereits einfache Hosting-Pakete für ein paar Euro im Monat. Allerdings sind die Leistungsgrenzen hier schnell erreicht, und oft sind auch die Konfigurationsmöglichkeiten zu gering, sodass ein eigener Server – zumindest ein virtueller – die Basis sein sollte.

Grundvoraussetzungen

Die Typo3-Website nennt aktuell folgende Voraussetzungen für den Einsatz:

Betriebssystem: Unix (bzw. Linux), Windows oder Mac OS

Webserver: Apache, Microsoft IIS

Middleware: PHP4 oder PHP5

Datenbank, Kernsystem: MySQL

Datenbank, Erweiterungen: Oracle-Unterstützung, MS-SQL, ODBC, LDAP – praktisch jede externe Datenquelle. Angesteuert durch PHP.

Tipp: Wichtig ist vor allem, dass die PHP-Version auf dem Server zur verwendeten Typo3-Version passt. Alle Typo3-Varianten vor 4.2 laufen noch mit PHP4, Typo3 4.2 setzt dagegen bereits mindestens PHP 5.2.0 voraus. Viele Hoster bieten aber derzeit noch 5.1.x an, sodass in diesem Fall Typo3 4.1 die höchste installierbare Version ist.

Als Mindestanforderung für den Webserver finden Sie auf der Typo3-Seite etwas knapp bemessene Werte, so etwa 256 MB für den Arbeitsspeicher. Fortgeschrittene Funktionen wie Grafikverarbeitung oder indizierte Suche verlangen aber bei umfangreichen Seiten schnell nach mehr.

Optionale Voraussetzungen

Um Typo3 voll auszureizen, sollten neben den Grundvoraussetzungen noch einige weitere Anforderungen erfüllt sein.

ImageMagick

oder

GraphicsMagick

zur automatischen Bildbearbeitung

GDlib/Freetype (kompiliert mit PHP)

zlib (kompiliert mit PHP)

Apache mit

mod_gzip

/

mod_rewrite

Ein PHP-Cache (z. B. PHP-accelerator / Zend Accelerator, nur für UNIX)

Die GD-Bibliothek stellt dabei kein Problem dar; sie steht praktisch immer zur Verfügung, und auch

mod_rewrite

bieten einige Hoster bereits bei kleinen Paketen an. Die Installation von ImageMagick oder GraphicsMagick erfordert allerdings zwingend mehr Rechte, als mit einem gewöhnlichen Hosting-Paket verfügbar sind.

2.2  Typo3 unter Linux und Windows

Grundsätzlich gibt es beim Einsatz von Typo3 nur wenige Unterschiede zwischen den Betriebssystemen. Schließlich ist Typo3 kein kompiliertes Programm, sondern eine in PHP geschriebene Anwendung. PHP liegt als Mittelschicht zwischen Typo3 und dem Betriebssystem und gleicht so die meisten Unterschiede aus. Im laufenden Betrieb spielt daher das verwendete Betriebssystem bis auf wenige Ausnahmen nur eine geringe Rolle. Anders sieht es bei der Installation aus.

Linux-spezifische Eigenheiten

Vorbemerkung: Die hier angesprochenen Eigenheiten gelten ähnlich für andere Unix-Systeme sowie für Mac OS X, das ebenfalls auf einem Unix-Kern aufsetzt.

Symbolische Links

Das Linux-Paket von Typo3 nutzt standardmäßig symbolische Links. Dies ermöglicht es, das Basis-Paket von der eigentlichen Website zu trennen und so die Basis für mehrere Websites zu verwenden oder durch eine neue Version zu ersetzen, ohne die Website selbst anzutasten (inklusive der relativ einfachen Rückkehr zur alten Version, falls etwas nicht funktioniert).

Systemrechte

Linux besitzt eine umfangreiche Rechteverwaltung, von der man meist nur einen Teil sieht, nämlich die Rechte Lesen/Schreiben/Ausführen für den Besitzer einer Datei, die Gruppe, der er angehört, und den Rest der Welt. Darüber hinaus unterstützt Linux sogenannte ACLs (Access Control Lists), in denen für jeden User und jede Gruppe weitere Rechte festgelegt werden können.

Allerdings werden ACLs in den meisten Installationen nicht benutzt, und auch die Installationsanleitung von Typo3 geht nur auf die normalen Dateirechte ein – was im Normalfall auch völlig ausreicht.

Problematisch ist unter Linux lediglich, dass typischerweise der FTP-User, der Dateien hochlädt, andere Rechte hat als der Webserver. Um diese auszugleichen, empfiehlt es sich, den Apache-User und den FTP-User in dieselbe Gruppe aufzunehmen und die Zugriffsrechte auf Gruppenebene korrekt zu setzen. Unbedingt nötig ist dies normalerweise nur im fileadmin-Verzeichnis, da hier auch später des öfteren Dateien per FTP eingestellt werden. Wird aber auch Typo3 selbst via FTP auf den Server geladen anstatt vor Ort ausgepackt, so sind auch hier die Rechte nach der Installation zu prüfen und gegebenenfalls zu korrigieren.

Bild 2.1   2 Damit Typo3 an Dateien herankommt, die per FTP übertragen werden, sind die Rechte passend zu setzen

Windows-spezifische Eigenheiten

Symbolische Links

Der wichtigste Unterschied zur Linux-Installation ist das Fehlen von symbolischen Links. Um Typo3 auf Windows zu installieren, kommt daher meist ein Zip-Archiv zum Einsatz, das statt der symbolischen Links Kopien der entsprechenden Dateien enthält. Das spielt bei einer einzelnen Seite keine große Rolle, erschwert aber das Upgrade auf eine neuere Version sowie das Betreiben mehrerer Instanzen von Typo3 mit einer gemeinsamen Basis.

Allerdings lassen sich symbolische Links durchaus auch unter Windows realisieren. Sogenannte Hard Links (für Dateien) und Junctions (für Verzeichnisse) gibt es bereits seit Windows 2000, ein NTFS-formatiertes System vorausgesetzt.

Zu empfehlen ist dies aber nur erfahrenen Anwendern, denn diese Mechanismen unterscheiden sich in der Handhabung doch deutlich von symbolischen Links unter Linux. Beispiel: Wird eine Junction auf der Kommandozeile gelöscht, wird auch nur diese entfernt, das Originalverzeichnis bleibt unverändert. Im Windows Explorer dagegen gehen auch die Verzeichnisinhalte verloren. Erst mit Vista (bzw. Windows Server 2008) kann der Explorer richtig damit umgehen. Für Windows 2000 und XP gibt es aber Tools, die den Umgang mit Hardlinks erleichtern.[1]

Systemrechte

Die Rechteverwaltung unter Windows ist ähnlich mächtig wie unter Linux, doch der Zugang ist anders. In der grafischen Oberfläche finden Sie über die Eigenschaften einer Datei eine bequeme Dialogbox, in der Sie für jede Gruppe und jeden einzelnen User des Rechners die Rechte vergeben können.

Wenn Sie nun Apache unter Windows installieren, besteht die Gefahr, dass Ihr Webserver zu viele Rechte bekommt, denn die Standardinstallation richtet Apache als Dienst ein, der mit den Rechten des System-Kontos läuft. Das würde bedeuten, dass der Webserver (und damit auch PHP) weitestgehend Zugriff auf Ihren Rechner bekommt. Besser ist es, den Apache-Dienst unter einem eigenen Konto laufen zu lassen, dem dann gezielt die passenden Rechte erteilt werden.

Der Internet Information Server von Microsoft geht diesen Weg: Bei der Installation wird ein User IUSR_RECHNERNAMEangelegt, den der Server dann benutzt. Allerdings finden wir hier das andere Extrem: Dieses Konto hat zum Teil zu wenig Rechte, um Typo3 in vollem Umfang nutzen zu können.

Zum einen sollte der User Schreibrechte im Verzeichnis Windows/Tempbekommen, sonst kann es sein, dass die Session-Verwaltung von PHP nicht funktioniert – und damit auch keine Anmeldung an Typo3 möglich ist. Alternativ können Sie in der Datei php.ini das Verzeichnis für die Sessions anpassen, doch auch dann müssen die Rechte stimmen.

Zum Zweiten bekommt Typo3 Probleme mit dem Aufruf externer Tools. Wenn der Test der Grafikfunktionen in Typo3 mit einer Fehlermeldung der Art »Warning:system()[function.system]:Unabletofork« misslingt, liegt dies daran, dass der IIS – und damit PHP – keine Rechte hat, den Command Line Interpreter zu starten. Um dies zu beheben, gehen Sie in das Verzeichnis C:\Windows\System32, rufen die Eigenschaften von cmd.exe auf und setzen für das Internet-Konto das Recht zum Lesen und Ausführen.

mod_rewrite – oder auch nicht

Wer unter Windows auf den Internet Information Server angewiesen ist, stolpert noch über ein weiteres Problem: Suchmaschinenfreundliche URLs sind kaum realisierbar, weil der IIS keine Rewrite-Funktion nach Art des Apache-Servers unterstützt, insbesondere nicht über die bekannten .htaccess-Dateien, die sich ohne Zugriff auf die Server-Konfiguration und ohne Neustart bequem einsetzen lassen.

Doch es gibt Abhilfe – wenn auch nicht kostenlos: Einige Anbieter[2] haben diese Lücke geschlossen und bieten ISAPI-Filter für den IIS an, die die Funktionalität von mod_rewrite auf dem IIS implementieren. In den aktuellen Versionen sind diese Tools sogar in der Lage, .htaccess-Dateien auszuwerten, sodass die Konfiguration für den Anwender mit der unter Apache identisch wird.

2.3  Basisinstallation

Schnellinstallation im 1-2-3-Modus

Sind die technischen Voraussetzungen erfüllt und Typo3 auf dem Server entpackt, beginnt die eigentliche Installation. Dazu ist es lediglich nötig, die Startseite aufzurufen. Typo3 erkennt selbst, dass noch keine Installationsdaten vorhanden sind, und schaltet in den 1-2-3-Modus.

In den meisten Fällen sehen Sie vor der Installationsseite eine Fehlermeldung. Seit Typo3 4.1 lautet sie, dass das Install-Tool nicht ausgeführt werden kann, weil im Verzeichnis typo3conf eine Datei namens ENABLE_INSTALL_TOOL fehlt. Ältere Versionen verlangen an dieser Stelle einen Eingriff in den Quellcode des PHP-Skripts.

Die Datei ENABLE_INSTALL_TOOL (ohne Dateiendung) muss keinerlei Inhalt haben. Unter Windows kann es aber etwas problematisch sein, die Datei anzulegen. Denn in der Standardeinstellung des Systems werden keine Dateiendungen angezeigt und können folglich auch nicht entfernt werden. Stellen Sie Windows in den Ordneroptionen daher so ein, dass Endungen immer angezeigt werden (was aus Sicherheitsgründen generell anzuraten ist).

Bei einer lokalen Installation gibt es übrigens keine Nachfrage. Das Installationsskript verzichtet auf die Prüfung, wenn es von localhost aus gestartet wird.

Bild 2.2   2 Der 1-2-3-Modus von Typo3 führt in wenigen Minuten zum lauffähigen System

Der 1-2-3 Modus ist hilfreich, um schnell ein lauffähiges System zu bekommen, das anschließend das nötige Feintuning bekommt. Es werden lediglich die Zugangsdaten für die Datenbank eingegeben, die Grundtabellen importiert und ein Standard-Admin-User angelegt.

Tipp: In Schritt 2 der 1-2-3-Installation empfiehlt Typo3, eine neue Datenbank anzulegen. Das funktioniert aber nur, wenn der Datenbank-User, der zuvor gewählt wurde, die Rechte dazu hat. Unter der Prämisse, dass User-Konten so wenig Rechte wie möglich haben sollten, ist es aber besser, Datenbank und User vorher anzulegen, dem User nur Rechte an der für Typo3 vorgesehenen Datenbank zu geben und bei der Typo3-Installation für User und Datenbank diese Vorgaben zu verwenden.

Erweiterte Konfiguration

Ist die 1-2-3-Installation abgeschlossen, sollten Sie auf jeden Fall dem Rat von Typo3 folgen und mit der erweiterten Konfiguration fortsetzen. 10 Abschnitte sind hier vorgesehen, von denen aber bei einer Neuinstallation nur einige gebraucht werden.

Bild 2.3   2 Nach der Grobarbeit geht’s ans Fein-Tuning

Typo3 beginnt die Konfiguration mit dem letzten Punkt, und das aus gutem Grund. Hier legen Sie das Passwort für den Admin-User fest, und das sollte natürlich auf jeden Fall geändert werden. Wenn Sie an dieser Stelle darauf verzichten, erfolgt bei jedem Einloggen ins Backend eine Warnung, dass das Passwort geändert werden sollte.

Basic Configuration

Danach ist die Basic Configuration dran. Hier prüft Typo3, ob es in allen benötigten Verzeichnissen ausreichende (Schreib-)Rechte hat, prüft Speicherlimits, die Mailkonfiguration sowie einige PHP-Einstellungen. Außerdem erfolgt hier der Test, ob die GD-Bibliothek vorhanden ist. Ein Beispielfenster mit gerendertem Text darin zeigt schließlich, ob die Einstellung der Auflösung für die Freetype-Bibliothek korrekt ist. Das ist sie bei auch nur einigermaßen aktuellen PHP-Installationen nie. Denn obwohl die Freetype-Bibliothek den Sprung auf Version 2 schon einige Jahre hinter sich hat, steht in Typo3 standardmäßig der Wert 72, der für die alte Version 1 stimmt. Am Ende der Konfigurationsseite lässt sich der korrekte Wert 96 eintragen.

Bild 2.4   2 Die Basic Configuration dient mehr der Prüfung als der Konfiguration

Als weiteren Punkt bietet Typo3 in der Basic Configuration die Suche nach einem Grafikpaket an. Stimmen die Suchpfade im System, können Sie einfach auf den entsprechenden Button klicken und Typo3 suchen lassen. Sollte die Suche ergebnislos verlaufen, weil das Programm nicht im Suchpfad ist oder an ungewöhnlicher Stelle installiert wurde, geben Sie den Pfad von Hand ein und klicken erneut auf »Send«.

Bei erfolgreicher Suche erkennt Typo3 die installierte Version und setzt daraufhin die entsprechenden Parameter für die Grafikbearbeitung passend. Das erspart in der weiteren Konfiguration die manuelle Bearbeitung von mehr als einem Dutzend Optionen.

Am Ende der Basic Configuration finden sich noch Einträge für den Site-Namen und den Encryption-Key. Dieser muss unbedingt gesetzt werden, da er an verschiedenen Stellen im System verwendet wird. Sollte es nötig sein, diesen Key nachträglich zu ändern, müssen Sie anschließend auf jeden Fall das Verzeichnis typo3temp sowie die cache_pages-Tabelle der Datenbank leeren.

Database Analyzer

Der Abschnitt Database Analyzer ist bei einer Neuinstallation nicht unbedingt nötig. Hier finden Sie einige Tools, um die Datenbank zu testen, bei einem Upgrade anzupassen oder zur Not auch zu leeren.

Wichtiger bei einer Neuinstallation ist die Funktion »Create admin user«. Sollte im 1-2-3-Modus das Anlegen des Admin-Users nicht funktioniert haben, können Sie hier erneut versuchen, einen User mit Admin-Rechten anzulegen.

Tipp: Ein Grund, dass das Anlegen des Admin-Users nicht funktioniert, kann die Einstellung des MySQL-Datenbankservers sein. Läuft dieser im Strict-Modus, bekommt Typo3 Probleme. Wenn keine anderen Gründe dagegen sprechen, setzen Sie einfach in der Initialisierungsdatei von MySQL (my.ini unter Windows, my.cnf unter Linux) den Modus auf MYSQL40:

# Set the SQL mode to strictsql-mode=MYSQL40

Image Processing

Da wir an dieser Stelle kein Update machen, ist der Update Wizard nicht von Bedeutung, daher kommt als nächster Punkt das Image Processing. Auch hier handelt es sich eigentlich nicht um ein Konfigurationsmenü. Der Abschnitt dient der Kontrolle, ob die Grafikfunktionen korrekt eingerichtet wurden. Dazu bietet Typo3 eine Reihe von Tests zum Lesen, Schreiben und Bearbeiten von Bildern.

Es ist hierbei völlig unproblematisch, wenn die Bildgrößen auf Ihrem System von denen der Vorgaben abweichen. Das kann daran liegen, dass Sie einen anderen Wert für die JPEG-Qualität verwenden, aber auch einfach an einer anderen Version des Grafikprogramms. Misstrauisch sollten Sie nur dann werden, wenn die Unterschiede zu groß sind.

All Configuration

Der Punkt All Configuration ist der größte Posten in einer Typo3-Installation. Hier finden sich alle Einstellungen, die im Konfigurationsarray $TYPO3_CONF_VARS landen, getrennt nach folgenden Abschnitten:

GFX

Grafikfunktionen

SYS

Systemeinstellungen

EXT

Einstellungen für die Behandlung von Erweiterungen

BE

Einstellungen des Backends

FE

Einstellungen des Frontends

Jede Einstellung ist mit einer relativ ausführlichen Erklärung versehen, daher werden wir hier nur auf einige weniger selbsterklärende Funktionen eingehen.

[GFX]

Im Abschnitt GFX sind nur noch wenige Einstellungen zu prüfen, wenn die Basic Configuration und die Tests in Image Processing erfolgreich waren.

[gdlib_2] steht auch nach erfolgreichen Tests noch auf 0. Da aber alle aktuellen PHP-Versionen die Grafikbibliothek in einer neueren Version als 2.0.1 mitbringen, tragen Sie hier eine 1 ein. Andernfalls kann es im Zusammenspiel mit ImageMagick zu Problemen kommen.

Die Einstellungen für ImageMagick/GraphicsMagick ([im_...]) wurden bereits vorbelegt. Sollten Sie hier von Hand Änderungen vornehmen, lesen Sie die Beschreibungen genau. Denn ImageMagick hat über die verschiedenen Versionen hinweg viele Änderungen erfahren, was die korrekte Einstellung in Typo3 zu einem Geduldsspiel macht. Viele Typo3-Anwender setzen daher immer noch die alte Version 4 ein, obwohl ImageMagick 6 aktuell ist. Auch GraphicsMagick bietet sich als weniger »zickige« Alternative an.

[jpg_quality] legt die Qualität der erzeugten JPEG-Dateien fest. Standard ist hier 70, wenn Sie aber mit der Qualität der Grafiken nicht zufrieden sind, können Sie hier höher gehen, zu Lasten der Dateigröße. Eine Anhebung auf 85 vergrößert die Datei um etwa 40%, während 100 die fünffache Dateigröße zur Folge hat.

Ein weiterer Parameter, der Einfluss auf die Darstellungsqualität hat, ist [png_truecolor]. Ist dieser Schalter gesetzt, werden PNG-Dateien mit 16 Mio. Farben generiert, anstatt mit einer kleineren Palette. Wie bei den JPEG-Dateien geht dies stark zu Lasten der Dateigröße.

Die Bildbearbeitung in Typo3 erzeugt eine Menge temporärer Dateien. Mit [enable_typo3temp_db_tracking] schalten Sie ein Log dieser Dateien ein. Das hilft bei der Problemsuche und kann verhindern, dass zwei Prozesse in Typo3 gleichzeitig versuchen, dieselbe Datei zu bearbeiten, was unnötige Serverlast erzeugt.

[SYS]

Auch im [SYS]-Abschnitt sind bereits einige Werte aus der Grundkonfiguration gesetzt, etwa [sitename] oder [encryptionKey].

[cookieDomain] legt fest, wie Typo3 seine Cookies setzen soll. Standardmäßig gilt der Session-Cookie, über den etwa der Login gesteuert wird, nur für die Domain, in der die Anmeldung erfolgt ist. Wenn Sie also etwa neben einem Server unter www.beispiel.de einen weiteren unter intranet.beispiel.de betreiben, müssen sich Besucher an beiden getrennt anmelden. Ein Eintrag .beispiel.de in [cookieDomain] sorgt dafür, dass nur ein Login nötig ist, da der Cookie für beide Subdomains gültig ist. Das Feld unterstützt reguläre Ausdrücke. So sorgt der Eintrag

/\.beispiel\.(de|com)$/

dafür, dass die Session-Verwaltung in Typo3 Logins aus der .de-Domain und aus der .com-Domain gleich behandelt.

[devIPmask], [sqlDebug] und [enable_DLOG] steuern das Logging für Entwicklungszwecke. Darauf werden wir in späteren Kapiteln genauer eingehen.

Weitere Parameter, die das normale Log steuern, also Fehler und Infos aus dem Backend, sind [systemLog] und [systemLogLevel]. Dabei kann Typo3 das normale Log des Betriebssystems nutzen, aber auch in eigene Dateien schreiben oder die Meldungen per Mail verschicken.

Die [curl…]-Gruppe der Optionen hilft weiter, wenn Typo3 Probleme mit der Funktion fopen meldet. Standardmäßig wird die PHP-Funktion fopen() benutzt, um auf bestimmte Ressourcen zuzugreifen. Doch fopen kann aus mehreren Gründen fehlschlagen:

Zum einen kann fopen in den PHP-Einstellungen für den Zugriff via http deaktiviert sein (Einstellung allow_url_fopen), zum zweiten kann die Safe-Mode-Einstellung von PHP hinderlich sein. Und schließlich kann fopen fehlschlagen, wenn es darum geht, Dateien auf einem anderen Server zu öffnen, und wenn der eigene Server hinter einem Proxy liegt.

Tipp: Die Unterstützung für Curl ist in PHP seit Version 4.0.2 vorhanden. Allerdings muss die zugehörige Erweiterungsbibliothek in der php.ini aktiviert werden, bevor sie genutzt werden kann.

[multiplyDBfieldSize] dient dazu, die Größe der Datenbankfelder an die verwendete Kodierung anzupassen. Dies ist nötig für Multibyte-Zeichensätze wie UTF-8. Wenn Typo3 die Datenbank-Tabellen anlegt, wird die Größe von Text-Feldern (char, varchar und tinytext) mit diesem Wert multipliziert. Aus einem Feld vom Typ varchar(30) wird bei multiplyDBfieldSize2 also ein Feld vom Typ varchar(60). Reicht die bei varchar mögliche Größe (255) nicht mehr aus, wird daraus ein text-Feld.

Dies ist nötig, weil sonst die Eingabefelder im Backend ncht mehr stimmen. In unserem Beispiel würde dem varchar(30)-Feld ein Eingabefeld für 30 Zeichen entsprechen. Bei UTF-8-Kodierung und Sonderzeichen im String ist der tatsächlich in der Datenbank zu speichernde String aber länger. Der tatsächliche Mehrbedarf hängt dabei von der Sprache ab. Für europäische Zeichensätze wird ein Wert von 2 empfohlen, bei asiatischen Sprachen 3.

Einige Extensions machen allerdings Probleme, wenn hier andere Werte als 1 stehen. Denn das führt dazu, dass die resultierenden Feldlängen nicht mit den erwarteten übereinstimmen. Hier hilft es manchmal, vor der Installation der Erweiterung den Parameter auf 1 zu setzen und anschließend wieder zu ändern.

Tipp: Bei einer neuen Installation von Typo3 ist es besser, die Datenbank selbst komplett auf UTF-8 umzustellen, als diesen Wert anzupassen

[setDBinit] dient dazu, bei der Initialisierung der Datenbankverbindung zusätzliche Befehle an die Datenbank zu schicken. Wenn beispielsweise bei UTF-8-basierten Seiten die Umlaute nicht passen, kann es sinnvoll sein, hier

SET NAMES 'utf8' SET CHARACTER SET utf8

einzutragen, um die Verbindungseinstellungen zur Datenbank auf jeden Fall auf UTF-8 einzustellen.

[EXT]

In diesem Abschnitt verbergen sich keine wirklichen Stolperfallen, daher sei an dieser Stelle nur darauf hingewiesen, dass die Grundeinstellungen darauf ausgerichtet sind, die Wartbarkeit des Typo3-Codes zu optimieren. Darum sind die Installation von Systemerweiterungen ([allowSystemInstall]) und die globale Installation ([allowGlobalInstall]) standardmäßig ausgeschaltet. Aktivieren Sie diese nur, wenn wirklich ein Update einer System-Extension wie cms nötig ist.

[BE]

Hilfreich bei Problemen mit Dateirechten ist [createGroup]. Standardmäßig läuft Typo3 mit den Rechten des Webservers. Dieser User wird auch Eigentümer von neuen Dateien, die Typo3 erzeugt. Das kann dazu führen, dass der FTP-User darauf keinen Zugriff hat (siehe auch den Abschnitt 2.2.1 über Linux-spezifische Eigenheiten).

Tipp: Erzeugen Sie eine neue Gruppe, in die sowohl der Webserver-User als auch der FTP-User aufgenommen werden. Diese Gruppe tragen Sie in [createGroup] ein. Nun können Sie [fileCreateMask] auf 640 und [folderCreateMask] auf 770 setzen und sicher sein, dass für die beteiligten Systeme der Zugriff problemlos möglich ist.

[enabledBeUserIPLock] dient dazu, die Sicherheit des Backends zu erhöhen. Wechselt während einer Session im Backend die IP-Adresse des Users, wird die Session abgebrochen. Allerdings gibt es manche Proxies, die mehr oder weniger regelmäßig einen solchen Wechsel verursachen. Ist dies der Fall, lässt sich hier der Check abschalten. Zusätzlich lässt sich via [lockIP] festlegen, wie genau die Prüfung erfolgen soll. Im Backend ist hier 4 eingetragen, d. h. die gesamte IP-Adresse wird geprüft.

[newPagesVersioningType] und [elementVersioningOnly] steuern die Versionierungsverwaltung. Der erste Parameter erlaubt die Versionierung auf Element-, Seiten- oder Zweigebene. Der zweite Parameter reduziert die Funktion auf Elementebene. Diese Variante ist für Neuinstallationen seit der Version 4.2 empfohlen, weil nun das Verschieben von Elementen unterstützt wird. Damit sind die anderen Varianten nicht mehr nötig, und man muss sich nicht mit deren Nachteilen wie dem Verlust von IDs herumschlagen.

[FE]

[addAllowedPaths] ernöglicht das Ablegen von Ressourcen wie Bildern unter anderen Verzeichnissen als fileadmin. Das Verzeichnis muss aber im Typo3-Ordner liegen, also parallel zu fileadmin. Mehrere Einträge werden durch Komma getrennt. Normalerweise sollte ein Eintrag mit einem "/" enden. Tut er das nicht, wird er wie ein Joker interpretiert. Es werden dann alle Verzeichnisse, die mit dem entsprechenden String beginnen, freigegeben. Ein Eintrag "bilder" gilt also stellvertretend für "bilder1","bilder_neu" usw.

Tipp: Wenn statische Dokumente simuliert werden oder RealUrl aktiv ist, muss die .htaccess-Datei so angepasst werden, dass die in [addAllowedPaths] festgelegten Ordner nicht vom Rewrite-Modul erfasst werden.

[lockIP] dient ähnlich wie im Backend der Absicherung. Wechselt die IP-Adresse des Users während der Session, wird diese abgebrochen. Allerdings ist hier normalerweise die Prüfung milder, der Wert steht auf 2. Das heißt, dass meist die Session weitergeführt werden kann, wenn der User (etwa wegen einer Neuanmeldung des DSL-Modems) eine neue IP-Adresse bekommt. Denn die neue Adresse kommt normalerweise aus dem gleichen Pool und unerscheidet sich nur im letzten oder vorletzten Byte.

[strictFormmail] und [secureFormmail] dienen der Abwehr des Missbrauchs von Formularen. [strictFormmail] sollte gesetzt werden, wenn der Empfänger des Formulars in einem Formularfeld steht (recipient bzw. recipient_copy). Da Typo3 E-Mail-Adressen standardmäßig verschlüsselt im HTML-Code unterbringt, kann es auch prüfen, ob der Wert, der beim Absenden des Formulars übergeben wird, ursprünglich so entstanden ist. Falls nicht, wird der Versand abgelehnt.

[secureFormmail] dagegen sorgt dafür, dass der Versand ausschließlich an die Adressen erfolgt, die im Typo3-Record des Formulars festgelegt wurden, also typischerweise im Backend. In diesem Fall ist [strictFormmail] wirkungslos.

Edit files in typo3conf/

Die Punkte 6 (typo3temp) und 7 (Cleanupdatabase) im Installationsmenü dienen eher der Wartung und spielen daher bei einer Neuinstallation keine Rolle.

Auch Punkt 8 (phpinfo) dient rein der Information.

Bleibt noch Punkt 9. Hier haben Sie direkten Zugriff auf die Dateien im Verzeichnis typo3conf, unter anderem localconf.php, also die Datei, die in der bisherigen Konfiguration bearbeitet wurde.

Bild 2.5   2 Ein Ausschnitt aus der Datei localconf.php

Ein Bearbeiten ist bei der Installation meist nicht nötig. Eine Eigenschaft der Datei kann aber im Notfall hilfreich sein. Im Bild sehen Sie, dass der Wert $TYPO3_CONF_VARS['BE']['installToolPassword'] zweimal gesetzt wird. Die erste Zeile entspricht dem Standardwert "joh316", wie er vor der Installation gilt. Der zweite Wert ist der, den Sie während der Installation angegeben haben. Sollte aus irgendeinem Grund der Login ins Install-Tool nicht funktionieren (etwa weil Sie sich beim Eingeben des Passworts verschrieben haben), können Sie die zweite Zeile löschen und setzen damit das Passwort wieder auf "joh316" zurück.

Haben Sie im späteren Verlauf Erweiterungen installiert, finden Sie in dieser Datei auch die Konfiguration der Extensions, entweder im Klartext oder als serialisierter Array.

2.4  Extensions

Nach der Basisinstallation stehen die Extensions zur Einrichtung an. Genau genommen werden nun zusätzliche Erweiterungen installiert, denn wie in Kapitel 1 bereits angesprochen, ist das Content Management System in Typo3 selbst bereits eine Extension, die auf dem zugrunde liegenden Framework aufsetzt. Praktisch alle CMS-Funktionen sind daher in irgendeiner Form in einer Erweiterung enthalten.

Das Erweiterungssystem von Typo3 muss daher zwangsweise sehr stabil und augereift sein. Dies äußert sich beispielsweise darin, dass jede Extension – sofern sie sauber programmiert ist – dem System mitteilt, welche Typo3-Version sie voraussetzt und von welchen anderen Erweiterungen sie abhängt. Darüber hinaus kann eine Erweiterung auch Informationen enthalten, mit welchen anderen Extensions sie kollidiert.

Der Extension Manager

Schon seit Typo3 3.5 ist der Extension Manager fester Bestandteil des Systems. Er ist die zentrale Anlaufstelle für die Arbeit mit Erweiterungen, und im Idealfall brauchen Sie nichts anderes, um Ihre Extensions zu verwalten.

Bild 2.6   2 Der Extension Manager ist das Schweizer Messer für den Umgang mit Erweiterungen.

Loaded Extensions / Install Extensions

Die beiden ersten Menüpunkte des Extension Managers sind nahezu identisch. In beiden Menüs finden Sie eine Liste aller Erweiterungen, die derzeit im System vorhanden sind. Das Loaded-Menü zeigt dabei nur die an, die auch installiert, also aktiv sind.

Mit dem Schalter "Displayshyextensions" lassen sich auch Erweiterungen auflisten, die normalerweise im Hintergrund bleiben und meist auch nicht konfigurierbar sind.

Außerdem stehen in der Liste die Versionsnummer und der Status der Erweiterung (Alpha, Beta, Stable, Experimental oder Obsolete). Über die Symbole in der Zeile lassen sich Erweiterungen installieren oder deinstallieren (nur im MenüInstallExtensions) oder als T3X-Datei extern speichern. Hat die Erweiterung ein Manual, gibt es ein zusätzliches Symbol zum Öffnen der Datei (im OpenOffice-Format).

Tipp: Ein Wort zum Status von Erweiterungen: Der Status wird vom Entwickler festgelegt und hängt daher von dessen Philosphie ab. Alpha oder Experimental ist zwar meist ein Hinweis, dass die Extension noch in einem frühen Stadium ist. Doch danach lässt die Aussagekraft nach. Es gibt Erweiterungen, die seit Jahren auf dem Markt sind, sich als sicher und stabil erwiesen haben und trotzdem Beta-Status haben. Auch Systemerweiterungen von Typo3 sind zum Teil im Beta-Stadium. Andererseits gibt der Status Stable keine Garantie, dass die Erweiterung wirklich stabil läuft. Dazu wären umfangreiche Tests in unterschiedlichen Konfigurationen nötig, die meist nicht finanzierbar sind.

Ein Klick auf den Namen der Erweiterung öffnet die zugehörigen Einstellungen. Die Seite Information ermöglicht die Konfiguration der Extension und zeigt allgemeine Daten dazu an.

In Editfiles lassen sich die einzelnen Dateien der Erweiterung bearbeiten. Voraussetzung dafür ist, dass in der Konfiguration von Typo3 die Bearbeitung zugelassen ist ([EXT][noEdit]0). Der Editor ist allerdings auch in der aktuellen Version von Typo3 nicht mehr als ein simples Texteingabefeld, sodass dieser Weg nur für kleine Anpassungen sinnvoll ist.

Backup/Delete dient zum einen dazu, die Daten einer Erweiterung zu sichern. Im Gegensatz zum Diskettensymbol in der Übersichtsseite lassen sich hier neben der Extension selbst aber auch die Inhalte der zugehörigen Datenbanktabellen speichern. Zum zweiten können Sie hier Erweiterungen löschen, sofern sie nicht derzeit aktiviert sind. Und schließlich können Sie hier die Datei ext_emconf.php aktualisieren, die unter anderem Informationen über die zur Extension gehörigen Dateien enthält. Das ist für die Entwicklung von Extensions wichtig und wird daher später noch genauer behandelt.

DumpDB dient ebenfalls der Sicherung. Hier lässt sich die Datenbankstruktur speichern, die die Erweiterung benötigt. Dabei werden sowohl ganze Tabellen als auch zusätzliche Felder in bestehenden Tabellen berücksichtigt.

Tipp: Die Ausgabe von Dump DB ist nicht zum direkten Import in die Datenbank geeignet. Felder, die eine Tabelle nur erweitern sollen, werden trotzdem mit einem CREATE-Befehlt für eine neue Tabelle angelegt. Erst das Installationstool von Typo3 erkennt die Differenz und erzeugt korrekt nur die neuen Felder.

Über den letzten Punkt UploadtoTER lässt sich eine selbstgeschriebene Erweiterung ins Repository hochladen. Voraussetzung dafür ist ein gültiger Account für die Typo3-Website. Vor dem Upload können Sie festlegen, ob es sich um einen Bugfix, ein kleines Update oder eine neue Version handelt.

Import Extensions

Das Import-Menü dient dem Einrichten neuer Extensions. Als Quellen stehen dabei das Online Repository sowie der Upload von T3X-Dateien zur Verfügung.

Wenn Sie eine Suche nach einer Extension starten, sucht Typo3 seit der Version 4.1 nicht direkt online, sondern in einer lokalen Kopie der Extension-Liste. Sollten Sie eine gewünschte Extension also nicht finden, lohnt es sich, diese Liste mittelsRetrieve/update neu herunterzuladen und dann erneut zu suchen.

Standardmäßig zeigt Typo3 seit der Version 4 bei der Suche im Online Repository nur Extensions mit dem Status reviewed an. Das erhöht die Sicherheit des Systems, hat allerdings einen großen Nachteil: Das Reviewing hinkt der Zahl der Erweiterungen und Updates derzeit noch deutlich hinterher. Ein guter Teil von Erweiterungen ist daher mit dieser Einstellung nicht oder nur in einer älteren Version zugänglich. Daher ist es häufig nötig, diese Einstellung zu ändern (siehe unten).

Settings

Im Settings-Menü können Sie festlegen, dass alle Erweiterungen aus dem Repository angezeigt werden, ohne Rücksicht auf den Review-Status. Wenn Sie diese Einstellung aktivieren, sollten Sie aber Extensions vor dem Einsatz selbst genauer prüfen, beispielsweise in einem lokalen Referenzsystem.

Darüber hinaus lassen sich hier die Anmeldedaten für einen Typo3-Account eingeben, der aber nur für das Hochladen von Erweiterungen gebraucht wird.

Im dritten Abschnitt wählen Sie bei Bedarf gezielt den Server aus, von dem Erweiterungen geladen werden sollen. Im Normalfall ist das einer der Spiegelserver für das offizielle Repository. Hosting-Anbieter beispielsweise könnten aber auch einen eigenen Repository-Server betreiben und diesen eintragen.

Translation Handling

In älteren Versionen von Typo3 musste für jede Sprache eine eigene Erweiterung installiert werden (etwa csh_de für Deutsch). Seit Version 4 ist die Verwaltung der Sprachen im Extension Manager integriert. Sie wählen einfach die gewünschten Sprachen aus und speichern Ihre Wahl. Anschließend wird über die beiden Schaltflächen Checkstatusagainstrepository bzw. Updatefromrepository geprüft, für welche der installierten Erweiterungen die passenden Übersetzungen vorhanden sind, und diese werden schließlich abgeholt.

Bild 2.7   2 Der Translation Handler kümmert sich um die richtigen Übersetzungen

Check for updates

Der letzte Menüpunkt ist eine Neuerung in Typo3 4.2. Für ältere Typo3-Versionen lässt sich die Funktion mithilfe der Erweiterung ter_update_check nachrüsten. Typo3 prüft die Versionsnummern der installierten Erweiterungen gegen das Online Repository. Ist online eine neuere Version vorhanden, so wird dies angezeigt. Im Feld Upload-Comment lässt sich nachlesen, was die neue Version an Verbesserungen verspricht. Um das Update zu installieren, müssen Sie nur noch auf den Namen der Erweiterung klicken und dann die Installation starten.

Tipp: Updates von Extensions sollten nicht blind erfolgen. Es gibt in einer Typo3-Installation (wie überall) drei gute Gründe für ein Update:

• Schließen von Sicherheitslücken

• Beheben von Fehlern, die im Betrieb stören

• Sinnvolle und einsetzbare neue Funktionen

Bringt also ein Update neue Funktionen, die Sie nicht brauchen, sollten Sie im Zweifel auf die neue Version verzichten. Auf jeden Fall empfiehlt es sich, die Updates zunächst in einer Referenzinstallation zu testen, bevor sie im Produktivsystem installiert werden.

Extensions installieren

Die Installation einer Extension erfolgt in zwei Schritten. Zunächst wird die Erweiterung im System gespeichert. Dabei werden lediglich die zugehörigen Dateien ins Extension-Verzeichnis ausgepackt. Erst in einem zweiten Schritt wird die Erweiterung installiert, d. h. in den Betrieb einer laufenden Typo3-Instanz eingebunden. Dazu ist es meist nötig, die Datenbank anzupassen und die Erweiterung zu konfigurieren. Dieses Zwei-Schritt-Verfahren erlaubt es, das Erweiterungssystem von Typo3 sehr flexibel zu gestalten.

Erweiterungen in Typo3 können an drei verschiedenen Stellen installiert werden: lokal, global oder als System-Extension. Eine korrekt programmierte Erweiterung läuft in jeder Variante, trotzdem sollte die Auswahl des Installationsortes gut überlegt sein, vor allem, wenn mehrere Instanzen von Typo3 in Gebrauch sind (siehe auch den Abschnitt 2.5, »Multiple Websites«).

System-Extensions

Diese Erweiterungen liegen im Ordner typo3/sysext und stellen die grundlegenden Funktionen des Systems zur Verfügung. Sie sind immer vorhanden und können von jeder Instanz installiert werden. Ein Update der System-Extensions erfolgt im Normalfall nur durch Installation einer neuen Typo3-Version.

Globale Extensions

Das Verzeichnis für globale Erweiterungen ist typo3/ext. Im Auslieferungszustand von aktuellen Typo3-Versionen ist der Ordner leer. Hier liegende Erweiterungen werden normalerweise vom Administrator bereitgestellt. Jede Instanz kann diese Erweiterungen dann bei Bedarf installieren.

Als globale Extension sollten also nur Erweiterungen installiert sein, die für mehrere Typo3-Instanzen Verwendung finden sollen. Außerdem sollte die globale Installation nicht von den einzelnen Instanzen aus möglich sein ([EXT][allowGlobalInstall]in der Typo3-Konfiguration). Denn sonst könnte eine Instanz bei einem unbedachten Update auch die Funktion der anderen Instanzen beeinflussen.

Lokale Extensions

Lokale Erweiterungen werden in typo3conf/ext abgelegt. Sie stehen nur einer einzelnen Typo3-Instanz zur Verfügung. Diese Art der Installation sollte der Normalfall sein, denn so ist sichergestellt, dass die einzelnen Instanzen sich möglichst wenig gegenseitig beeinflussen.

Reihenfolge

Ist eine Erweiterung sowohl lokal als auch global installiert, gibt Typo3 der lokalen Installation den Vorrang. Die globale Extension wiederum hat Vorrang vor den System-Erweiterungen. So kann eine Instanz eine aktuelle Version einer Erweiterung nutzen, auch wenn global eine ältere vorgehalten wird.

2.5  Multiple Websites mit Typo3

Wenn mehrere Websites auf einem Server unter Typo3 laufen sollen, gibt es unterschiedliche Ansätze. Die einfachste Variante ist natürlich, für jede Domain einen eigenen virtuellen Host einzurichten und darin eine komplette Typo3-Installation einzurichten. Dieses Verfahren sorgt für größtmögliche Unabhängigkeit der einzelnen Sites, verursacht aber auch den höchsten Pflegeaufwand.

Mehrere Instanzen von Typo3

Neben dieser trivialen Methode gibt es auch die Möglichkeit, mehrere Instanzen von Typo3 zu installieren, die sich die Code-Basis des Kernpaketes teilen.

Dazu installieren Sie das Src-Paket von Typo3 auf dem Server. Das Installationsverzeichnis muss dabei nicht vom Webserver aus erreichbar sein (aus Sicherheitsgründen ist es sogar besser, wenn es das nicht ist). Für jede Website, die Sie einrichten wollen, extrahieren Sie nun einmal das Dummy-Paket und benennen es passend um. Anschließend müssen Sie noch die Links im Dummy-Paket korrekt einrichten.

Unter Linux gehen Sie dazu in eines der Dummy-Verzeichnisse und zeigen sich den Inhalt mit ls-l an. Hier finden Sie vier symbolische Links, nämlich index.php, t3lib, typo3 und typo3_src. Da aber die ersten drei selbst wiederum den letzten Link benutzen, muss nur dieser korrekt angepasst werden.

Bild 2.8   2 Symbolische Links unter Linux

Unter Windows dagegen enthält das Dummy-Archiv keine symbolischen Links. Um sie einzurichten, installieren Sie am besten ein passendes Tool wie ntfslink[3]. Benennen Sie nun die Datei index.php um und erzeugen Sie stattdessen einen gleichnamigen Hardlink auf die Datei im Typo3-Src-Verzeichnis.

Erzeugen Sie nun zwei Junction-Links auf die Verzeichnis typo3 und tslib im Src-Verzeichnis. Mit ntfslink geschieht dies am einfachsten per Drag & Drop.

Bild 2.9   2 Junction-Links lassen sich mit ntfslink einfach anlegen

Sind alle Dummy-Verzeichnisse fertig, brauchen Sie natürlich noch die passenden virtuellen Hosts, die als DocumentRoot die jeweiligen Verzeichnisse benutzen. Nun können Sie jede einzelne der neuen Sites einmal aufrufen und die Typo3-Installation durchführen.

Tipp: Websites, die auf diese Art erstellt werden, teilen sich den Typo3-Code, nicht aber die Datenbank oder Verzeichnisse. Sie sind also in diesem Punkt völlig unabhängig. Sollen sich mehrere Sites eine Datenbank teilen, benötigen Sie nur eine Instanz. Ein Beispiel für eine solche Installation werden wir im Kapitel über mehrsprachige Websites vorstellen.

[1]

NTFSLink: http://elsdoerfer.name/=ntfslink

[2]

IIS Mod-Rewrite: http://www.micronovae.com/ModRewrite/ModRewrite.htmlISAPI_Rewrite 3: http://www.helicontech.com/isapi_rewrite/

[3]

http://www.elsdoerfer.info/ntfslink

3  Website Design mit Typo3

3.1  HTML ist aller Seiten Anfang

Wieviel Arbeit Sie auch in die Funktionalität Ihres Typo3-Systems stecken – der erste Eindruck Ihrer Besucher wird maßgeblich vom Layout der Seite bestimmt.

Nur in seltenen Fällen ist aber ein guter Programmierer auch ein guter Webdesigner, daher wird das Layout typischerweise von einem Spezialisten erstellt und dem Entwickler als HTML-Vorlage übergeben. Dabei steht zu hoffen, dass der Designer nicht nur Photoshop kennt, sondern auch mit Begriffen wie etwa dem barrierefreien Design etwas anfangen kann. Denn je besser die Qualität der Vorlage, desto weniger Arbeit fällt für die Umsetzung an.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!