406 23 14MB
German Pages 537 Year 2010
Peter Müller
Websites erstellen mit Contao
Liebe Leserin, lieber Leser, Contao, vormals TYPOlight, hat sich innerhalb kürzester Zeit vom Geheimtipp zu einem der beliebtesten CMS entwickelt. Die Gründe dafür sind vielfältig. So setzt Contao konsequent auf aktuelle Webstandards, Barrierefreiheit, Mehrsprachenfähigkeit, Personalisierbarkeit und suchmaschinenfreundliche URLs. Contao trennt konsequent zwischen Inhalt und Design mit CSS. Wer seine Website mit Contao umsetzen möchte, sollte daher auch souverän mit IDs und Klassen umgehen können. Peter Müller, vielen Lesern bekannt durch seine Einführung in CSS »Little Boxes«, stellt mit vielen Praxisbeispielen Installation, Konfiguration und Administration von Contao vor. Sein unnachahmlicher Stil garantiert Ihnen schnellen Lernerfolg und Unterhaltung auf jeder Seite. Schritt für Schritt begleitet er Sie bei der Erstellung Ihres Webauftritts. Angefangen von der Installation von Contao und einem Testsystem bis hin zur fertigen Website finden Sie alles, was Sie für einen erfolgreichen Start benötigen. Dieses Buch wurde mit großer Sorgfalt lektoriert und produziert. Sollten Sie dennoch Fehler finden oder inhaltliche Anregungen haben, scheuen Sie sich nicht, mit uns Kontakt aufzunehmen. Ihre Fragen und Änderungswünsche sind uns jederzeit willkommen. Viel Vergnügen beim Lesen! Wir freuen uns auf den Dialog mit Ihnen.
Ihr Stephan Mattescheck Lektorat Galileo Computing
[email protected] www.galileocomputing.de Galileo Press · Rheinwerkallee 4 · 53227 Bonn
Auf einen Blick TEIL I Contao kennenlernen 1
Das ist Contao .........................................................
25
2
Schnelldurchlauf: So funktioniert Contao .................
31
TEIL II Contao installieren 3
XAMPP: Der Offline-Webspace ...............................
51
4
Die Installation von Contao .....................................
71
5
Ein kurzer Rundgang im Backend ............................ 101
TEIL III Schritt für Schritt zur ersten Website 6
Die erste Website mit Contao ................................. 117
7
Webseiten gestalten: Contao und CSS ..................... 155
8
Navigationen erstellen in Contao ............................ 193
TEIL IV Inhalte erstellen und verwalten 9
Inhaltselemente für Text und Bilder ......................... 233
10 Weitere nützliche Inhaltselemente .......................... 265 11 Kontakt: Formulare erstellen mit Contao ................. 289 12 Suchfunktion: Die Beispielsite durchsuchen ............. 317 13 Die Erweiterung »Nachrichten« ............................... 335 14 Die Erweiterungen »Kalender« und »FAQ« .............. 371 15 Die Erweiterung »Newsletter« ................................. 389 16 Die Startseite gestalten ........................................... 401 TEIL V Systemverwaltung 17 Der Theme-Manager in Aktion ................................ 421 18 Die Optimierung für Suchmaschinen ....................... 437 19 Mitglieder: Im Frontend angemeldete Besucher ...... 459 20 Benutzer: Im Backend angemeldete Mitarbeiter ...... 479 21 Die Website im Alltag ............................................. 495 22 Contao für Fortgeschrittene: Tipps und Tricks .......... 507
Der Name Galileo Press geht auf den italienischen Mathematiker und Philosophen Galileo Galilei (1564–1642) zurück. Er gilt als Gründungsfigur der neuzeitlichen Wissenschaft und wurde berühmt als Verfechter des modernen, heliozentrischen Weltbilds. Legendär ist sein Ausspruch Eppur se muove (Und sie bewegt sich doch). Das Emblem von Galileo Press ist der Jupiter, umkreist von den vier Galileischen Monden. Galilei entdeckte die nach ihm benannten Monde 1610. Gerne stehen wir Ihnen mit Rat und Tat zur Seite: [email protected] bei Fragen und Anmerkungen zum Inhalt des Buches [email protected] für versandkostenfreie Bestellungen und Reklamationen [email protected] für Rezensions- und Schulungsexemplare Lektorat Stephan Mattescheck Korrektorat Friederike Daenecke Fachgutachten Leo Feyer Cover Barbara Thoben, Köln Titelbild Barbara Thoben, Köln Coverfoto Fotolia© mao-in-photo Typografie und Layout Vera Brauner Herstellung Iris Warkus Satz Typographie & Computer, Krefeld Druck und Bindung Bercker Graphischer Betrieb, Kevelaer Dieses Buch wurde gesetzt aus der Linotype Syntax Serif (9,25/13,25 pt) in FrameMaker. Gedruckt wurde es auf chlorfrei gebleichtem Offsetpapier.
Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. ISBN
978-3-8362-1651-7
© Galileo Press, Bonn 2010 1. Auflage 2010
Das vorliegende Werk ist in all seinen Teilen urheberrechtlich geschützt. Alle Rechte vorbehalten, insbesondere das Recht der Übersetzung, des Vortrags, der Reproduktion, der Vervielfältigung auf fotomechanischem oder anderen Wegen und der Speicherung in elektronischen Medien. Ungeachtet der Sorgfalt, die auf die Erstellung von Text, Abbildungen und Programmen verwendet wurde, können weder Verlag noch Autor, Herausgeber oder Übersetzer für mögliche Fehler und deren Folgen eine juristische Verantwortung oder irgendeine Haftung übernehmen. Die in diesem Werk wiedergegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. können auch ohne besondere Kennzeichnung Marken sein und als solche den gesetzlichen Bestimmungen unterliegen.
Inhalt Geleitwort des Fachgutachters ........................................................................ Vorwort ..........................................................................................................
19 21
TEIL I Contao kennenlernen 1
Das ist Contao .......................................................................... 25 1.1
1.2 1.3 1.4
2
Contao ist ein Content-Management-System ............................... 1.1.1 Brauchen Sie ein Content-Management-System? ............. 1.1.2 Contao unterstützt Sie bei Inhalt, Gestaltung und Funktionen ..................................................................... Die Website zum Programm: www.contao.org ............................ Ein paar Highlights von Contao .................................................... Die Community im Web: »www.contao-community.de« ..............
25 25 26 27 28 30
Schnelldurchlauf: So funktioniert Contao ............................... 31 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11
Das Frontend ist die Website ....................................................... Das Backend ist die Verwaltungsabteilung ................................... Die Seitenstruktur ist das Fundament der Website ....................... Themes bestimmen das Aussehen der Site ................................... Module erzeugen den Quelltext für das Frontend ........................ Jede Seite hat ein Seitenlayout ..................................................... Seitenlayouts verbinden die Seiten mit Stylesheets ...................... Jeder Artikel gehört zu einer Seite ............................................... Ein Artikel besteht aus Inhaltselementen ..................................... Das Backend ist für Redakteure sehr übersichtlich ........................ Zusammenfassung – so tickt Contao .............................................
32 33 35 36 37 38 41 42 43 46 47
TEIL II Contao installieren 3
XAMPP: Der Offline-Webspace ............................................... 51 3.1
3.2
XAMPP ist Webspace auf Ihrem Rechner ..................................... 3.1.1 Statische Webseiten: Der Webspace als Lagerhalle .......... 3.1.2 Content-Management-System: Der Webspace als Werkstatt ........................................................................ Die Installation von XAMPP Lite (Windows) ................................ 3.2.1 XAMPP Lite installieren ..................................................
51 51 52 53 54
5
Inhalt
3.3
3.4
3.5
3.6 3.7
4
54 56 57 57 58 60 60 62 62 63 66 66 67 68 69
Die Installation von Contao ..................................................... 71 4.1 4.2 4.3
4.4
4.5 4.6 4.7 4.8
6
3.2.2 Das XAMPP Control Panel .............................................. 3.2.3 Testen, ob der Webserver funktioniert ............................ Der Sicherheitscheck von XAMPP ................................................ 3.3.1 Den Sicherheitscheck aufrufen ........................................ 3.3.2 Einen Passwortschutz für MySQL und phpMyAdmin einrichten ....................................................................... 3.3.3 Passwortschutz für das XAMPP-Verzeichnis einrichten .... 3.3.4 Die neuen Sicherheitseinstellungen testen ....................... Der Webserver: Apache serviert Webseiten ................................. 3.4.1 DocumentRoot: »htdocs«, der Ordner für die Webseiten ...................................................................... 3.4.2 Der PHP-Übersetzer: Als Modul oder als CGI .................. MySQL serviert SQL-Datenbanken ............................................... 3.5.1 MySQL verwaltet mehrere Datenbanken ......................... 3.5.2 SQL ist die Sprache zur Verwaltung von Datenbanken ..... phpMyAdmin verwaltet die Datenbanken von MySQL ................. XAMPP-Matrix – die Komponenten im Überblick ........................
Vorbereitung: Die Systemvoraussetzungen ................................... Offline: Contao auf Ihrem Rechner installieren ............................. Online: Contao im Web installieren ............................................. 4.3.1 Informationen über Webhoster im Forum ....................... 4.3.2 Webspace prüfen: Das Contao-Systemdiagnosetool ........ 4.3.3 Dateien auf den Webspace kopieren ............................... 4.3.4 Zugangsdaten für die Datenbank ..................................... 4.3.5 Die Installation im Überblick ........................................... Safe Mode Hack: Der FTP-Modus von Contao ............................. 4.4.1 »Sie benötigen wahrscheinlich den Safe Mode Hack« ...... 4.4.2 Eine Alternative zum SMH: PHP als CGI oder Fast-CGI .... 4.4.3 Online: So richten Sie den Safe Mode Hack ein ............... 4.4.4 Offline-Webspace: SMH bei einer lokalen Installation umgehen ......................................................................... Alte PHP-Version: Parse error… ................................................... Sonstige potenzielle Probleme bei der Installation ....................... Umzug: Von XAMPP auf den Online-Webspace ........................... Know-how: Dateiberechtigungen – das 1x1 zu 644 ..................... 4.8.1 Besitzer, Benutzer und Berechtigungen: 644 und 755 ..... 4.8.2 PHP und Contao: Benutzerrechte, Modul und (Fast)CGI .........................................................................
71 72 82 82 83 84 86 86 87 88 89 89 91 92 93 94 97 97 98
Inhalt
4.8.3 4.8.4
5
Was der Safe Mode Hack genau macht ........................... Sicherheitsloch: »Alles auf 777« ist keine gute Idee .........
99 99
Ein kurzer Rundgang im Backend ............................................ 101 5.1 5.2 5.3 5.4 5.5
5.6
5.7
Überblick: Das Backend ............................................................... Ganz oben: Der Infobereich ......................................................... Links: Der Navigationsbereich (Backend-Module) ........................ Rechts: Der Arbeitsbereich .......................................................... »System 폷 Einstellungen« .............................................................. 5.5.1 Der »Titel der Webseite« ................................................. 5.5.2 Das Format für Angaben von Datum und Zeit ................. Der Dateimanager: »System 폷 Dateiverwaltung« ........................... 5.6.1 Ordner erstellen mit dem Dateimanager ......................... 5.6.2 Dateien mit dem Dateimanager hochladen ..................... Erweiterungen installieren ........................................................... 5.7.1 Die Erweiterungsliste auf »contao.org« ............................ 5.7.2 Erweiterungen aus dem Backend heraus installieren ........
101 102 103 104 105 106 107 108 109 110 112 112 112
TEIL III Schritt für Schritt zur ersten Website 6
Die erste Website mit Contao ................................................. 117 6.1
6.2
6.3
6.4
6.5
»No pages found« – Die Seitenstruktur erstellen .......................... 6.1.1 Der Startpunkt für eine neue Website ............................. 6.1.2 Sprachen-Fallback für den Startpunkt aktivieren .............. 6.1.3 Die Startseite für die Beispielsite erstellen ....................... 6.1.4 Die Seitenstruktur für die Beispielsite erweitern .............. »No layout found« – Theme und Seitenlayout erstellen ................ 6.2.1 Das erste Theme erstellen ............................................... 6.2.2 Das erste Seitenlayout erstellen ....................................... 6.2.3 Ein kurzer Blick in den Quelltext ..................................... Das erste Frontend-Modul: »Navigation – Hauptnavi« ................. 6.3.1 Ein Navigationsmodul erstellen ....................................... 6.3.2 Das Navigationsmodul im Seitenlayout einbinden ........... Frontend-Module für den Kopf- und den Fußbereich ................... 6.4.1 Module für den Kopf- und den Fußbereich erstellen ....... 6.4.2 Die Module für den Kopf- und den Fußbereich im Seitenlayout einbinden .................................................... Das erste Stylesheet erstellen und zuweisen ................................. 6.5.1 Das erste Stylesheet im Backend erstellen .......................
117 118 119 121 122 124 124 126 127 128 129 130 132 132 133 134 135
7
Inhalt
6.5.2 6.5.3 6.5.4
6.6
6.7
6.8
7
135 137 139 142 142 143 144 146 147 147 149 150 152 153
Webseiten gestalten: Contao und CSS .................................... 155 7.1
7.2
7.3
7.4
7.5
7.6
8
Stylesheet bearbeiten: Einen Style für »body« erstellen .... Das Stylesheet mit dem Seitenlayout verbinden .............. Weitere Styles für Kopfbereich, Hauptspalte und Fußbereich ...................................................................... Der erste Artikel und ein Inhaltselement ...................................... 6.6.1 Der Artikelbaum: Die Übersicht über alle Artikel ............. 6.6.2 Die Einstellungen für einen Artikel .................................. 6.6.3 Inhaltselemente zu einem Artikel hinzufügen .................. 6.6.4 Den Artikel mit dem Seitenlayout verbinden ................... Templates: Das HTML für den Quelltext ...................................... 6.7.1 Es gibt verschiedene Arten von Templates ....................... 6.7.2 Das HTML der Navigation im Quelltext ........................... 6.7.3 Backend-Modul »Templates«: Templates update-sicher anpassen ......................................................................... 6.7.4 Ein kurzer Blick in das Template »nav_default.tpl« ........... Das Contao-Prinzip: Altogether now ............................................
Übersicht: Contao und CSS .......................................................... 7.1.1 Gestatten: Das CSS-Framework von Contao .................... 7.1.2 Stylesheets bearbeiten: Interner oder externer Editor? ..... Arbeiten mit internen Stylesheets ................................................ 7.2.1 Der interne CSS-Editor: CSS per HTML-Formular ............. 7.2.2 Übung: Header und Footer mit dem internen CSSEditor gestalten ............................................................... 7.2.3 Tipps für die Arbeit mit dem internen CSS-Editor ............ 7.2.4 Integration von internen Stylesheets in »Seitenlayouts« ... Interne Stylesheets: CSS-Dateien importieren .............................. 7.3.1 Das Reset-Stylesheet »basic.css« herunterladen ............... 7.3.2 Das Reset-Stylesheet »basic.css« importieren ................... 7.3.3 Das Reset-Stylesheet »basic.css« im Detail ....................... Das Suchen und Filtern von Styles in internen Stylesheets ............ 7.4.1 Styles mit bestimmten Selektoren suchen ........................ 7.4.2 Filtern nach Kategorie ..................................................... Die Erweiterung »[csseditor]« ....................................................... 7.5.1 Die Erweiterung »[csseditor]« installieren und kennenlernen .................................................................. 7.5.2 Interne Stylesheets extern bearbeiten .............................. 7.5.3 Einschränkungen bei der Arbeit mit »[csseditor]« ............. Übung: Gestaltung der Navigation per CSS ..................................
155 155 156 156 157 158 160 161 162 162 162 165 167 168 169 171 171 173 173 174
Inhalt
7.7
7.8 7.9 7.10
8
Externe Stylesheets: CSS außerhalb der Datenbank ...................... 7.7.1 Vorgehensweise: Die Arbeit mit externen Stylesheets ...... 7.7.2 Integration von externen Stylesheets in »Seitenlayouts« .. Teamwork: Interne und externe Stylesheets zusammen ................ Fazit: Jeder kann so arbeiten wie er gerne möchte ....................... Know-how: Das CSS-Framework von Contao ............................... 7.10.1 Das HTML-Grundgerüst von Contao in »fe_page.tpl« ...... 7.10.2 »$this->framework«: Die Einstellungen aus dem Seitenlayout .................................................................... 7.10.3 Stylesheets einbinden: »$this->stylesheets« und »$this->head« ................................................................. 7.10.4 Das CSS-Framework von Contao aus Benutzersicht ......... 7.10.5 Der Kern des CSS-Frameworks: »system/contao.css« ....... 7.10.6 Patches für IE6 und 7: »system/iefixes.css« ......................
176 177 181 182 183 184 184 186 188 188 190 191
Navigationen erstellen in Contao ............................................ 193 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9
Übersicht: Seiten, Module und Artikel ......................................... Die Navigationsmodule im Überblick ........................................... Die Seitenstruktur der Beispielsite erweitern ................................ Vertikale Navigation mit zwei Ebenen .......................................... Horizontale Navigation mit zwei Ebenen ...................................... Horizontale und vertikale Navigation zusammen .......................... Metanavigation: Eine »Individuelle Navigation« ........................... Sitemap: Das Inhaltsverzeichnis der Website ................................ Weitere Navigationsmodule ......................................................... 8.9.1 Quicknavigation und Quicklink ....................................... 8.9.2 Navigationspfad: Die Breadcrumb-Navigation »Sie sind hier« ............................................................................... 8.9.3 Buchnavigation: Von einer Seite zur nächsten und zurück
193 194 195 197 203 211 215 221 226 226 227 228
TEIL IV Inhalte erstellen und verwalten 9
Inhaltselemente für Text und Bilder ........................................ 233 9.1 9.2 9.3
Artikel und Inhaltselemente im HTML-Quelltext .......................... Das Inhaltselement »Überschrift«: »ce_headline« .......................... Das Inhaltselement »Text«: »ce_text« ........................................... 9.3.1 Inhaltselement Text: Die Eingabemaske .......................... 9.3.2 Der Editor TinyMCE im Überblick .................................... 9.3.3 Hyperlinks erstellen im Editor TinyMCE ...........................
233 234 237 238 238 240
9
Inhalt
9.3.4 9.3.5
9.4
9.5
9.6 9.7
Das Inhaltselement »Text« mit einem Bild erweitern ........ Das HTML für das eingefügte Bild und ein CSSBilderrahmen .................................................................. Das Inhaltselement »Bild«: »ce_image« ........................................ 9.4.1 Das Inhaltselement »Bild« im Einsatz ............................... 9.4.2 »Bild-Einstellungen«: Die Möglichkeiten der Bildanpassung ................................................................. Das Inhaltselement »Galerie«: »ce_gallery« ................................... 9.5.1 Eine Bildergalerie erstellen .............................................. 9.5.2 Die Bildergalerie im HTML .............................................. 9.5.3 Beschriftung von Galerien: »meta.txt« ............................. Das Inhaltselement »Top-Link«: «ce_toplink» ............................... Syndikation: Artikel drucken und verbreiten ................................ 9.7.1 Die Links zur Syndikation aktivieren ................................ 9.7.2 Die Links zur Syndikation per CSS gestalten .....................
243 246 247 247 250 252 252 255 256 258 261 261 262
10 Weitere nützliche Inhaltselemente ......................................... 265 10.1
10.2
10.3
10.4
10
Das Inhaltselement »Tabelle«: ce_table ........................................ 10.1.1 Der Eingabeassistent für das Inhaltselement »Tabelle« ..... 10.1.2 Importieren der Daten mit einer CSV-Datei ..................... 10.1.3 Das HTML für das Inhaltselement »Tabelle« .................... 10.1.4 Das Inhaltselement »Tabelle« per CSS gestalten ............... Das Inhaltselement »Akkordeon«: »ce_accordion« ........................ 10.2.1 Seitenlayout vorbereiten und Artikel erstellen ................. 10.2.2 Das Eingabeformular für das Inhaltselement »Akkordeon« ................................................................... 10.2.3 Zugeschaut und mitgebaut: Drei Akkordeons erstellen .... 10.2.4 Das HTML für ein Akkordeon .......................................... 10.2.5 Das CSS zur Gestaltung eines Akkordeons ....................... 10.2.6 Optional: Grafiken zur Statusanzeige ............................... Externe Videos auf Webseiten einbinden ..................................... 10.3.1 Inhaltselement »Text«: Ein Link in einer Mediabox .......... 10.3.2 Das Inhaltselement »HTML«: »ce_html« .......................... Weitere Inhaltselemente im Überblick ......................................... 10.4.1 Das Inhaltselement »Code«: »ce_code« ............................ 10.4.2 Das Inhaltselement »Aufzählung«: »ce_list« ..................... 10.4.3 Das Inhaltselement »Modul« ........................................... 10.4.4 Die »Include«-Elemente im Kurzüberblick .......................
265 265 267 269 270 272 273 274 276 277 277 279 280 280 282 284 284 286 287 287
Inhalt
11 Kontakt: Formulare erstellen mit Contao ................................ 289 11.1 11.2
11.3
11.4
Ein Kontaktformular für die Beispielsite erstellen ......................... Das Kontakformular gestalten ...................................................... 11.2.1 Das HTML für das Kontaktformular ................................. 11.2.2 Das CSS für das Kontaktformular ..................................... Formularfelder: Die Feldtypen im Formulargenerator ................... 11.3.1 Formularfelder einfügen: Die Feldtypen im Überblick ...... 11.3.2 Überschrift und Erklärung für zusätzliche Informationen ................................................................. 11.3.3 Formularfelder gruppieren: »fieldset« und »legend« ......... 11.3.4 Das Passwortfeld: Automatisch mit Bestätigungsfeld ....... 11.3.5 Das Select-Menü: Auswahllisten per Klick ....................... 11.3.6 Das Radio-Button-Menü: Optionsfelder deluxe ............... 11.3.7 Das Checkbox-Menü: Kontrollkästchen deluxe ................ 11.3.8 »Datei-Upload«: Besucher können Dateien hochladen ..... 11.3.9 Die Sicherheitsfrage zur Spamvermeidung ....................... Sinnvolle Erweiterungen zur Arbeit mit Formularen .....................
289 300 300 302 304 304 305 306 306 307 309 312 313 314 316
12 Suchfunktion: Die Beispielsite durchsuchen ........................... 317 12.1 12.2 12.3
Teil 1: Eine Suchseite erstellen ..................................................... 318 Teil 2: Das Suchformular erstellen und einbinden ......................... 326 Die Syntax der Suchfunktion im Überblick ................................... 334
13 Die Erweiterung »Nachrichten« ............................................... 335 13.1 13.2
13.3
Übersicht: Die Zutaten für das Nachrichtensystem ....................... Das Backend-Modul »Nachrichten«: Beiträge erstellen ................. 13.2.1 »Newsarchiv«: Ein Nachrichtenarchiv erstellen ................ 13.2.2 Nachrichtenbeiträge schreiben ........................................ Beiträge auf den Webseiten ausgeben ......................................... 13.3.1 Eine neue Seite zur Anzeige eines Beitrags (Einzelansicht) ................................................................. 13.3.2 Das Modul »Nachrichten – Teaser anzeigen [Nachrichtenarchiv]« ....................................................... 13.3.3 Das Modul »Beitrag anzeigen [Nachrichtenleser]« ........... 13.3.4 Einbinden des Moduls »Nachrichten – Teaser anzeigen« .. 13.3.5 Einbinden des Moduls »Nachrichten – Beitrag anzeigen« ........................................................................
336 336 337 338 341 341 343 344 345 346
11
Inhalt
13.4
13.5 13.6 13.7
13.8
13.9
HTML und CSS: Teaser und Beiträge gestalten ............................. 13.4.1 Das HTML des Moduls »Nachrichten – Teaser anzeigen« ........................................................................ 13.4.2 Das CSS für das Modul »Nachrichten – Teaser anzeigen« ........................................................................ 13.4.3 Das HTML des Moduls »Nachrichten – Beitrag anzeigen« ........................................................................ 13.4.4 Das CSS für das Modul »Nachrichten – Beitrag anzeigen« ........................................................................ Bilder zu Teasern und Beiträgen hinzufügen ................................. Einen Feed zum Abonnieren der Beiträge erstellen ...................... Die Kommentarfunktion .............................................................. 13.7.1 Die Kommentarfunktion aktivieren .................................. 13.7.2 Kommentare schreiben und überprüfen .......................... 13.7.3 Kommentare und Fehlermeldungen gestalten ................. 13.7.4 Kommentare im Backend verwalten ................................ Navigation: Beiträge monatsweise auswählen .............................. 13.8.1 Das Modul »Monat auswählen [NachrichtenarchivMenü]« ........................................................................... 13.8.2 Das Modul »Nachrichten – Monat auswählen« einbinden ........................................................................ 13.8.3 Das HTML des Moduls »Nachrichten – Monat auswählen« ..................................................................... 13.8.4 Das CSS für das Modul »Nachrichten – Monat auswählen« ..................................................................... Übersicht: Nachrichten, Modultypen und Templates .................... 13.9.1 Die Modultypen und die Modultemplates »mod_news*.tpl« ............................................................. 13.9.2 Die vier Subtemplates »news_*.tpl« .................................
348 348 350 351 352 353 356 358 358 359 360 362 363 364 364 365 366 368 368 369
14 Die Erweiterungen »Kalender« und »FAQ« ............................. 371 14.1 14.2
14.3
12
Die Erweiterung »Kalender«: Termine verwalten .......................... 14.1.1 Die Erweiterung »Kalender« in der Übersicht ................... Einen Kalender gestalten ............................................................. 14.2.1 Das HTML vom Frontend-Modul »Kalender« ................... 14.2.2 Das CSS zum Gestalten eines Kalenders ........................... 14.2.3 HTML und CSS zur Gestaltung der Einzelansicht .............. Häufig gestellte Fragen: Die FAQ-Erweiterung ............................. 14.3.1 Die Kurzanleitung für die FAQ-Erweiterung .................... 14.3.2 Die FAQ-Erweiterung gestalten .......................................
371 372 377 377 379 383 384 384 386
Inhalt
15 Die Erweiterung »Newsletter« ................................................. 389 15.1
15.2
15.3
Das Backend-Modul »Newsletter« ............................................... 15.1.1 Einen Verteiler erstellen .................................................. 15.1.2 Abonennten verwalten: Die Empfänger des Newsletters ..................................................................... 15.1.3 Einen Newsletter erstellen ............................................... 15.1.4 Einen Newsletter versenden ............................................ Newsletter im Frontend anzeigen ................................................ 15.2.1 Die Kurzanleitung zur Darstellung der Newsletter auf der Site ........................................................................... 15.2.2 Das HTML der Frontend-Module zur Newsletterdarstellung ..................................................... Newsletter im Frontend abonnieren und kündigen ...................... 15.3.1 Die Kurzanleitung zum Abonnieren und Kündigen .......... 15.3.2 Das HTML der Frontend-Module »Abonnieren« und »Kündigen« .....................................................................
390 390 391 392 393 395 396 396 397 398 399
16 Die Startseite gestalten ........................................................... 401 16.1 16.2
16.3 16.4
16.5
16.6
Ein neues Layout für die Startseite ............................................... Inhalt für die Hauptspalte: Newsbeiträge und Termine ................. 16.2.1 Die Frontend-Module erstellen ....................................... 16.2.2 Die Frontend-Module auf der Startseite einbinden .......... 16.2.3 Newsbeiträge und Termine gestalten .............................. Artikel mit Teaser auf der Startseite ............................................. Sidebar erstellen: Lesetipps und Zufallsbild .................................. 16.4.1 Lesetipps mit einem Quicklink-Modul ............................. 16.4.2 Ein zufällig ausgewähltes Bild .......................................... 16.4.3 Die Sidebar gestalten ...................................................... Der Minikalender in der Sidebar .................................................. 16.5.1 Eine neue Seite mit dem Modul »Eventliste« erstellen ..... 16.5.2 Ein Modul für den Minikalender erstellen und einbinden ........................................................................ 16.5.3 Den Minikalender gestalten ............................................ Newsletter abonnieren in der Sidebar ..........................................
402 403 404 404 406 408 410 410 411 411 413 413 414 414 416
13
Inhalt
TEIL V Systemverwaltung 17 Der Theme-Manager in Aktion ................................................ 421 17.1
17.2 17.3 17.4
17.5
17.6
Ein Theme bestimmt das Aussehen der Website .......................... 17.1.1 Der Theme-Manager verwaltet bekannte Komponenten ................................................................. 17.1.2 »Blaues Theme« von der Beispielsite exportieren ............. 17.1.3 All-in-one: Das Innenleben einer CTO-Datei ................... 17.1.4 Was nicht in einem Theme enthalten ist .......................... Das »Cover Theme«: Die Beispielsite im neuen Look .................... Über die Anpassung von Themes ................................................. Sonderfall: In Artikeln eingebundene Module .............................. 17.4.1 Im Seitenlayout eingebundene Module sind unproblematisch ............................................................. 17.4.2 In Artikeln eingebundene Frontend-Module sind Inhalt .............................................................................. 17.4.3 Was mit in Artikeln eingebundenen Modulen schiefgehen kann ......................................................................... 17.4.4 Reparatur: Anpassung von in Artikeln eingebundenen Modulen ......................................................................... Sicherheitshinweise für Contao-Themes ....................................... 17.5.1 Das potenzielle Problem ................................................. 17.5.2 Vertrauenswürdige Quellen ............................................. 17.5.3 Ein Theme prüfen ............................................................ 17.5.4 Angriff von innen ............................................................ Fazit: Themes sind klasse .............................................................
421 421 422 423 424 425 428 430 430 431 432 433 434 435 435 435 435 436
18 Die Optimierung für Suchmaschinen ....................................... 437 18.1
18.2 18.3
14
Lesbare Adressen: URLs umschreiben .......................................... 18.1.1 Content-Management-Systeme und URLs ....................... 18.1.2 Die drei URL-Einstellungen von Contao ........................... 18.1.3 Drei Voraussetzungen zum Umschreiben der URLs .......... 18.1.4 Contao im Unterordner: Die »RewriteBase« in der ».htaccess« ...................................................................... 18.1.5 Die Rewrite-Regel zum URL-Umschreiben in der ».htaccess« ...................................................................... 18.1.6 So wird’s gemacht: URLs umschreiben in der Praxis ......... Flache oder hierarchische URLs? .................................................. Die Optimierung von Seiten ........................................................ 18.3.1 Seitenname und Seitenalias im Backend von Contao .......
438 438 439 440 441 442 442 444 445 445
Inhalt
18.4
18.5
18.3.2 Der Titel der Seite: » ... « ........................... 18.3.3 Die Beschreibung der Seite: »« ..................................................... Abfangjäger: 404 und 403 ........................................................... 18.4.1 Statusmeldungen: Der Webserver schickt eine Nummer mit ................................................................... 18.4.2 404-Seite nicht gefunden: Darf’s vielleicht was anderes sein? ............................................................................... 18.4.3 403 Zugriff verweigert: Diese Seite gibt es, aber nicht für Sie .................................................................................. Eine XML-Sitemap für Google & Co .............................................
447 450 451 451 453 455 456
19 Mitglieder: Im Frontend angemeldete Besucher ..................... 459 19.1 19.2
19.3
19.4
19.5 19.6
Mitglieder und Benutzer: Der Unterschied ................................... Mitgliedergruppen und Mitglieder einrichten .............................. 19.2.1 Mitgliedergruppen einrichten .......................................... 19.2.2 Mitglieder einrichten ...................................................... Seiten und Module für die An- und Abmeldung erstellen ............. 19.3.1 Seiten zur An- und Abmeldung erstellen ......................... 19.3.2 Die Module zur Anmeldung im Überblick ....................... 19.3.3 Ein Modul für das Anmeldeformular: »[LoginFormular]« ...................................................................... 19.3.4 Ein Modul zur Abmeldung: »[Automatischer Logout]« ..... 19.3.5 Modul für den Link zur Anmeldeseite: »[Eigener HTML-Code]« ................................................................. 19.3.6 Anmeldenamen und Abmeldelink: »[Eigener HTMLCode]« ............................................................................ Die erstellten Module einbinden und gestalten ............................ 19.4.1 Die Module zum An- und Abmelden in Artikeln einbinden ........................................................................ 19.4.2 Module für den Fußbereich im Seitenlayout einbinden .... 19.4.3 An- und Abmeldung testen ............................................. 19.4.4 Das Anmeldeformular gestalten ...................................... Einen geschützten Downloadbereich einrichten ........................... Weitere Möglichkeiten zur Mitgliederverwaltung ........................ 19.6.1 Das Modul »Passwort vergessen« .................................... 19.6.2 Das Modul »Persönliche Daten« ...................................... 19.6.3 Die automatische Registrierung für Mitglieder .................
459 461 461 461 462 462 463 464 465 465 466 466 466 467 468 470 471 475 475 477 477
15
Inhalt
20 Benutzer: Im Backend angemeldete Mitarbeiter .................... 479 20.1 20.2 20.3
20.4
20.5
Benutzerverwaltung: Die Übersicht .............................................. Die Benutzergruppe »Redakteure – Nachrichten« ......................... Die Benutzerin »Helen Lewis« einrichten ...................................... 20.3.1 Testen der Einstellungen: Ein Klick, und Sie sind Helen Lewis .............................................................................. Die Benutzergruppe »Redakteure – Artikel« ................................. 20.4.1 Benutzergruppe »Redakteure – Artikel« einrichten .......... 20.4.2 Benutzer zuweisen und testen ......................................... Zugriffsrechte für Seiten und Artikel setzen .................................. 20.5.1 Zugriffsrechte: Was mit Seite und Artikel gemacht werden darf .................................................................... 20.5.2 Zugriffsrechte für die freigegebenen Seiten setzen ...........
479 480 485 487 489 489 490 491 491 492
21 Die Website im Alltag .............................................................. 495 21.1 21.2 21.3
21.4 21.5 21.6
Das System-Log protokolliert Aktivitäten von Contao .................. Webstatistiken mit Google Analytics ............................................ Den Cache in Contao kontrollieren .............................................. 21.3.1 Der Cache-Modus in »System 폷 Einstellungen« ................. 21.3.2 Cache-Einstellungen: Die Cachezeit für die Seiten definieren ....................................................................... 21.3.3 Systemwartung: Daten bereinigen ................................... 21.3.4 Systemwartung: Suchindex neu aufbauen ........................ 21.3.5 Daten in den Benutzereinstellungen bereinigen ............... Backups erstellen ......................................................................... Der Live Update Service: Das automatische Update ..................... Das manuelle Update per FTP ......................................................
495 496 497 497 498 499 500 501 501 503 504
22 Contao für Fortgeschrittene: Tipps und Tricks ........................ 507 22.1
22.2
16
Wichtige Konfigurationsdateien von Contao ................................ 22.1.1 Die Systemkonfiguration: localconfig.php ........................ 22.1.2 Data Container Arrays: Die »dcaconfig.php« .................... 22.1.3 Sprachkonfiguration: Die »langconfig.php« ...................... Tipps und Tricks zum TinyMCE .................................................... 22.2.1 Ein Stylesheet für den TinyMCE: »tl_files/tinymce.css« ..... 22.2.2 Textbausteine im TinyMCE: Inhalte aus Vorlage einfügen .......................................................................... 22.2.3 Die Symbolleisten des TinyMCE anpassen .......................
507 507 508 509 510 510 511 512
Inhalt
22.3
22.4
22.5
22.6
22.2.4 Konfiguration des TinyMCE pro Benutzergruppe anpassen ......................................................................... Anfahrtskizze mit Google Maps .................................................... 22.3.1 Die Konfiguration des Frontend-Moduls ......................... 22.3.2 Die Ermittlung der Koordinaten ...................................... Layouts für Fortgeschrittene ........................................................ 22.4.1 Eigene Layoutbereiche erstellen und aktivieren ............... 22.4.2 Eigene Seitentemplates erstellen ..................................... 22.4.3 Contao mit anderen CSS-Frameworks nutzen .................. Mehrere Websites in einer Contao-Installation ............................ 22.5.1 Ein Startpunkt für jede Website ....................................... 22.5.2 Mehrsprachige Website mit automatischer Sprachwahl ..................................................................... 22.5.3 Mehrere Domains in einer Contao-Installation ................ 22.5.4 Zusammenfassung: Mehrere Websites in mehreren Sprachen ......................................................................... Die Insert-Tags im Überblick ........................................................ 22.6.1 Insert-Tags für Link-Elemente .......................................... 22.6.2 Benutzereigenschaften: Insert-Tags für FrontendBenutzer ......................................................................... 22.6.3 Umgebungsvariablen ....................................................... 22.6.4 Include-Elemente ............................................................ 22.6.5 Verschiedenes: Datum, E-Mail und Sprachen ..................
515 515 516 517 518 518 519 519 520 520 521 522 522 523 524 525 526 527 527
Index ............................................................................................................ 529
17
Geleitwort des Fachgutachters
Peter Müller hat sich mit seiner Buchreihe »Little Boxes« schnell einen Namen in der Webdesign-Szene gemacht und war natürlich auch mir ein Begriff, als ich gefragt wurde, ob ich das Fachgutachten zu seinem Contao-Buch übernehmen möchte. Persönlich kennengelernt hatte ich ihn bis dahin noch nicht, sehr wohl war mir aber die fast ein wenig ehrfürchtige Art und Weise aufgefallen, in der die Leute über ihn sprachen. »Ja, Peter Müller. Little Boxes. Super Bücher. Erfolgsautor.« Wie würde wohl ein Buch zu einem CMS von ihm aussehen? Zum damaligen Zeitpunkt war ihm das wahrscheinlich selbst noch nicht im Detail klar. Allerdings hatte er schon vor über zehn Jahren, als Dreamweaver & Co. noch das Maß der Dinge waren, Bücher zum Thema »Webpublishing« geschrieben und wusste aus der langjährigen Erfahrung heraus, wie man ein solches Werk strukturiert und die Inhalte dem Leser verständlich vermittelt. Inzwischen ist das Manuskript fertig, und ich kann sagen, dass Peter der Brückenschlag zwischen der Veranschaulichung von Contao und »seinem« Thema CSS optimal gelungen ist. Vor allem die ganzheitliche Betrachtung der Frage, wie man Stylesheets in Contao am besten einbindet und bearbeitet, dürfte für viele Anwender ein interessantes Kapitel sein. Denn nicht jeder kommt mit dem in Contao gewählten Standardweg auf Anhieb zurecht. Das wurde auch auf dem Contao-Usertreffen im Mai 2010 deutlich, bei dem Peter zu unser aller Freude einen wohl unvergesslichen Gastvortrag zu diesem Thema gehalten hat. Für mich und die meisten anderen Teilnehmer war das der erste persönliche Kontakt mit ihm, und schnell stand fest, dass Peter nicht nur fachlich überzeugend ist, sondern auch Qualitäten als Entertainer hat – ein echtes Original eben. Seine humorvolle Art findet sich natürlich auch in seinen Büchern und Video-Trainings wieder. Eine gehörige Portion Humor und Gelassenheit war dann wohl auch notwendig, als die Namensänderung von TYPOlight in Contao verkündet wurde. Zu diesem Zeitpunkt hatte Peter die ersten Kapitel des Buches bereits fertig, und ihm wurde bewusst, dass er sie nun überarbeiten musste. Eine unbezahlte Mehrarbeit, die leider auch für alle anderen Autoren angefallen ist, die inzwischen Contao-Bücher schrieben. Mittlerweile haben sich aber alle Beteiligten von dem »Schock« erholt und sind mit der Entscheidung und dem neuen Namen zufrieden. Denn Contao ist weder ein »CMS für Einsteiger« noch eine »abgespeckte Version« irgendwel-
19
Geleitwort des Fachgutachters
cher anderer Blog- oder CMSysteme, wie das »light« im alten Namen vermehrt interpretiert wurde. Das vorliegende Buch »Websites erstellen mit Contao« ist ein praxisorientierter Leitfaden für Anwender und Administratoren, der Schritt für Schritt die Erstellung einer Website mit Contao beschreibt und dabei alle wichtigen Elemente und Vorgehensweisen erklärt. Es versteht sich nicht als vollständige Systemreferenz, sondern zeigt anhand eines konkreten Beispiels, welche Lösungen Contao für die gängigen Problemstellungen beim Bau von Webseiten bietet. Dabei weist Peter an vielen Stellen auch auf entsprechende Drittanbieter-Extensions hin, mit denen sich die Core-Funktionen sinnvoll ergänzen oder auf eine alternative Art und Weise nutzen lassen. Denn eines der schönsten Features von Contao ist seine Flexibilität, die den Anwender fast nie auf nur einen Lösungsweg beschränkt. Ich wünsche allen Lesern viel Spaß mit diesem Buch und genauso viel Freude beim Arbeiten mit Contao wie Peter Müller. Leo Feyer Core-Entwickler des Content-Management-Sytems Contao München
20
Vorwort
Das erste Jahrzehnt dieses Jahrtausends habe ich wie so viele Webworker mit der Suche nach einem geeigneten Content-Management-System (CMS) verbracht, bis ich im Jahre 2008 Contao kennenlernte, das damals noch TYPOlight hieß. Nach einigen kleineren Sites habe ich im Sommer 2009 die Online-Version der CSSEinführung »Little Boxes« damit erstellt, und das erste Mal fand ich ein CMS nach einem Projekt besser als vorher. Anfang 2010 fragte Galileo Computing dann, ob ich Lust hätte, ein Buch zu Contao zu schreiben. Hatte ich, und so ist in den letzten Monaten dieses Buch entstanden, das Ihnen genau eine Sache näherbringen möchte, nämlich dass das Websites erstellen mit Contao Spaß macht und sehr effektiv ist. Für wen ist dieses Buch? Werfen Sie einen Blick auf die folgende Skala, und überlegen Sie kurz, wo Sie sich einordnen würden: Websurfer – Webbastler – Webdesigner – Webmaster – Webentwickler Okay? Weiter geht’s. Websurfer nutzen das Web. Sie kennen vielleicht Firefox und andere moderne Browser, beherrschen aber weder HTML noch CSS. Websurfer können nach einer kurzen Einführung die Inhalte einer Contao-Site verwalten, werden bei der Erstellung einer eigenen Website mit Contao aber wahrscheinlich mehr Hilfe benötigen, als dieses Buch geben kann. Webbastler, Webdesigner und Webmaster haben schon Webseiten erstellt, sei es als Hobby oder beruflich. Sie beherrschen mehr oder weniger HTML und CSS, kennen Add-Ons wie Firebug und haben zumindest Grundwissen zu Themen wie FTP. Sie können mit Contao, diesem Buch und der Community eigene Websites erstellen, auch wenn sie bislang wenig Erfahrung mit CMSystemen haben. Dieses Buch ist für Sie geschrieben. Webentwickler sprechen JavaScript und PHP und sind meist auch mit Datenbankentwicklung und Serververwaltung vertraut. Entwickler können mit Contao fast alles machen und die Funktionalität beliebig erweitern. Sie bekommen in diesem Buch eine gute Einführung in das CMS, werden sich aber einen Knopf zum
21
Vorwort
schnellen Vorlauf und mehr über Programmierung wünschen. Der schnelle Vorlauf ist drin, die Programmierung nicht. Die DVD im Buch Auf der DVD finden Sie neben einigen Programmen wie Contao, XAMPP und Editoren auch Links, Beispieldateien und Frontend-Templates. Links. Alle im Buch abgedruckten Webadressen sind als Verknüpfungen im Ordner buch_links gespeichert. Wenn Sie den Ordner beim Lesen im Hintergrund geöffnet halten, brauchen Sie die Adressen nicht abzutippen. Beispieldateien. Im Ordner beispieldateien finden Sie nach Kapiteln sortiert alle Dateien, die Sie zur Erstellung der Beispielsite benötigen. Frontend-Templates. Ab Kapitel 6 gibt es im Ordner beispieldateien für jedes Kapitel ein Frontend-Template, sodass Sie buchstäblich in jedem Kapitel einsteigen können. Das ist der schnelle Vorlauf. Eine genaue Anleitung finden Sie auf der DVD im Ordner beispieldateien. Video-Lektionen. Hier finden Sie weiterführende Lektionen aus dem Video-Training von Michael Herzog.
Vielen Dank An Erika Schiener und Dörte Neumann, die als Testleserinnen die Entstehung des Manuskriptes von Anfang bis Ende begleitet und mich mit zahlreichen Fragen, Vorschlägen und Kommentaren versorgt haben. Vielen, vielen Dank für Eure Energie, Mühe und Zeit. An Leo Feyer für die Entwicklung von Contao, das Kontrollieren des Buches als Fachgutachter und für die Anregungen, die daraus entstanden sind. An meinen Chef Dr. Manfred Fornfeist von der PROCON GmbH Seminare und Software, dessen Zeitspende den Schreibstress milderte. An Stephan Mattescheck für die Idee zu diesem Buch. Last but not least vielen Dank an Sie als Leser. Ohne Sie würde es keinen Spaß machen, und Sie lesen sogar das Vorwort. Wow. Ich wünsche Ihnen viel Spaß und Erfolg mit den kommenden Seiten. Take it easy, but take it. Die Website zum Buch Aktuelle Informationen zum Buch finden Sie auf der Website: http://www.websites-erstellen-mit-contao.de Made with Contao.
22
TEIL I Contao kennenlernen
In diesem Kapitel stelle ich Ihnen Contao kurz vor: Was sind die Gründe für ein CMS? Welche Highlights bietet Contao? Was sind die wichtigsten Ressourcen im Web?
1
Das ist Contao
Contao. Klingt gut, ist einfach zu behalten und hat auch noch eine Bedeutung: 왘
con sind die ersten Buchstaben von Content.
왘
ta.o kommt aus dem Vietnamesischen und bedeutet bilden, erzeugen, gestalten.
Content erzeugen. Kein schlechter Name für ein Programm, mit dem Content erzeugt, gestaltet und verwaltet wird.
1.1
Contao ist ein Content-Management-System
Content-Management-System (kurz CMS) ist der gängige Begriff für ein Programm zum Verwalten von Inhalten auf Websites. Ein CMS wie Contao ist eine Software, ein Werkzeug, ein Tool, mit dem man Websites erstellen und pflegen kann. Contao ist ein webbasiertes CMS, denn die Bedienung erfolgt über das Web und mithilfe eines Webbrowsers.
1.1.1
Brauchen Sie ein Content-Management-System?
Webseiten wurden früher manuell erstellt, auf den Webspace kopiert und dort vom Webserver unverändert ausgeliefert. Manuell erstellte, statische Webseiten sind sehr aufwendig in der Erstellung und der Pflege und sind deshalb immer seltener anzutreffen. Wer Websites aber bisher manuell erstellt hat, muss für die Einarbeitung in ein CMS je nach Vorwissen mehr oder weniger Zeit einplanen und bei Workflow und Gewohnheiten in vielen Punkten völlig umdenken. Die Frage ist bei einem Projekt daher häufig, ob sich der Einsatz eines CMS überhaupt lohnt. Folgende Kriterien können bei dieser Entscheidung hilfreich sein: 왘
Regelmäßige Aktualisierung des Inhalts Wenn Texte und Grafiken regelmäßig von Personen geändert werden müssen, die selbst keine Webseiten bauen, lohnt sich ein CMS auch bei einer kleinen Site.
25
1
Das ist Contao
왘
Größe der Website Wo genau die Grenze zu »größer« liegt, ist schwer zu sagen, aber bei größeren Sites ohne CMS wird zum Beispiel eine nachträgliche Änderung an der Navigation sehr aufwendig. Bei mehr als ein paar einzelnen Seiten lohnt sich ein CMS meistens, auch wenn die Inhalte sich nicht oft ändern.
왘
Anzahl der Mitarbeiter Wenn bei der Inhaltspflege mehr als zwei bis drei Leute beteiligt sind, lohnt sich ein CMS, denn sonst kommt es beim Hochladen des Inhalts früher oder später zu Katastrophen. Idealerweise hat das CMS eine gute Benutzerverwaltung und eine detaillierte Rechteverwaltung, damit jeder nur das sieht, was er sehen soll.
왘
Ortsunabhängige Pflege des Inhalts Ein webbasiertes CMS läuft in der Regel auf dem Webspace und wird per Browser bedient. So lassen sich Inhalte unabhängig vom Aufenthaltsort pflegen. Einzige Voraussetzungen sind ein Internetanschluss und ein Browser.
Diese Kriterien geben Ihnen einen ersten Anhaltspunkt, ob ein CMS sich lohnen könnte. Der Übergang von »Nein« über »Vielleicht« bis zu »Ja, sicher« ist fließend, aber wenn mehrere Mitarbeiter an verschiedenen Orten die Inhalte einer eher großen Site aktualisieren sollen, ist die Lage ziemlich eindeutig. Für Semiprofis und Agenturen beschleunigt ein CMS schlicht und einfach die Erstellung von Prototypen, Klickmodellen und ganzen Sites.
1.1.2
Contao unterstützt Sie bei Inhalt, Gestaltung und Funktionen
Contao ist ein schlankes, aber leistungsfähiges und einfach erweiterbares Content-Management-System, das relativ leicht zu lernen ist und sich für kleine, mittlere und auch ziemlich große Websites eignet. Bei der Erstellung und der anschließenden Verwaltung einer Website müssen Sie sich über drei Bereiche Gedanken machen: Inhalte, Gestaltung und Funktionen. Contao unterstützt Sie in allen drei Bereichen: 왘
Inhalt Content ist der Grund, warum Besucher auf eine Website kommen. Contao vereinfacht die Verwaltung der Inhalte mit einer übersichtlichen Baumstruktur, dem genialen Konzept der Inhaltselemente und nützlichen Erweiterungen, z. B. für Nachrichten oder Termine.
왘
Gestaltung Layout. Design. Das Aussehen einer Website. Contao unterstützt Sie beim Layouten mit einem integrierten CSS-Framework und dem Theme Manager, mit dem Sie fertige Layouts importieren können.
26
Die Website zum Programm: www.contao.org
왘
Funktionen sind die interaktiven Bestandteile einer Website: Suchfunktion, Kontaktformular, Kommentarfunktion und vieles mehr. Contao bietet zahlreiche vorgefertigte Module, die Sie nur noch konfigurieren und einbinden müssen.
Contao ist also nicht nur ein hervorragendes Content-Management-System, sondern unterstützt Sie bei der Erstellung und Verwaltung der gesamten Website. Klingt gut? Ist gut. Los geht’s.
1.2
Die Website zum Programm: www.contao.org
Contao ist eine Erfindung des Programmierers Leo Feyer aus München und ein noch recht junges System.
Abbildung 1.1 »www.contao.org« – die zentrale Anlaufstelle für Contao
Die erste Version erschien vor wenigen Jahren, am 28. Februar 2006, unter dem Namen TYPOlight. Der Grund für die im Juni 2010 erfolgte Umbenennung waren zwei chronische Missverständnisse, die immer mehr zu einem Ärgernis wurden: 왘
TYPOlight war keine abgespeckte Version von TYPO3.
왘
Das light stand nicht für einen geringen Funktionsumfang.
27
1.2
1
Das ist Contao
Unter dem neuen Namen Contao wächst und gedeiht das Projekt und gewinnt nicht zuletzt dank der guten Pflege des engagierten Core-Teams eine immer größere Fangemeinde. Erste Anlaufstelle für Contao im Web ist: 왘
http://www.contao.org/
Auf dieser mehrsprachigen Website können Sie alles rund um Contao Entdecken, Herunterladen, Verstehen, Erweitern und Nachfragen:
1.3
Ein paar Highlights von Contao
In diesem Abschnitt möchte ich Ihnen zur Einführung ein paar Highlights von Contao zeigen, auch wenn diese nur einen unzureichenden Einblick in den Charme des Systems geben. Was Contao bei seiner stetig wachsenden Fangemeinde so beliebt macht, ist die Art und Weise, wie es Ihnen im Alltag bei der Erstellung und Pflege einer Website zur Hand geht, und das lässt sich nicht auf eine Liste besonderer Features reduzieren. Trotzdem folgen hier ein paar ausgewählte Highlights: 왘
Contao ist ein seitenbasiertes Content-Management-System. Anders als bei Blogsystemen wie WordPress, kategoriebasierten Systemen wie Joomla oder nodebasierten Programmen wie Drupal ist Contao ein seitenbasiertes CMS. Der Kern einer Contao-Installation ist eine hierarchisch aufgebaute Seitenstruktur. In diesem Seitenbaum können Sie Seiten mit wenigen Klicks verschieben, kopieren, bearbeiten, verstecken, mit einem Passwort schützen, zeitgesteuert veröffentlichen und vieles mehr.
왘
Komfortable Editierfunktionen Es macht richtiggehend Spaß, mit Contao Inhalte zu verwalten. Sie können Inhaltselemente, Artikel und Seiten via Zwischenablage kopieren und verschieben, mehrere Datensätze auf einmal bearbeiten (genial, wenn es man es einmal entdeckt hat) und ältere Versionen mit einem Klick wiederherstellen. Alles geht locker von der Hand.
Auch nicht webaffine Redakteure können dank der leicht zu verstehenden Inhaltselemente gut aussehende Bildergalerien, Tabellen oder andere Inhaltstypen erstellen. Und zum Schreiben von Texten gibt es mit dem TinyMCE einen hervorragend integrierten WYSIWYG-Editor, dem man sogar Vorlagen für komplexe HTML-Strukturen mit auf den Weg geben kann. 왘
28
Barrierefrei in Front- und Backend Contao erzeugt nicht irgendwelche seltsamen unmotivierten HTML-Strukturen oder Layout-Tabellen und ermöglicht so die Erstellung einer barrierefreien
Ein paar Highlights von Contao
Website. Der Webdesigner hat mithilfe von Templates die volle Kontrolle über den erzeugten Quelltext und kann somit eine barrierefreie Website erstellen. Aber auch das Backend ist barrierefrei. Der geschickte Einsatz von Technologien wie Ajax sorgt im Backend für hohen Bedienkomfort, aber auch ohne JavaScript lässt sich das Backend problemlos bedienen. 왘
Schlanker Kern, viele Erweiterungen Wichtige Module wie Nachrichten, Kalender (jeweils mit RSS-Feeds) und Newsletter sind in den Kern von Contao integriert und stehen sofort nach der Installation zur Verfügung.
Zusätzlich gibt es im zentralen Erweiterungskatalog Hunderte von Erweiterungen, die die Funktionalität des Kerns beliebig erweitern und sich komfortabel aus dem Backend heraus installieren lassen. 왘
Ein integriertes CSS-Framework – oder doch lieber eigene Styles? Contao hat ein gut durchdachtes, integriertes CSS-Framework, mit dem Sie sehr einfach statische oder flexible mehrspaltige Seitenlayouts erstellen können. Sie können aber auch mit komplett eigenen Styles oder anderen CSS-Frameworks arbeiten.
왘
Mit Themes blitzschnell das Aussehen ändern Ein Theme bestimmt das Aussehen einer Website und kann mit wenigen Klicks verändert werden. Der Theme-Installer von Contao perfektioniert die Trennung von Inhalt und Gestaltung. Ohne dass Sie den Inhalt verändern, bekommt eine Website im Nu ein neues Kleid.
왘
Detaillierte Rechte- und Benutzerverwaltung Für Websites, an denen mehrere Personen arbeiten, wird die umfangreiche Benutzerverwaltung von Contao wichtig. Geschützte Bereiche mit KundenLogin sind ebenso leicht zu realisieren wie ein schlankes Backend für Redakteure. Jeder sieht nur das, was er sehen soll, bis hinunter zu einzelnen Formularfeldern in Eingabemasken.
왘
Einfaches Live Update Nach der Site ist vor der Site. Um aktuelle Installationen auf dem Laufenden zu halten, kann Contao entweder manuell oder über ein bequemes Live Update aktualisiert werden. Dieser Service ist zwar nicht kostenlos, aber so günstig, dass er sich wirklich für fast alle Sites lohnt.
왘
Mehrsprachigkeit und Multi-Domain Man kann mit einer Contao-Installation sowohl mehrere Websites betreiben als auch eine Website in mehreren Sprachen. Oder mehrere Websites in mehreren Sprachen.
29
1.3
1
Das ist Contao
1.4
Die Community im Web: »www.contao-community.de«
Die Contao-Community ist eigentlich ein Highlight für sich. Sie hat sich in den letzten Jahren den Ruf einer sehr freundlichen Gemeinschaft erworben, was sich auch im Umgangston im Forum widerspiegelt, der im Allgemeinen sehr angenehm ist. Im Web finden Sie die deutschsprachige Contao-Community unter folgender URL: http://www.contao-community.de/
왘
Abbildung 1.2 »contao-community.de« – die deutschsprachige Community
Im Forum gibt es übrigens auch einen Bereich Was kann Contao?, in dem Sie vor einer Installation konkret nachfragen können, ob Contao für die von Ihnen geplante Site geeignet ist. Lieber auf Englisch? Contao kommt zwar aus deutschen Landen frisch auf den Tisch, ist aber auch in vielen anderen Sprachen erhältlich. Eine englischsprachige Community finden Sie unter folgender URL: 왘
http://www.contao-community.org/
Weitere Sprachen finden Sie auf http://www.contao.org/netzwerk.html.
30
In diesem Kapitel sehen Sie anhand der Online-Demo, wie Contao tickt. Begriffe wie Frontend, Backend, Seitenstruktur, Themes, Module, Seitenlayouts, Artikel und Inhaltselemente werden kurz erklärt und in Aktion gezeigt.
2
Schnelldurchlauf: So funktioniert Contao
Anhand der Online-Demo Music Academy möchte ich Ihnen in diesem Kapitel einen schnellen Überblick geben, damit Sie gleich zu Anfang eine Vorstellung davon bekommen, wie Contao tickt: 왘
CMS-Einsteiger werden vielleicht nicht gleich jedes Detail verstehen und richtig einordnen können, lernen hier aber die wichtigsten Begriffe und Zusammenhänge kennen, ohne gleich das CMS installieren zu müssen.
왘
CMS-Umsteiger finden die Funktionsprinzipien von Contao auf wenigen Seiten komprimiert und können sie beim Lesen mit bereits bekannten Systemen vergleichen.
Auf den folgenden Seiten machen Sie Bekanntschaft mit den Begriffen Frontend, Backend, Seitenstruktur, Themes, Modul, Seitenlayouts, Artikel, Inhaltselement und Rechteverwaltung und sehen, wie diese Komponenten zusammenarbeiten. Dieses Kapitel können Sie online oder offline lesen Die Abbildungen in diesem Kapitel sind so gewählt, dass die Lektüre ohne Internetzugang problemlos möglich ist. Mehr Spaß macht es aber wahrscheinlich, wenn Sie während der Lektüre die »Music Academy« im Browser öffnen und die Maus bereithalten: http://demo.contao.org/ Die Live-Demo lebt übrigens wirklich, und falls etwas nicht so ist wie hier beschrieben, liegt das eventuell daran, dass gleichzeitig noch andere Neugierige etwas ausprobieren. Die Demo wird stündlich wieder zurückgesetzt. Die Demo-Site Music Academy ist auch im Download-Paket von Contao enthalten, sodass Sie sie selbst installieren und genau untersuchen können.
31
2
Schnelldurchlauf: So funktioniert Contao
2.1
Das Frontend ist die Website
Contao besteht aus einem Frontend und einem Backend. Das Frontend ist die eigentliche Website, so wie ein Besucher sie sieht. Um das Frontend im Browser zu sehen, geben Sie die ganz normale Adresse der Website ein: 왘
http://demo.contao.org/ (ohne www davor)
Das Frontend sieht so aus wie in Abbildung 2.1. Diese Webseite lag nicht fix und fertig auf dem Webspace, sondern ist nach der Eingabe der URL von Contao automatisch erstellt worden.
Abbildung 2.1 Das Frontend der Online-Demo »Music Academy«
Registrierte Benutzer wie zum Beispiel die Studenten der Music Academy können sich im Frontend anmelden (Front End Login) und haben dann Zugriff auf Informationen, die für nicht angemeldete Besucher (Gäste) unsichtbar bleiben. Die Studentin Donna Evans (Benutzername »d.evans«, Passwort »donnaevans«) sieht nach einem Login zum Beispiel Informationen über ihren Kurs Violin Master Class (Abbildung 2.2).
32
Das Backend ist die Verwaltungsabteilung
Abbildung 2.2 Ein angemeldeter Frontend-Benutzer sieht mehr ...
2.2
Das Backend ist die Verwaltungsabteilung
Das Backend ist der Administrationsbereich, also die Verwaltungsabteilung der Website. Im Backend wird aber nicht nur verwaltet, sondern auch richtig gearbeitet. Die Struktur der Website, das Seitenlayout und die Inhalte für die einzelnen Webseiten, alles wird hier im Backend erstellt und verwaltet. Zutritt zum Backend haben nur Mitarbeiter, und deshalb werden am Eingang Benutzername und Passwort kontrolliert. Um das Backend aufzurufen, hängen Sie an die URL des Frontends einfach /contao/ hinten dran: 왘
http://demo.contao.org/contao/
Am besten öffnen Sie das Backend in einem neuen Tab oder einem zweiten Browserfenster, damit Sie leicht zwischen Front- und Backend hin- und herwechseln können. Abbildung 2.3 zeigt das Anmeldeformular für das Backend. Der Administrator der Music Academy heißt Kevin Jones, und nach einer Anmeldung mit dem Benutzernamen »k.jones« und dem Passwort »kevinjones« sehen Sie das Backend aus Abbildung 2.4.
33
2.2
2
Schnelldurchlauf: So funktioniert Contao
Abbildung 2.3 Die Anmeldung zum Backend von Contao
Abbildung 2.4 Das Backend nach erfolgreicher Anmeldung als k.jones
Im Backend gibt es drei Bereiche, die Sie später genauer kennenlernen: 1 Infobereich (oben) 2 Navigationsbereich (links) 3 Arbeitsbereich (rechts) Kevin Jones ist der Administrator der Site und hat Zugriff auf das gesamte Backend. Der Administrator ist der Chef und darf alles. Die Benutzer Helen Lewis
34
Die Seitenstruktur ist das Fundament der Website
und James Wilson hingegen sehen nur den Teil des Backends, den sie für ihre Arbeit benötigen (siehe 2.10, »Das Backend ist für Redakteure sehr übersichtlich«, ab Seite 46). Das Backend lernen Sie später genauer kennen Beim Schnelldurchlauf in diesem Kapitel machen Sie nur ein paar ausgesuchte Zwischenstopps im Backend. In Kapitel 5, »Ein kurzer Rundgang im Backend«, lernen Sie das Backend genauer kennen (ab Seite 101).
2.3
Die Seitenstruktur ist das Fundament der Website
Contao ist ein seitenbasiertes Content-Management-System, und ein hierarchisch aufgebauter Seitenbaum bildet das Rückgrat der Website. Wie ein Skelett einem Körper so verleiht der Seitenbaum einer Website sowohl Stabilität als auch Flexibilität. Unter anderem dient die Seitenstruktur als Grundlage für die Navigation. Abbildung 2.5 zeigt oben die Navigation im Frontend und darunter die Seitenstruktur im Backend.
Abbildung 2.5 Navigation im Frontend und Seitenstruktur im Backend
35
2.3
2
Schnelldurchlauf: So funktioniert Contao
Die in der Navigation hervorgehobenen Webseiten finden Sie im Backend im Bereich Seitenstruktur. Mithilfe der Seitenstruktur können Sie die Site ganz einfach verwalten und mit wenigen Klicks neue Seiten hinzufügen oder die Reihenfolge der vorhandenen Seite verändern. Änderungen in der Seitenstruktur wirken sich direkt auf die Navigation aus. In der Online-Demo können Sie das live ausprobieren: 왘
Löschen Sie zum Beispiel die Seite Teachers im Backend, indem Sie auf das rote x rechts daneben klicken.
왘
Wechseln Sie zum Frontend, und laden Sie die Startseite neu.
Die Seite Teachers ist in der Navigation nicht mehr zu sehen. Versehentliche Bearbeitungsschritte kann man rückgängig machen Die Online-Demo ist unkaputtbar, und nach dem stündlichen Reset ist die Seite Teachers wieder da. Contao bietet aber auch eine sehr komfortable Funktion, um versehentliche Bearbeitungsschritte rückgängig zu machen: Im Navigationsbereich gibt es unten links im Bereich Benutzerfunktionen einen Menüpunkt namens Rückgängig. Probieren Sie ihn ruhig aus.
2.4
Themes bestimmen das Aussehen der Site
Das Aussehen einer Contao-Site wird von einem Theme bestimmt. Das wird »ßiehm« gesprochen, mit einem wunderschönen »Tie-Eitsch« am Anfang und einem ziemlich langen »ieh« in der Mitte. Nach einem Klick auf das BackendModul Themes im Navigationsbereich, sehen Sie in der Online-Demo das Theme Music Academy (Abbildung 2.6).
Abbildung 2.6 Das Backend-Modul »Themes« im Überblick
36
Module erzeugen den Quelltext für das Frontend
Ein Theme besteht aus Stylesheets, Modulen und Seitenlayouts, die mit einem Klick auf die entsprechenden Symbole rechts neben dem Theme bearbeitet werden können.
2.5
Module erzeugen den Quelltext für das Frontend
Module sind in Contao kleine Programme, die den Quelltext für das Frontend erzeugen. Um zum Beispiel aus dem Seitenbaum die Navigation im Frontend zu erstellen, kommt ein solches Modul zum Einsatz. Eine Übersicht über verwendete Module finden Sie im Backend in Themes 폷 Module. Die in diesem Bereich gelisteten Module erzeugen allesamt HTML für das Frontend und werden deshalb auch Frontend-Module genannt. Auf der Beispielsite sieht es dort so aus wie in Abbildung 2.7.
Abbildung 2.7 Die Frontend-Module der Music Academy
Sie müssen die Frontend-Module natürlich nicht selbst programmieren. Für alle wichtigen Funktionen stehen fertige Modultypen bereit, deren Name hellgrau in eckigen Klammern hinter den Modulnamen steht. Rechts am Rand gibt es für jedes Modul farbige Symbole zum Bearbeiten, Duplizieren, Verschieben, Löschen und für Detailinformationen.
37
2.5
2
Schnelldurchlauf: So funktioniert Contao
Die Hauptnavigation im Frontend wird zum Beispiel von dem Modul Navigation – Main navigation erzeugt, das auf dem Modultyp [Navigationsmenü] basiert und mit wenigen Einstellungen einsatzbereit ist. Zur Bearbeitung eines Moduls klicken Sie auf das in Abbildung 2.7 rechts unten hervorgehobene gelbe Bleistiftsymbol. Sie sehen dann die Eingabemaske aus Abbildung 2.8.
Abbildung 2.8 Das Modul »Navigation – Main navigation«
Was bei einem Navigationsmenü die Optionen wie Startlevel, Stoplevel und Hard Limit genau bedeuten, erfahren Sie in Kapitel 8 ab Seite 199. Templates definieren, welches HTML die Module erzeugen Frontend-Module werden bequem per Eingabemaske im Backend konfiguriert. Welches HTML ein Modul genau erzeugt, wird über Templates gesteuert. Mehr dazu lesen Sie in Kapitel 6.7, »Templates: Das HTML für den Quelltext«, ab Seite 150.
2.6
Jede Seite hat ein Seitenlayout
Jede Seite basiert auf einem Seitenlayout, das die Seite in Layoutbereiche einteilt. Wenn Sie in der Online-Demo im Backend-Modul Themes 폷 Seitenlayouts rechts neben Default layout [Standard] auf den gelben Bleistift klicken, können Sie die Einstellungen für das Layout bearbeiten. Abbildung 2.9 zeigt drei wichtige Einstellungen aus dem Standardlayout der Music Academy. Sie können die einzelnen Bereiche auf dieser Seite wie z. B. Titel und
38
Jede Seite hat ein Seitenlayout
Standard oder Kopf- und Fusszeile mit einem Klick auf die grünen Überschriften komfortabel ein- und ausblenden, sodass die Seite immer übersichtlich bleibt.
Abbildung 2.9 Ein Seitenlayout – die wichtigsten Einstellungen
Diese Einstellungen erzeugen folgendes Seitenlayout: 1 eine Kopfzeile mit einer festen Höhe von 273px 2 ein zweispaltiges Layout mit einer 200px breiten linken Spalte 3 ein zentriertes, statisches Layout mit einer Breite von 870px Abbildung 2.10 zeigt dieses Seitenlayout im Frontend. Aber ein Seitenlayout teilt die Seite nicht nur in Layoutbereiche ein, sondern bestimmt auch, wo die einzelnen Elemente erscheinen. In Abbildung 2.10 können Sie sehen, dass die Hauptnavigation innerhalb der Kopfzeile sitzt. Das wird im Seitenlayout definiert. Wenn Sie das Default layout [Standardlayout] bearbeiten, können Sie im Bereich Frontend-Module sehen, dass das Modul Navigation – Main navigation dem Bereich Kopfzeile zugeordnet ist (Abbildung 2.11).
39
2.6
2
Schnelldurchlauf: So funktioniert Contao
Abbildung 2.10 Das Seitenlayout im Frontend
Abbildung 2.11
40
Modul »Navigation – Main navigation« in »Kopfzeile«
Seitenlayouts verbinden die Seiten mit Stylesheets
2.7
Seitenlayouts verbinden die Seiten mit Stylesheets
In einem Seitenlayout passiert aber noch mehr, denn Seitenlayouts verbinden die Seiten auch mit den Stylesheets. Im Backend-Modul Themes 폷 Stylesheets sind die drei Stylesheets basic, music_academy und print gespeichert, mit denen die Music Academy gestaltet wird. In Klammern dahinter wird jeweils der definierte Medientyp angezeigt. Abbildung 2.12 zeigt das Backend-Modul Themes 폷 Stylesheets mit den drei Stylesheets.
Abbildung 2.12 Im Backend-Bereich »Stylesheets« gibt es drei Stylesheets.
Im Backend-Modul Themes 폷 Seitenlayouts werden für jedes definierte Seitenlayout die gewünschten Stylesheets ausgewählt. Abbildung 2.13 zeigt, dass für das Default layout [Standardlayout] die beiden Stylesheets basic und music_academy aktiviert wurden.
Abbildung 2.13 Mit dem »Default layout« sind zwei Stylesheets verbunden.
41
2.7
2
Schnelldurchlauf: So funktioniert Contao
Probieren Sie es einmal aus: 왘
Deaktivieren Sie im Seitenlayout die Stylesheets basic und music_academy.
왘
Klicken Sie unten auf der Seite auf die Schaltfläche Speichern.
왘
Rufen Sie das Frontend im Browser auf, und laden Sie es neu.
Nach dieser Aktion sieht das Frontend im Browser etwas anders aus, denn die Formatierungen aus den beiden Stylesheets fehlen.
2.8
Jeder Artikel gehört zu einer Seite
In Contao werden Inhalte in Artikeln gespeichert, und ein Artikel gehört immer zu einer bestimmten Seite. Zur Illustration zeigt Abbildung 2.14 einen Artikel mit der Überschrift Impressions auf der gleichnamigen Seite im Frontend.
Abbildung 2.14 Der Artikel »Impressions« im Frontend
42
Ein Artikel besteht aus Inhaltselementen
Im Backend-Modul Artikel sehen Sie die bereits bekannte Seitenstruktur, aber dieses Mal mit den dazugehörigen Artikeln (Abbildung 2.15). Mit einem Klick auf die Plus- und Minus-Zeichen können Sie diesen Artikelbaum bei Bedarf ein- und ausklappen. Auf der Seite Impressions wird ein gleichnamiger Artikel gelistet, der in der [Hauptspalte] erscheint.
Abbildung 2.15 Der Artikel »Impressions« auf der Seite »Impressions«
Ein Artikel ist genau genommen nur ein »Container«, ein Bereich auf einer Webseite, der ein oder mehrere Inhaltselemente enthält. Die eigentlichen Inhalte (Texte, Grafiken etc.) werden in diesen Inhaltselementen aufbewahrt. Ohne Inhaltselemente ist ein Artikel im Frontend nur ein leerer Bereich und nicht zu sehen. Mehrere Artikel pro Seite Auf einer Seite können natürlich auch mehrere Artikel erscheinen. Und umgekehrt kann ein Artikel auch auf verschiedenen Seiten auftauchen, ohne dass er kopiert werden muss.
2.9
Ein Artikel besteht aus Inhaltselementen
Artikel bestehen also aus Inhaltselementen, in denen die eigentlichen Inhalte gespeichert werden. Contao stellt für verschiedene Inhaltstypen vorgefertigte Inhaltselemente bereit. So gibt es zum Beispiel spezielle Inhaltselemente für Überschriften, Texte (mit und ohne Bildern), Bildergalerien, Tabellen, Listen und vieles mehr.
43
2.9
2
Schnelldurchlauf: So funktioniert Contao
Abbildung 2.16 zeigt, dass der Artikel Impressions aus drei Inhaltselementen besteht. So können Sie die Abbildung in Ihrem Browser sehen: 왘
Öffnen Sie im Backend das Backend-Modul Artikel.
왘
Suchen Sie im Seitenbaum den Artikel Impressions [Hauptspalte].
왘
Klicken Sie auf das gelbe Bleistiftsymbol, um den Artikel zu bearbeiten.
Jetzt sehen Sie die Inhaltselemente des Artikels (Abbildung 2.16).
Abbildung 2.16 Der Artikel »Impressions« – Einstellungen und Inhaltselemente
Im oberen Bereich werden die Einstellungen des Artikels angezeigt, auch Metadaten genannt. Dazu zählen z. B. der Titel des Artikels, der Autor und das Änderungsdatum. Diese Einstellungen werden im Frontend nicht angezeigt. Unterhalb der Einstellungen sehen Sie drei Inhaltselemente: 1 ein Inhaltselement vom Typ Text mit Überschrift und Fließtext 2 ein Inhaltselement vom Typ Galerie mit ein paar Fotos 3 noch ein Inhaltselement vom Typ Text, dieses Mal ohne Überschrift
44
Ein Artikel besteht aus Inhaltselementen
Abbildung 2.17 zeigt diese drei Inhaltselemente im Frontend.
Abbildung 2.17
Der Artikel »Impressions« – Inhaltselemente im Frontend
Ein Artikel wird durch Inhaltselemente bildlich gesprochen in Scheibchen unterteilt, und diese Scheibchen können einzeln bearbeitet werden. Für Redakteure ist der Vorteil, dass sie nie den ganzen Artikel in einem Editorfenster bearbeiten, sondern sich immer nur um einen Teil kümmern müssen: Divide et impera. Soll zum Beispiel die Bildergalerie unterhalb der Textelemente am Ende des Artikels erscheinen, klicken Sie einfach auf das Inhaltselement Galerie und ziehen es mit der Maus nach unten, bis es unterhalb des Inhaltelements Text steht. Einfacher geht es nicht. Probieren Sie es aus.
45
2.9
2
Schnelldurchlauf: So funktioniert Contao
Inhaltselemente erleichtern den Redakteuren die Arbeit Die Sache mit den Inhaltselementen ist ungewohnt, aber ziemlich pfiffig und ein wichtiger Grund, warum Redakteuren die Bearbeitung der Inhalte in Contao leichter fällt als in vielen anderen CMSystemen, in denen immer der ganze Artikel in einem Editorfenster erscheint.
2.10
Das Backend ist für Redakteure sehr übersichtlich
Contao hat ein sehr ausgefeiltes Rechtesystem, sodass jeder Mitarbeiter nur den Teil des Systems sieht, den er benötigt bzw. sehen soll. Neben den Frontend-Benutzern, die Sie auf Seite 32 schon kennengelernt haben, gibt es noch BackendBenutzer, die bei der Verwaltung der Website helfen. Professor James Wilson zum Beispiel unterrichtet den Kurs Elements of Jazz Piano und ist verantwortlich für die inhaltliche Pflege der Seiten unterhalb von Courses. Wenn er sich mit seinem Benutzernamen »j.wilson« und seinem Passwort »jameswilson« anmeldet, sieht das Backend aus wie in Abbildung 2.18.
Abbildung 2.18 Übersichtlich – das Backend für James Wilson
Auch im Backend-Modul Dateiverwaltung sieht Professor Wilson nur die Dateien für den von ihm betreuten Bereich der Website.
46
Zusammenfassung – so tickt Contao
2.11
Zusammenfassung – so tickt Contao
In Contao arbeiten mehrere Komponenten zusammen, um eine Webseite zu erstellen: 왘
Texte, Grafiken etc. werden in Inhaltselementen gespeichert.
왘
Inhaltselemente gehören zu einem Artikel, der sie zusammenfasst.
왘
Artikel gehören zu einer Seite, auf der sie dargestellt werden.
왘
Die Seitenstruktur definiert, welche Seiten es gibt.
왘
Jede Seite basiert auf einem Seitenlayout, das diverse Dinge definiert: 왘
welche Layoutbereiche es auf einer Seite gibt
왘
welches Modul in welchem Layoutbereich erscheint
왘
welche Stylesheets zur Gestaltung der Seiten benutzt werden
왘
Module erzeugen den HTML-Quelltext für das Frontend.
왘
Stylesheets bestimmen das Aussehen der Webseiten und werden über das Seitenlayout mit einer Seite verbunden.
Soweit dieser Schnelldurchlauf. Natürlich gibt es in Contao noch eine Menge anderer interessanter Abteilungen wie z. B. Nachrichten, Kalender, Events, Systemverwaltung und dergleichen mehr, aber das Buch hat ja auch gerade erst angefangen.
47
2.11
TEIL II Contao installieren
In diesem Kapitel erfahren Sie, warum Sie XAMPP benötigen, wie Sie es installieren und wie Sie einen Sicherheitscheck machen. Danach werden der Webserver, PHP und die Datenbank kurz vorgestellt.
3
XAMPP: Der Offline-Webspace
XAMPP ist die Abkürzung für eine gängige Kombination von Komponenten, die beim Einsatz von Webanwendungen benötigt werden. Es wird »ksamp« oder etwas anglophiler »iks-ämp« ausgesprochen: 왘
X ist ein Platzhalter für das verwendete Betriebssystem: Linux, Windows oder MAC OS.
왘
A ist der erste Buchstabe des Webservers Apache.
왘
M steht für den Datenbankserver MySQL.
왘
PP steht für die Programmiersprachen PHP und Perl.
Bevor Sie XAMPP installieren, möchte ich kurz erklären, warum Sie es überhaupt benötigen. Wenn Sie ausschließlich auf einem Online-Webspace arbeiten, können Sie dieses Kapitel getrost überspringen.
3.1
XAMPP ist Webspace auf Ihrem Rechner
XAMPP ist die einfachste Möglichkeit, eine lokale Entwicklungsumgebung einzurichten. Lokal bedeutet in diesem Zusammenhang auf Ihrem Rechner und hat nichts mit einer Gaststätte zu tun.
3.1.1
Statische Webseiten: Der Webspace als Lagerhalle
Beim traditionellen Webpublishing werden die Webseiten in der Regel auf dem eigenen Rechner erstellt, auf den Webspace kopiert und dann unverändert vom Webserver ausgeliefert. Da die Webseiten auf dem Webspace nicht verändert werden, spricht man von statischen Webseiten (Abbildung 3.1).
51
3
XAMPP: Der Offline-Webspace
Statische Webseiten Browser
Internet
Webserver (Apache)
Webspace Abbildung 3.1 Statische Webseiten – der Webspace als Lagerhalle
Die Webseite ist im Moment der Anforderung durch den Browser bereits fix und fertig. Der Webspace dient als Lagerhalle zur Aufbewahrung der Webseiten, und es gibt dort nur den Webserver und die Webseiten.
3.1.2
Content-Management-System: Der Webspace als Werkstatt
Ein Content-Management-System (CMS) ist ein Programm, das auf dem Webspace läuft und die Webseiten kurz vor der Auslieferung zusammenbaut. Die Webseiten liegen nicht mehr statisch auf dem Webspace, sondern werden dynamisch auf Anforderung erstellt. Der Webspace ist somit keine Lagerhalle mehr, sondern gleicht eher einer Werkstatt. In dieser Werkstatt arbeitet ein ganzes Team daran, die Webseiten so schnell wie möglich zu erstellen und zu liefern. Statt vieler fertiger Webseiten gibt es dort nur eine Vorlage, eine Datei mit zahlreichen Platzhaltern namens index.php, die je nach Anforderung des Browsers mit verschiedenen Parametern unterschiedlich zusammengebaut wird. Zum Team gehören neben dem Webserver noch ein paar andere Mitarbeiter: 왘
PHP-Interpreter Ein Interpreter ist ein Übersetzer. Contao wurde in der Programmiersprache PHP geschrieben, und damit ein in PHP geschriebenes Programm funktioniert, muss auf dem Webspace ein PHP-Interpreter vorhanden sein. PHP arbeitet sehr eng mit dem Webserver zusammen.
왘
Content-Management-System Ein CMS wie Contao ist der Motor der Website und koordiniert die Erstellung der Webseiten, bevor der Webserver sie ausliefert.
왘
Datenbank Viele Webanwendungen bewahren ihre Daten in einer Datenbank auf. Weit verbreitet und auch bei Contao im Einsatz ist MySQL.
Abbildung 3.2 zeigt das gesamte Team im Überblick.
52
Die Installation von XAMPP Lite (Windows)
index.php Browser
Internet
Webserver (Apache)
P H P
Contao (CMS)
MySQL (Datenbank)
Webspace Abbildung 3.2 Das Content-Management-System – der Webspace als Werkstatt
Um eine dynamisch erstellte Website offline auf dem eigenen Rechner erstellen zu können, müssen Sie einen solchen Webspace auf Ihrem Rechner simulieren, und dazu benötigen Sie außer Contao noch einen Webserver, einen PHP-Interpreter und MySQL. Ein solcher Offline-Webspace wird oft auch Entwicklungsumgebung genannt. Da es ziemlich mühsam ist, alle Komponenten einzeln zu installieren und dann auch noch zur Zusammenarbeit zu bewegen, haben die Betreiber von apachefriends.org Ihnen diese Arbeit abgenommen, ein Komplett-Paket geschnürt und es unter dem Namen namens XAMPP kostenlos veröffentlicht. Dieses Paket werden Sie jetzt installieren.
3.2
Die Installation von XAMPP Lite (Windows)
XAMPP für Windows gibt es in einer Voll- und in einer Lite-Version. Für eine Contao-Entwicklungsumgebung reicht XAMPP Lite völlig aus. Sie können XAMPP Lite von der Buch-DVD installieren oder von der Website herunterladen, am besten als EXE-Datei: http://apachefriends.org/de/xampp-windows.html#631
왘
Falls Sie bereits eine ältere Version von XAMPP installiert haben, prüfen Sie bitte, ob die Voraussetzungen für Contao erfüllt sind: PHP ab V5.2 und MySQL ab V4.1 (besser V5.x). Details dazu finden Sie in Kapitel 4, »Die Installation von Contao«. Apache, PHP und MySQL für MAC OS X Ein MAC mit OS X hat als Unix-Abkömmling eigentlich bereits alle Komponenten an Bord, aber wer keine Lust hat, alles selbst zu konfigurieren, kann auf eines der beiden komfortablen Installationspakete zurückgreifen: 왘
XAMPP für Mac OS X http://www.apachefriends.org/de/xampp-macosx.html
왘
MAMP: Mac – Apache – MySQL – PHP http://www.mamp.info/de/mamp/
53
3.2
3
XAMPP: Der Offline-Webspace
Schauen Sie sich beide Seiten an, und nehmen Sie die, die Sie sympathischer finden. Überall ist dasselbe drin: Apache, PHP, MySQL.
3.2.1
XAMPP Lite installieren
So installieren Sie XAMPP Lite auf Ihrem Rechner: 1. Starten Sie die Installationsdatei mit einem Doppelklick. Als Ziel der Installation wird C:\ vorgeschlagen, wodurch XAMPP Lite in den Ordner C:\xampplite installiert wird. 2. Starten Sie die Installation mit einem Klick auf Install. Daraufhin werden die Dateien entpackt, was ein bisschen dauern kann. 3. Nach dem Entpacken öffnet sich das XAMPP-Setup in einem DOS-Fenster. Darin müssen Sie ein paar Fragen zur Konfiguration mit (Y) für »Yes« oder (N) für »No« beantworten und mit (Return) bestätigen. Im Zweifelsfall übernehmen Sie einfach die Vorgaben. 4. Am Ende der Fragenliste erscheint eine Liste mit fünf Optionen. Wählen Sie hier bitte die erste Option start XAMPP Control Panel, indem Sie eine »1« eingeben und mit (Return) bestätigen. Kurz darauf erscheint das Kontrollzentrum von XAMPP. 5. Das XAMPP-Setup selbst verlassen Sie mit (X) für Exit und (Return).
3.2.2
Das XAMPP Control Panel
Falls das XAMPP Control Panel nicht automatisch gestartet wurde, können Sie es mit einem Doppelklick auf die Desktop-Verknüpfung oder auf die Datei xamppcontrol.exe im Ordner c:\xampplite aufrufen. Wenn das Control Panel zu sehen ist, starten Sie Apache und MySQL: 왘
Starten Sie zuerst den Webserver Apache mit einem Klick auf die Schaltfläche Start. Kurze Zeit später erscheint der hellgrün hinterlegte Hinweis Running, und die Schaltfläche heißt jetzt Stop.
왘
Falls sich beim Starten eine Firewall meldet, sollten Sie einen Moment inne halten, die Meldung lesen und dann die Ausführung von Apache erlauben, denn sonst wird er nicht funktionieren.
왘
Starten Sie danach den Datenbankserver MySQL. Falls sich beim Apache eine Firewall gemeldet hat, kommt jetzt wahrscheinlich wieder eine Meldung. Erlauben Sie auch MySQL, denn sonst funktioniert es nicht.
Sieht das XAMPP Control Panel so ähnlich aus wie in Abbildung 3.3, hat alles geklappt.
54
Die Installation von XAMPP Lite (Windows)
Abbildung 3.3
Das XAMPP Control Panel – Apache und MySQL laufen.
Ein Klick auf das X rechts oben im Fenster beendet XAMPP übrigens nicht, sondern verkleinert nur das Control Panel und schickt es rechts unten in den Infobereich von Windows. Um das Control Panel zu beenden, stoppen Sie zuerst alle aktiven Server und klicken dann auf die Schaltfläche Exit. Mit der Schaltfläche Explore können Sie sich die Ordnerstruktur unterhalb von C:\xampplite im Windows Explorer anzeigen lassen (Abbildung 3.4).
Abbildung 3.4 Die Ordnerstruktur von XAMPP Lite
55
3.2
3
XAMPP: Der Offline-Webspace
Wenn der Apache nicht startet Falls der Apache nicht startet, ist ziemlich sicher der Port 80, den ein Webserver braucht, schon belegt. Kandidaten hierfür sind Fernwartungs- oder Telefonieprogramme wie z. B. Skype. Zur Behebung des Problems starten Sie einfach zuerst den Apache und dann Skype. Oder Sie ändern die Skype-Einstellungen auf einen anderen Port.
3.2.3
Testen, ob der Webserver funktioniert
Um zu testen, ob alles geklappt hat, starten Sie einen Browser Ihrer Wahl und geben in der Adressezeile folgende URL ein: 왘
http://localhost/
http heißt frei übersetzt »Gehe zu einem Webserver«, und localhost ist ein anderes Wort für »der Computer, an dem ich gerade arbeite«. Die URL ruft also die Startseite des Webservers auf Ihrem Computer auf, und nachdem Sie Deutsch als Sprache gewählt haben, gelangen Sie zur Startseite von XAMPP. Diese sollte ungefähr so aussehen wie in Abbildung 3.5.
Abbildung 3.5 Die Startseite von XAMPP Lite
In der orange hinterlegten Navigationsleiste am linken Rand können Sie mit einem Klick auf Status nachschauen, ob der Datenbankserver MySQL ebenfalls aktiviert ist. Das Ausprobieren der anderen in der Navigation angebotenen Beispiele und Tools ist freiwillig. Machen Sie sich ob der angebotenen Vielfalt keine Sorgen, Sie werden längst nicht alles benötigen. Wirklich wichtig ist nur, dass Apache und MySQL funktionieren.
56
Der Sicherheitscheck von XAMPP
3.3
Der Sicherheitscheck von XAMPP
Der große Gegenspieler von Sicherheit ist die Bequemlichkeit. Ein Rechner ohne jeglichen Passwortschutz ist bequem zu bedienen, aber nicht besonders sicher. XAMPP ist als Entwicklungsumgebung nach der Installation absichtlich eher bequem als sicher konfiguriert. Wenn Ihr Rechner durch eine gut konfigurierte Firewall oder einen DSL-Router (oder beides) vom Internet getrennt ist, wird das Sicherheitsrisiko überschaubar, und die Gefahr beschränkt sich auf Zugriffe aus einem eventuell vorhandenen lokalen Netzwerk. Auf einem Laptop mit ständig wechselnden und zum Teil auch direkten Internetzugängen hingegen sieht die Sache schon anders aus. In diesem Abschnitt stopfen Sie die potenzielle Sicherheitslöcher von XAMPP.
3.3.1
Den Sicherheitscheck aufrufen
In der Navigationsleiste von XAMPP gibt es einen Sicherheitscheck, der in einem neuen Tab oder Fenster geöffnet wird. In der Übersichtstabelle taucht dreimal der rot markierte Status unsicher auf (Abbildung 3.6).
Abbildung 3.6
Der Sicherheitscheck von XAMPP
57
3.3
3
XAMPP: Der Offline-Webspace
Allgemeingültige Empfehlungen zu Sicherheitseinstellungen sind schwierig, weil die Balance zwischen »sicher« und »bequem« immer ein Kompromiss ist, der sowohl von der Arbeitsumgebung als auch vom persönlichen Paranoia-Level abhängt. Hier zunächst ein paar Anmerkungen zu den Meldungen: 왘
Diese XAMPP-Seiten sind über’s Netzwerk erreichbar Wenn Ihr Rechner einen direkten Internetzugang hat, kann man vom Internet aus problemlos den Webserver auf Ihrem Rechner aufrufen. Als Schutz bietet sich ein Passwort für das XAMPP-Verzeichnis an. Sitzen Sie hingegen hinter einem DSL-Router, ist Ihr Rechner nicht direkt aus dem Internet erreichbar, und dann ist dieser Schutz nicht so wichtig.
왘
MySQL Admin user »root« hat kein Passwort Der Datenbankserver hat einen Hauptbenutzer mit dem schönen Namen »root«, der noch kein Passwort hat. Falls Sie ein Passwort für »root« vergeben, sollten Sie es sich in irgendeiner Form notieren, eventuell gleich hier im Buch. Dieses Passwort braucht Contao in Kapitel 4 bei der Installation, um eine Verbindung zur Datenbank herstellen zu können.
왘
PhpMyAdmin ist über das Netzwerk erreichbar phpMyAdmin ist eine Webanwendung zur Verwaltung von MySQL-Datenbanken, die Sie weiter unten in diesem Kapitel noch kennenlernen. Wer Zugriff auf phpMyAdmin hat, hat Zugriff auf die Datenbank, und auch das kann man mit einem Passwort schützen.
3.3.2
Einen Passwortschutz für MySQL und phpMyAdmin einrichten
Auf der Seite mit dem Sicherheitscheck finden Sie unterhalb der Übersichtstabelle einen Link, mit dem alle drei Lücken geschlossen werden können: 왘
http://localhost/security/xamppsecurity.php
Nach einem Klick auf diesen Link erscheint die Seite Security Konsole MySQL | XAMPP Verzeichnis Schutz (Abbildung 3.7).
58
Der Sicherheitscheck von XAMPP
Abbildung 3.7 Sicherheitslücken in XAMPP stopfen
Der erste Abschnitt auf der Seite heißt MySQL Sektion: »Root« Passwort, und darin geht es um die Sicherheit von MySQL und phpMyAdmin: 1 Geben Sie ein Passwort für den MySQL SuperUser ein (»root«), und wiederholen Sie das Passwort. Notieren Sie sich dieses Passwort, damit Sie es nicht vergessen. Benutzername: root Passwort: …………………… 2 Checken Sie, ob die phpMyAdmin Authentifikation auf cookie und das zufällige Passwort für den phpMyAdmin User ’pma’ auf Ja gesetzt sind. Dieses Passwort wird nur im Hintergrund benutzt, und Sie müssen es sich weder merken noch selbst irgendwo eingeben. 3 Sie sollten das MySQL-Root-Passwort nicht im Klartext in einer Datei auf Ihrer Festplatte speichern. Notieren ist besser. 4 Klicken Sie auf die Schaltfläche Passwort ändern. Danach erhalten Sie eine Meldung, dass das »root Passwort« erfolgreich geändert wurde und der MySQL Server neu gestartet werden muss, damit die Änderungen wirksam werden. Das machen Sie über das XAMPP Control Panel: Klicken Sie einmal auf Stop, einmal auf Start, und schon ist der MySQL-Server neu gestartet.
59
3.3
3
XAMPP: Der Offline-Webspace
3.3.3
Passwortschutz für das XAMPP-Verzeichnis einrichten
In der unteren Hälfte des Sicherheitschecks geht es um den XAMPP-Verzeichnisschutz (Abbildung 3.8).
Abbildung 3.8
Passwortschutz für das XAMPP-Verzeichnis einrichten
1 Geben Sie im Feld Benutzer (User) den von Ihnen gewünschten Benutzernamen ein. 2 Geben Sie im Feld Passwort das gewünschte Passwort ein. Achten Sie auf Groß- und Kleinbeschreibung. Notieren Sie sich Benutzername und Passwort, damit Sie beide nicht vergessen: Benutzername: ………………………… Passwort: ……………………………… 3 Kreuzen Sie das Kontrollkästchen Passwort in Klartext in Datei speichern? nicht an. Das ist zu unsicher, und Sie haben es sich in Schritt 2 sowieso schon notiert. 4 Klicken Sie auf die Schaltfläche XAMPP Verzeichnis sichern. Wenn alles geklappt hat, erhalten Sie eine Erfolgsmeldung, in der auch der Speicherort der zum Verzeichnisschutz benötigten Dateien xampp.users und .htaccess angezeigt wird. Diese müssen Sie sich nicht merken.
3.3.4
Die neuen Sicherheitseinstellungen testen
Wenn Sie in der orangefarbenen Navigationsleiste links oben wieder auf Sicherheitscheck klicken, sollten alle drei Optionen grün markiert sein (Abbildung 3.9).
60
Der Sicherheitscheck von XAMPP
Abbildung 3.9
XAMPP ist jetzt sicher.
Nach diesen beiden Schritten sind zwar die größten Sicherheitslücken in Ihrer lokalen XAMPP-Installation gestopft, aber die alltägliche Arbeit ist dadurch auch ein klein bisschen unbequemer geworden, denn Sie müssen an zwei Stellen jeweils einen Benutzernamen und ein Passwort eingeben. Probieren Sie es ruhig einmal aus: 왘
Nach dem Aufruf von http://localhost/ greift der XAMPP–Verzeichnisschutz, und im Browserfenster erscheint ein Fenster zur Authentifizierung, in das Sie den von Ihnen vergebenen Benutzernamen und das dazu passende Passwort eingeben müssen. Der Browser merkt sich die Anmeldung für eine Sitzung.
왘
Wenn Sie in der XAMPP-Navigationsleiste in der Gruppe Tools das Programm phpMyAdmin starten, müssen Sie auf der folgenden Seite im Bereich Anmeldung den Benutzernamen »root« und das von Ihnen vergebene »Root«-Passwort für MySQL eingeben.
So viel zur Sicherheit. In den folgenden Abschnitten möchte ich Ihnen die einzelnen Komponenten von XAMPP kurz vorstellen. Ungeduldig? Die Installation von Contao beginnt auf Seite 71. Nach dem Sicherheitscheck ist XAMPP als Entwicklungsumgebung einsatzbereit. Sie können die folgenden Erläuterungen zu den Komponenten von XAMPP auch überspringen und gleich zur Installation von Contao weitergehen. Falls irgendetwas unklar ist, kommen Sie einfach wieder zurück.
61
3.3
3
XAMPP: Der Offline-Webspace
3.4
Der Webserver: Apache serviert Webseiten
Ein Webserver ist ein Webseiten-Servierprogramm, ein Programm, das auf Anfrage Webseiten ausliefert. Im Alltag ist mit Webserver zwar oft auch der Computer gemeint, auf dem das Programm läuft, aber eigentlich ist der Webserver nur das Programm. Der Apache ist ein Open-Source-Projekt, und seine Entwicklung wird von der Apache Software Foundation koordiniert, die auf apache.org zu Hause ist. Der Name wurde laut FAQ aus Respekt vor dem Stamm der Apachen gewählt. Nicht ganz korrekt, aber weit verbreitet ist die Variante, dass sich der Name vom Ausdruck »a patchy server« ableitet, was so viel heißt wie »ein zusammengeflickter Server«. Laut der Web Server Survey von Netcraft ist der Apache der meistbenutzte Webserver im Internet: 왘
http://news.netcraft.com/archives/web_server_survey.html
In XAMPP finden Sie in der orangefarbenen Navigation den Bereich Dokumentation. Dort gibt es auch einen Link zur deutschsprachigen Übersicht der Apache-Dokumentation.
3.4.1
DocumentRoot: »htdocs«, der Ordner für die Webseiten
Wenn ein Webserver Webseiten servieren soll, muss er wissen, wo sie aufbewahrt werden, und dazu gibt es auf der Festplatte einen speziellen Ordner, in dem die zu servierenden Webseiten liegen. In XAMPP Lite ist das der Ordner c:\ xampplite\htdocs. Beim Apache wird dieser Ordner als DocumentRoot bezeichnet, was so viel heißt wie »Hauptordner für Webseiten«. In der Praxis läuft das Servieren von Webseiten ungefähr so ab: 왘
Sie geben im Browser http://localhost/ ein. Der einfache Schrägstrich am Ende der URL steht für die DocumentRoot des Webservers.
왘
Der Webserver schaut in seiner Konfigurationsdatei nach, welcher Ordner als DocumentRoot eingetragen ist, und findet c:\xampplite\htdocs.
Alle Webprojekte werden am besten in einem eigenen Ordner unterhalb der DocumentRoot abgelegt. Probieren Sie testweise einmal das Anlegen eines neuen Ordners aus: 왘
Erstellen Sie unterhalb von htdocs einen Ordner namens test.
왘
Geben Sie im Browser http://localhost/test/ ein.
62
Der Webserver: Apache serviert Webseiten
Der Apache zeigt Ihnen jetzt im Browser den leeren Ordner an. Wenn es in dem Ordner test eine Datei namens index.html gibt, wird der Webserver diese anzeigen. Ist eine solche Datei nicht vorhanden, listet der Apache in XAMPP Lite alle Dateien im Ordner auf (Directory Listing). Manchmal sind Webserver nicht ganz so bequem konfiguriert und zeigen beim Fehlen einer Index-Seite die Meldung »403 – Zugriff verweigert«. Sie können den Ordner test übrigens gerne wieder löschen. Er wird nicht mehr gebraucht. Falls der Apache nicht so will, wie er soll: »error.log« Der Webserver protokolliert im Hintergrund so ziemlich alles mit, was er tut, und falls irgendetwas nicht richtig funktioniert, hilft oft ein Blick in die Log-Datei mit den Fehlermeldungen: 왘
c:\xampplite\apache\logs\error.log
Die neuesten Meldungen finden Sie immer ganz unten in der Datei. Manchmal gibt einer der Einträge den entscheidenden Hinweis, auch wenn man nicht jedes Detail versteht.
3.4.2
Der PHP-Übersetzer: Als Modul oder als CGI
Mit dem Begriff PHP ist im Alltag zweierlei gemeint: erstens die Programmiersprache, die das Web im Sturm erobert hat, und zweitens der Interpreter, der die PHP-Befehle ausführt. PHP ist wie der Apache Open Source, und die Entwicklung wird auf php.net koordiniert (Abbildung 3.10).
Abbildung 3.10 »php.net« – hier wird die Entwicklung von PHP koordiniert.
63
3.4
3
XAMPP: Der Offline-Webspace
Auf http://php.net/manual/de können Sie übrigens bei Bedarf alle PHP-Befehle nachschlagen, aber in diesem Abschnitt geht es nicht um die Programmiersprache, sondern um eine wichtige Einstellung für den PHP-Interpreter. Es gibt zwei Arten, wie Apache und PHP zusammenarbeiten können: als Modul oder als CGI. Diese Einstellung wird in Kapitel 4 bei der Installation von Contao eventuell wichtig. Abbildung 3.11 zeigt links PHP als CGI und rechts PHP als Apache-Modul.
Webserver (Apache)
C G I
P H P
PHP als CGI
Webserver (Apache)
P H P
PHP als Modul
Abbildung 3.11 PHP als CGI und Modul
Beide Methoden haben verschiedene Vor- und Nachteile: 왘
Wenn der PHP-Interpreter über die CGI-Schnittstelle aufgerufen wird, sind Webserver und Interpreter zwei völlig getrennte Einheiten. Der Nachteil ist, dass der PHP-Interpreter immer wieder gestartet und beendet werden muss. Der Servercomputer verbringt dadurch einen nicht unerheblichen Teil seiner Rechenzeit einfach nur mit dem Starten und Beenden des PHP-Interpreters. Das klingt nicht besonders effektiv und ist es auch nicht, aber unter dem Namen FastCGI gibt es inzwischen eine schnellere CGI-Variante, die diesen Nachteil aufhebt.
왘
Wenn PHP als Apache-Modul betrieben wird, rücken Interpreter und Webserver buchstäblich enger zusammen. PHP wird quasi Teil des Servers und muss nicht jedes Mal neu gestartet werden, um einen Befehl auszuführen. Dadurch ist er natürlich eine ganze Ecke schneller als CGI, aber dafür laufen alle PHPProgramme unter dem Benutzernamen des Webservers, was – wie Sie bei der Installation von Contao sehen werden – wieder andere Nachteile mit sich bringt.
Viele Webhoster betreiben PHP als (Fast-)CGI, weil es sehr stabil ist und auf einem Webserver mit vielen Kunden relativ einfach zu verwalten ist. PHP-Programme laufen unter dem Namen des angemeldeten Benutzers und nicht unter dem des Webservers.
64
Der Webserver: Apache serviert Webseiten
Bei der Installation von Contao auf dem Webspace werden beide Möglichkeiten wieder erwähnt. Momentan ist nur wichtig, dass es sie gibt. Auf der Startseite von XAMPP gibt es in der Navigationsleiste einen Link namens phpinfo(), mit dem Sie sich unter anderem die Konfiguration des PHP-Übersetzers bei XAMPP anschauen können:
Abbildung 3.12 Unter XAMPP Lite läuft PHP als Apache-Modul.
In der sechsten Zeile ist bei Server API der Wert Apache 2.0 Handler eingetragen, und das bedeutet, dass der PHP-Interpreter als Apache-Modul betrieben wird. Wenn PHP als CGI oder FastCGI läuft, würden diese Buchstaben dort in irgendeiner Form auftauchen. Den eigenen Webspace erkunden: phpinfo.php So können Sie die PHP-Einstellungen auf Ihrem Webspace analysieren: 왘
Erstellen Sie mit einem Editor eine neue, komplett leere Datei.
왘
Schreiben Sie nur die Zeile in die Datei.
왘
Speichern Sie die Datei zum Beispiel als phpinfo.php.
왘
Laden Sie die Datei per FTP auf Ihren Webspace.
왘
Rufen Sie die Datei im Browser auf.
Und schon sehen Sie die PHP-Einstellungen. Die Datei sollten Sie danach wieder entfernen, denn die PHP-Einstellungen auf Ihrem Webspace gehen nur Sie und Ihren Provider etwas an.
65
3.4
3
XAMPP: Der Offline-Webspace
3.5
MySQL serviert SQL-Datenbanken
MySQL ist ein Datenbankserver für SQL-Datenbanken und sehr weit verbreitet. Es ist ebenfalls ein Open-Source-Projekt, arbeitet gut mit der Programmiersprache PHP zusammen und ist pfeilschnell:
Abbildung 3.13 mysql.de – die deutschsprachige Startseite zu MySQL
MySQL ist keine Datenbank, sondern ein Datenbankserver, der sich nach dem Starten als mysqld.exe im Arbeitsspeicher Ihres Computers befindet. Der Name ist übrigens nicht besonders originell. Ein Datenbankserver für SQL-Datenbanken namens MySQL ist ein bisschen so wie ein Hund, den man »MeinHund« nennt.
3.5.1
MySQL verwaltet mehrere Datenbanken
MySQL verwaltet meist mehrere Datenbanken und speichert die dazugehörigen Daten jeweils in einem eigenen Ordner auf der Festplatte. In XAMPP Lite ist das der Ordner c:\xampplite\mysql\data, in dem für jede Datenbank ein Ordner erstellt wird (Abbildung 3.14). Nach der Installation von XAMPP Lite gibt es drei Datenbanken und dementsprechend auch drei Ordner: cdcol für das Beispiel der CD-Verwaltung, mysql für den Server selbst und phpmyadmin für die MySQL-Benutzeroberfläche, die Sie gleich noch kennenlernen.
66
MySQL serviert SQL-Datenbanken
Abbildung 3.14 MySQL erstellt in »\data« pro Datenbank einen Ordner.
MySQL selbst ist von der Ausstattung her eher spartanisch, und so gibt es keinerlei Benutzeroberfläche. Sie müssten in der MySQL-Konsole also manuell SQL-Befehle eintippen, um zum Beispiel eine neue Datenbank zu erstellen. Wenn Sie nicht zufällig fließend SQL sprechen, macht das wenig Spaß.
3.5.2
SQL ist die Sprache zur Verwaltung von Datenbanken
SQL selbst ist eine Sprache zur Verwaltung von Datenbanken. Die drei Buchstaben stehen für Structured Query Language und werden im Deutschen meist »eskuh-ell« gesprochen. Im Englischen gibt es neben der Aussprache »es-kju-ell« noch die Variante »sie-kwell«, mit einem scharfen »ß« am Anfang (wie das Wort sequel). Mit SQL-Befehlen kann man Daten aus einer Datenbank holen oder in einer Datenbank speichern bzw. sie verändern. Hier ist ein einfaches Beispiel: SELECT title FROM tl_article WHERE id =36;
Dieser SQL-Befehl selektiert den Inhalt des Feldes title in der Datenbanktabelle tl_article, und zwar beim Datensatz mit der ID 36. Sie werden mit SQL-Befeh-
len kaum direkten Kontakt haben, aber SQL wird von Webanwendungen wie phpMyAdmin oder Contao im Hintergrund die ganze Zeit benutzt.
67
3.5
3
XAMPP: Der Offline-Webspace
3.6
phpMyAdmin verwaltet die Datenbanken von MySQL
Da die manuelle Eingabe von SQL-Befehlen nicht jedermanns Sache ist, enthält XAMPP Lite eine Webanwendung namens phpMyAdmin. Das Programm erleichtert das Leben eines jeden Webentwicklers, aber auch hier ist der Name zumindest für Einsteiger verwirrend. Das Programm ist eine in PHP geschriebene Webanwendung zur Administration von MySQL-Datenbanken und phpMySQLAdmin wäre wohl ein deutlicherer Name. Als Webanwendung wird phpMyAdmin über den Browser bedient: 왘
Geben Sie http://localhost/ ein, um die XAMPP-Startseite aufzurufen.
왘
Klicken Sie in der Navigation unten auf den Link phpMyAdmin.
Daraufhin erscheint die Startseite von phpMyAdmin. Falls Sie beim XAMPP-Sicherheitscheck ab Seite 58 ein Root-Passwort vergeben haben, müssen Sie in der Anmeldung als Benutzernamen »root« und das von Ihnen vergebene Passwort eintragen (Abbildung 3.15).
Abbildung 3.15 Die Startseite von phyMyAdmin
phpMyAdmin wird bei der Arbeit mit Contao im Idealfall nur benötigt, um vor der Installation von Contao eine Datenbank anzulegen. In dieser Datenbank werden dann vom Contao-Installtool automatisch die benötigten Tabellen und Felder angelegt. Sie können das Erstellen einer Datenbank am besten gleich einmal üben: 1. Geben Sie in das Eingabefeld unterhalb von Neue Datenbank anlegen den gewünschten Namen der Datenbank an, z. B. db_test. 2. Klicken Sie auf die Schaltfläche Anlegen.
68
XAMPP-Matrix – die Komponenten im Überblick
Fertig. Links in der Sidebar ist jetzt der Eintrag db_test (0) zu sehen, und auf der Festplatte wurde der Ordner c:\xampplite\mysql\data\db_test angelegt. Falls Sie die eben erstellte Datenbank wieder löschen möchten, ist auch das mit phpMyAdmin ganz einfach: 1. Klicken Sie auf der Startseite von phpMyAdmin links in der Übersicht auf die zu löschende Datenbank db_test. 2. Klicken Sie rechts oben auf den knallroten Link Löschen. Es erscheint die Frage, ob Sie den Befehl DROP DATABASE 'db_test' wirklich ausführen möchten. 3. Sie möchten! Bestätigen Sie die Frage mit einem Klick auf OK. Und schon ist die Datenbank wieder weg. Starten von phpMyAdmin Um phpMyAdmin zu starten, gibt es auch noch zwei Alternativen: 왘
Im XAMPP Control Panel genügt ein Klick auf die Schaltfläche Admin für den MySQLServer.
왘
Im Browser führt die URL http://localhost/phpmyadmin direkt dorthin.
Wichtig ist nur, dass Sie einen Weg kennen, um das Programm zu starten.
3.7
XAMPP-Matrix – die Komponenten im Überblick
Die folgende Abbildung zeigt eine Übersicht der XAMPP-Komponenten und ihrer wichtigsten Einstellungen:
Abbildung 3.16 Die XAMPP-Matrix – Überblick der Komponenten
Die Konfigurationsdateien sind nur der Vollständigkeit halber gelistet. Dort werden Sie normalerweise nichts ändern müssen.
69
3.7
In diesem Kapitel erfahren Sie alles über die Installation von Contao, zuerst lokal auf Ihrem Rechner und dann auf dem echten Webspace. Danach gibt es Hinweise zum Troubleshooting und die Anleitung zum Transfer einer Website von Ihrem Rechner auf den Online-Webspace.
4
Die Installation von Contao
In diesem Kapitel installieren Sie Contao – zunächst lokal auf dem mit XAMPP erstellten Offline-Webspace auf Ihrem Rechner und dann live auf einem OnlineWebspace.
4.1
Vorbereitung: Die Systemvoraussetzungen
Damit Contao reibungslos funktioniert, müssen auf dem Webspace folgende Voraussetzungen erfüllt sein: 왘
PHP ab Version 5.2
왘
MySQL ab Version 4.1 (Besser und schneller ist Version 5.x.)
Außerdem sollten zwei PHP-Erweiterungen installiert sein: 왘
GDlib, damit Contao hochgeladene Bilder bearbeiten kann
왘
SOAP zur Installation von Erweiterungen aus dem Backend heraus
Mit dem Contao-Systemdiagnosetool können Sie ganz einfach überprüfen, ob alle Voraussetzungen erfüllt sind. Ab Seite 83 wird geschildert, wie das gemacht wird. Contao herunterladen Vor einer Installation von Contao sollten Sie in der Regel die aktuelle Version herunterladen: 왘
http://www.contao.org/herunterladen.html
Auf dieser Seite steht immer die neueste Version zur Verfügung, und bei Bedarf gibt es noch ein paar weiterführende Links zum Thema.
71
4
Die Installation von Contao
4.2
Offline: Contao auf Ihrem Rechner installieren
Zum Kennenlernen von Contao installieren Sie es in diesem Abschnitt auf Ihrem Rechner, sodass Sie auch offline damit arbeiten können. Im Ordner contaobuch werden Sie eine leere Website erstellen, die Sie im Laufe der nächsten Kapitel nach und nach entwickeln. Schritt 1: Contao-Dateien in den Ordner »contaobuch« kopieren Im ersten Schritt erstellen Sie einen neuen Ordner für das neue Projekt und kopieren die Contao-Dateien in diesen Ordner. Online würde man das mit einem FTP-Programm machen, offline reichen der Windows Explorer oder Apples Finder. ToDo: Dateien in den Ordner »contaobuch« kopieren 1. Erstellen Sie einen Ordner namens contaobuch unterhalb der DocumentRoot des Apache: c:\xampplite\htdocs\contaobuch\ 2. Laden Sie die aktuelle Contao-Version von contao.org herunter. 3. Entpacken Sie das ZIP-Archiv in einen Ordner auf Ihrer Festplatte. 4. Öffnen Sie den Ordner contao-2.9.*, wobei das Sternchen für die aktuelle Versionsnummer steht. 5. Kopieren Sie die Dateien aus diesem Ordner in den Ordner contaobuch.
Der Ordner contaobuch sollte nach diesen Schritten ungefähr so aussehen wie in Abbildung 4.1.
Abbildung 4.1 Der Ordner »contaobuch« enthält die Dateien von Contao.
72
Offline: Contao auf Ihrem Rechner installieren
Im Ordner contaobuch liegen die index.php, einige Stylesheets und eine Datei mit dem etwas seltsamen Namen .htaccess.default. Außerdem gibt es die Ordner plugins, system, templates, tl_files und contao, in denen wiederum jede Menge Dateien und Unterordner enthalten sind. Alles zusammen ist Contao. Schritt 2: Datenbank erstellen mit phpMyAdmin Vor der eigentlichen Installation legen Sie mit phpMyAdmin zunächst eine Datenbank an. Auf Seite 68 haben Sie das im Abschnitt über phpMyAdmin testweise vielleicht schon einmal gemacht. ToDo: Datenbank erstellen mit phpMyAdmin 1. Öffnen Sie phpMyAdmin im Browser: http://localhost/phpmyadmin/ 2. Falls Sie bei der Installation von XAMPP dem MySQL-Benutzer root ein Passwort gegeben haben, müssen Sie sich jetzt anmelden. 3. Suchen Sie auf der Startseite von phpMyAdmin das Eingabefeld unterhalb der Überschrift MySQL localhost. 4. Geben Sie hier den Namen der Datenbank ein, die angelegt werden soll: »db_contaobuch« 5. Prüfen Sie eine Zeile tiefer, ob der Zeichensatz utf8_general_ci ist. 6. Erstellen Sie mit einem Klick auf Anlegen die Datenbank.
Wenn alles geklappt hat, sollte die Seite im Browser so aussehen wie in Abbildung 4.2.
Abbildung 4.2 phpMyAdmin – die Datenbank »db_contaobuch« wurde erzeugt.
73
4.2
4
Die Installation von Contao
Die Nachricht »Es wurden keine Tabellen in der Datenbank gefunden« ist völlig okay, denn das Erstellen der Tabellen in der Datenbank erledigt das Contao-Installationstool in Schritt 6. Der Datenbankname beginnt mit »db_« Die Datenbank muss nicht unbedingt db_contaobuch heißen, aber der Name ist auch nicht zufällig gewählt. Durch das Kürzel db_ am Anfang wissen Sie immer, dass der Name für eine Datenbank steht. Ohne das db_ könnte contaobuch auch ein Ordnername oder etwas völlig anderes sein.
Schritt 3: Das Passwort für das Installtool ändern Das Installationsprogramm liegt im Unterordner contaobuch/contao/ und heißt install.php. Um es zu starten, geben Sie im Browser folgende URL ein: 왘
http://localhost/contaobuch/contao/install.php
Wenn alles geklappt hat, erscheint die »GNU Lesser General Public License«. Nach einem Klick auf Lizenz akzeptieren beginnt dann die Installation, und zwar mit einer Passworteingabe für das Installtool selbst. Das Installtool kommt nicht nur bei der ersten Installation zum Einsatz, sondern auch bei späteren Updates. Deshalb bleibt es in der Regel auf dem Webspace liegen und wird mit einem Passwort geschützt. Falls Sie nicht die Lizenz sehen, gibt es folgende Möglichkeiten: 왘
Sie werden gebeten, Ihre FTP-Zugangsdaten einzugeben. Bei einer Installation auf einem Unix-basierten System (also auch auf Mac OS X) kann das durchaus passieren. Lesen Sie ab Seite 87 Abschnitt 4.4 über den FTP-Modus von Contao. Sie müssen vor der Installation von Contao noch etwas erledigen.
왘
Sie sehen eine Fehlermeldung 404 oder Not Found. Prüfen Sie die URL und die Pfadangabe im Dateisystem. Denken Sie daran, dass der erste einfache Slash nach localhost für den Ordner htdocs steht.
왘
Sie sehen eine Fehlermeldung Verbindung konnte nicht aufgebaut werden. Der Webserver ist nicht gestartet. Lesen Sie auf Seite 56 Abschnitt 3.2.3, »Testen, ob der Webserver funktioniert«.
Wenn die Ursache für die Meldung behoben wurde, geht es weiter zum folgenden ToDo.
74
Offline: Contao auf Ihrem Rechner installieren
ToDo: Das Passwort für das Installtool ändern 1. Rufen Sie im Browser das Installtool auf: http://localhost/contaobuch/contao/install.php 2. Bestätigen Sie die »GNU Lesser General Public License« mit einem Klick auf Lizenz akzeptieren. 3. Geben Sie bei der ersten Anmeldung das Standardpasswort »contao« (ohne Anführungsstriche) ein, und klicken Sie dann auf Anmelden. 4. Geben Sie im Feld Passwort ein neues Passwort ein. 5. Wiederholen Sie die Passworteingabe im Feld Bestätigung. 6. Notieren Sie das Passwort. Wenn Sie wollen, gleich hier: Passwort für das Installtool: ……………………………… 7. Klicken Sie auf Passwort speichern (Abbildung 4.3).
Abbildung 4.3 Passwort für das Installtool ändern
Zusätzliche Sicherheitsmaßnahmen zum Schutz der Installation Wenn jemand Zugriff auf das Installtool hat, kann er die komplette Website löschen. Falls Ihnen ein Passwort als Schutz nicht ausreicht, werden oberhalb der Passworteingabe zwei zusätzliche Sicherheitsmaßnahmen erwähnt: 왘
install.php umbenennen. Am besten in einen schlecht zu erratenden Dateinamen wie zum Beispiel 43r7za.php.
왘
install.php komplett vom Webspace entfernen. Falls das Installtool bei einem Update wieder benötigt wird, laden Sie es einfach wieder hoch.
Sie können den Zugriff auf den Ordner contao auch mit einer .htaccess schützen. Viele Webhoster stellen ein Hilfsprogramm zum Erstellen eines Verzeichnisschutzes bereit. Das sind aber wie gesagt alles reine Vorsichtsmaßnahmen.
75
4.2
4
Die Installation von Contao
Schritt 4: Einen Verschlüsselungsschlüssel erstellen Nach der Änderung des Passwortes erscheint in Grün die Meldung Das Standardpasswort wurde geändert und darunter gleich der nächste Schritt, Einen Verschlüsselungsschlüssel erstellen. In einem kleinen Browserfenster müssen Sie eventuell etwas nach unten scrollen, um den in Abbildung 4.4 dargestellten Schritt sehen zu können.
Abbildung 4.4 Verschlüsselungsschlüssel erstellen – einfach klicken
ToDo: Einen Verschlüsselungsschlüssel erstellen 1. Um einen zufälligen Verschlüsselungsschlüssel zu generieren, lassen Sie das Eingabefeld Verschlüsselungsschlüssel leer. 2. Klicken Sie einfach auf die Schaltfläche Schlüssel erstellen bzw. speichern direkt unterhalb des leeren Eingabefeldes.
Durch diesen Klick wird eine ziemlich lange, zufällige Zeichenfolge wie z. B. d548ea51fd715c7b41cbe32776f391c5 generiert und in der Datenbank gespeichert. Der Schlüssel findet nur intern Verwendung. Sie müssen ihn nirgendwo selbst eingeben und brauchen ihn deshalb momentan auch nicht unbedingt zu notieren. Der Verschlüsselungsschlüssel steht später auch im Backend Der während der Installation erzeugte Schlüssel wird in der Datenbank gespeichert und ist später bei Bedarf auch im Backend abrufbar: 왘
System 폷 Einstellungen 폷 Sicherheitseinstellungen
Dort heißt er übrigens Hashwert für Verschlüsselung. Sie sollten ihn nicht nachträglich ändern.
76
Offline: Contao auf Ihrem Rechner installieren
Schritt 5: Kontakt mit der Datenbank aufnehmen In diesem Schritt geben Sie die Zugangsdaten zur Datenbank ein, damit Contao eine Verbindung herstellen kann (Abbildung 4.5). Die in Rot erscheinende Meldung Keine Verbindung zur Datenbank möglich! ist kein Grund zur Sorge, da Sie ja noch gar nicht probiert haben, eine Verbindung herzustellen.
Abbildung 4.5 Zugangsdaten für die Datenbank eingeben
Im folgenden ToDo geben Sie die Zugangsdaten zur Datenbank ein. ToDo: Kontakt mit der Datenbank aufnehmen 1. Im Feld Treiber wird der gewünschte Datenbankserver gewählt. Mit Treiber ist das PHP-Modul gemeint, das Kontakt mit MySQL aufnimmt. Ideal ist MySQLi, mit »i« wie »improved« (verbessert) am Ende. Falls das nicht klappt, probieren Sie MySQL ohne das »i« hinten dran. 2. Im Feld Host geben Sie den Namen des Rechners ein, auf dem der Datenbankserver läuft: »localhost«. 3. Im Feld Benutzername tragen Sie »root« ein. Das ist der MySQL-Benutzer, der Zugriff auf die Datenbank hat.
77
4.2
4
Die Installation von Contao
ToDo: Kontakt mit der Datenbank aufnehmen (Forts.) 4. Im Feld Passwort tragen Sie das auf Seite 58 beim Sicherheitscheck von XAMPP vergebene Passwort für den MySQL-Benutzer root ein. Das Passwort erscheint bei der Eingabe im Klartext, um Tippfehler zu vermeiden. Haben Sie kein Passwort vergeben, lassen Sie das Feld leer. 5. Im Feld Datenbank tragen Sie den Namen der auf Seite 73 in Schritt 2 erstellen Datenbank ein: »db_contaobuch« 6. Die Felder Dauerhafte Verbindung, Zeichensatz und Portnummer lassen Sie unverändert. Der Zeichensatz UTF-8 heißt bei MySQL wirklich UTF8, ohne Bindestrich. »Korrigieren« Sie das nicht! 7. Überprüfen Sie Ihre Eingaben noch einmal. Wenn alles korrekt ist, bestätigen Sie sie mit einem Klick auf Einstellungen speichern (Abbildung 4.5).
Jetzt versucht das Installtool, Kontakt mit der Datenbank aufzunehmen. Wenn alles geklappt hat, erscheint wie in Abbildung 4.5 in grünen Lettern die Meldung Datenbankverbindung ok. Unterhalb der Schaltfläche Einstellungen speichern haben Sie noch die Möglichkeit zur Änderung der Kollation. Bei der Erstellung der Datenbank mit phpMyAdmin am Anfang der Installation haben Sie bereits sichergestellt, dass der Zeichensatz für die Datenbank auf utf8_general_ci steht und müssen hier nichts aktualisieren. Kollation: Zeichensatz und Sortierung Vereinfacht gesagt geht es bei der Kollation um den verwendeten Zeichensatz, die Sortierung der Daten in der Datenbank und solche Sachen. Die Einstellung utf8_general_ci bewirkt unter anderem, dass man bei der Anmeldung am Backend beim Benutzernamen nicht auf Groß- und Kleinschreibung achten muss (»ci« wie case insensitive): »k.jones«, »K.JONES« oder »K.Jones« funktioniert alles. Wenn Sie das nicht möchten, können Sie stattdessen »utf8_bin« verwenden.
Schritt 6: Die Datenbanktabellen anlegen Wenn das Installtool eine Verbindung mit der Datenbank hergestellt hat, kann es in diesem Schritt die von Contao benötigten Tabellen und Felder in der Datenbank einrichten. Die in Rot erscheinende Meldung Die Datenbank ist nicht aktuell! ist nicht schlimm, denn bei einer Erstinstallation ist die Datenbank ja noch komplett leer und deshalb natürlich nicht auf dem neuesten Stand.
78
Offline: Contao auf Ihrem Rechner installieren
ToDo: Tabellen aktualisieren und in der Datenbank anlegen 1. Scrollen Sie ein paar Bildschirmseiten langsam nach unten, bis die Schaltfläche Datenbank aktualisieren ins Bild kommt. 2. Prüfen Sie dabei, ob alle Kontrollkästchen vor den SQL-Befehlen Create Table '...' angekreuzt sind. 3. Klicken Sie auf die Schaltfläche Datenbank aktualisieren, um die angezeigten SQLBefehle auszuführen (Abbildung 4.6).
Abbildung 4.6
Neue Datenbanktabellen anlegen
Nach einem Klick auf Datenbank aktualisieren führt das Installtool die angezeigten SQL-Befehle aus und erzeugt die von Contao benötigten Tabellen und Felder in der Datenbank. Vorsicht, wenn sich mehrere Anwendungen diese Datenbank teilen Wenn das Contao-Installtool anbietet, »fremde« Tabellen aus der Datenbank zu entfernen, sollten Sie vorsichtig sein, falls die Datenbank auf Ihrem Server auch noch von anderen Anwendungen benutzt wird. SQL-Befehle zum Löschen wie DROP TABLE sollten Sie nur ankreuzen, wenn Sie sich mehr als hundertprozentig sicher sind, dass die Tabellen nicht benötigt werden.
79
4.2
4
Die Installation von Contao
Schritt 7: Kein Frontend-Template importieren Nach dem Anlegen der Datenbankstrukturen bietet Ihnen das Installtool an, ein Template zu importieren (Abbildung 4.7).
Abbildung 4.7 (K)ein Template importieren
Mit Template ist an dieser Stelle ein Frontend-Template gemeint. Das ist eine komplette, vorkonfigurierte Website, und ein Importieren überschreibt alle eventuell vorhandenen Daten in der Datenbank. Da Sie bei dieser Installation eine leere Site erstellen möchten, die im Laufe des Buches weiterentwickelt wird, importieren Sie hier bitte nichts und gehen gleich weiter zum nächsten Schritt. Für jedes Buchkapitel gibt es ein Frontend-Template auf der DVD Auf der Buch-DVD finden Sie im Ordner beispieldateien ab Kapitel 6 für jedes Kapitel ein Frontend-Template, sodass Sie buchstäblich bei jedem Kapitel anfangen können. Eine genaue Anleitung zur Vorgehensweise finden Sie auf der DVD in beispieldateien/ anleitung_frontend_templates.txt.
Schritt 8: Ein Administratorkonto anlegen Zum Abschluss der Installation erstellen Sie noch ein Administratorkonto. Falls Sie bezüglich Benutzernamen und Passwort keine besonderen Wünsche haben, können Sie für die lokale Installation der Beispielsite ruhig »k.jones« und »kevinjones« nehmen wie in der Online-Demo. Auf einem Online-Webspace wäre das keine so gute Idee. ToDo: Administratorkonto anlegen 1. Tragen Sie im Feld Benutzername einen Benutzernamen für den Administrator ein. 2. Im Feld Name geben Sie den vollen Namen des Administrators ein. 3. Das Feld E-Mail-Adresse muss ausgefüllt werden, auch wenn bei einer lokalen Installation kein Mailserver vorhanden ist, der Meldungen an den Admin schicken könnte. 4. Geben Sie ein Passwort ein, und bestätigen Sie es im Feld Bestätigung.
80
Offline: Contao auf Ihrem Rechner installieren
ToDo: Administratorkonto anlegen (Forts.) 5. Notieren Sie die Zugangsdaten für das Administratorkonto: Admin-Benutzername: …………………………… Name: …………………………… E-Mail-Adresse: …………………………… Admin-Passwort: ………………………………… 6. Klicken Sie auf Ein Administratorkonto erstellen.
Abbildung 4.8 zeigt die Eingabemaske im Browser.
Abbildung 4.8
Ein Administratorkonto anlegen
Wenn alles geklappt hat, können Sie sich mit einem Klick auf den Link Contao Backend-Login ganz rechts unten am Backend anmelden. In den nächsten Kapiteln lernen Sie das Backend genauer kennen. Wenn Sie mit http://localhost/contaobuch das Frontend der frisch installierten Website aufrufen, ist dort außer der Meldung »No pages found« noch nichts zu sehen. Das ist okay und wird bald geändert. Im Ordner auf der Festplatte befinden sich noch einige Dateien für die Beispielsite Music Academy, die für eine leere Site nicht benötigt werden: 왘
die Datei templates/music_academy.sql
왘
der Ordner tl_files/music_academy/
왘
basic.css, music_academy.css und print.css im Hauptordner
Diese Dateien und Ordner können Sie löschen, wenn Sie die Beispielsite Music Academy nicht installieren.
81
4.2
4
Die Installation von Contao
Ungeduldig? Kapitel 5, »Ein kurzer Rundgang im Backend« Falls Sie im Moment nur offline arbeiten möchten, können Sie die folgenden Abschnitte über die Installation auf einem Online-Webspace, die dabei möglichen Probleme und den Umzug einer lokalen Site ins Web auch später lesen. Dann springen Sie jetzt zu Seite 101 mit Kapitel 5, »Ein kurzer Rundgang im Backend«.
4.3
Online: Contao im Web installieren
Für die ersten Schritte und zur Entwicklung von Websites ist eine lokale Installation gut geeignet, aber früher oder später wird Contao auf einem online erreichbaren Webspace installiert.
4.3.1
Informationen über Webhoster im Forum
Hosting ist laut Wikipedia »die Unterbringung von Internetprojekten, die sich in der Regel auch öffentlich durch das Internet abrufen lassen«, und ein Webhoster oder Provider ist eine Firma, die die »Unterbringung von Internetprojekten« ermöglicht, indem sie Ihnen Webspace zur Verfügung stellt.
Abbildung 4.9
82
Das Forum »Erfahrungen mit Webhostern«
Online: Contao im Web installieren
Bevor Sie Contao auf einem Online-Webspace installieren, sollten Sie eventuell kurz im Forum nachschauen, ob andere Forenmitglieder im Bereich Erfahrungen mit Webhostern vielleicht bereits etwas über Erfahrungen mit Contao bei Ihrem Provider veröffentlicht haben (Abbildung 4.9).
4.3.2
Webspace prüfen: Das Contao-Systemdiagnosetool
Mit einem kleinen PHP-Programm können Sie prüfen, ob der Webspace alle Voraussetzungen für Contao erfüllt. Dazu laden Sie zunächst einmal die Datei system-check-2.9.x.zip mit der passenden Versionsnummer herunter: 왘
http://www.contao.org/den-live-server-konfigurieren.html
Entpacken Sie die ZIP-Datei. Darin enthalten ist die Datei contao-check.php, die Sie gleich benötigen. ToDo: Webspace testen mit »contao-check.php« 1. Kopieren Sie die Datei contao-check.php von Ihrer Festplatte per FTP in das Verzeichnis, in das Sie Contao installieren möchten. 2. Rufen Sie das Systemdiagnosetool im Browser auf. Falls Sie die Datei in das Hauptverzeichnis des Webservers (DocumentRoot) kopiert haben, geben Sie dazu folgende URL ein: http://ihre-domain.de/contao-check.php Ersetzen Sie ihre-domain.de dabei durch Ihre eigene Domain.
Falls die Datei nicht gefunden wird und Sie einen 404-Error bekommen, stimmt eventuell der Ordner nicht. Das Hauptverzeichnis für Webseiten heißt bei XAMPP htdocs, kann auf dem Webspace aber verschiedene Namen haben: webseiten, html, httpdocs, public_html oder etwas ganz anderes. Fast nichts ist unmöglich. Wenn es klappt, zeigt der Browser den Contao system check (Abbildung 4.10). Der Contao system check überprüft zwei Dinge: 왘
Im ersten Teil geht es um die PHP-Konfiguration. In Abbildung 4.10 ist hier alles hellgrün hinterlegt.
왘
Im zweiten Teil werden Dateiberechtigungen (»File permissions«) überprüft. Im Beispiel ist auch hier alles im grünen Bereich.
Weiter unten gibt es noch einen dritten Teil, in dem geprüft wird, ob alle von Contao benötigten Dateien (»Files«) vorhanden sind und die nötigen Berechtigungen haben. Da noch keine Dateien vorhanden sind, haben momentan alle einen hellroten Hintergrund. Diese Warnungen können Sie momentan ignorieren, aber nach der Installation sind sie sehr nützlich.
83
4.3
4
Die Installation von Contao
Abbildung 4.10 Der »Contao system check«
Safe Mode Hack empfohlen? Keine Panik – siehe Seite 87! Falls das Diagnosetool vermeldet, dass Sie einen Safe Mode Hack benötigen, erschrecken Sie nicht. Ab Seite 87 wird beschrieben, wie das geht.
4.3.3
Dateien auf den Webspace kopieren
Die Installation von Contao auf dem Webspace bei Ihrem Webhoster verläuft abgesehen von kleinen Unterschieden genau wie eine lokale Installation. Der erste wichtige Unterschied ist, dass Sie die Dateien mit einem FTP-Programm wie FileZilla oder WinSCP auf den Webspace kopieren. Nach dem Kopieren können Sie mit contao-check.php überprüfen, ob alle Dateien korrekt hochgeladen wurden. ToDo: Die Contao-Dateien auf den Webserver kopieren 1. Starten Sie Ihr FTP-Programm, und stellen Sie eine Verbindung zum Webspace her. 2. Kopieren Sie die Contao-Dateien in den gewünschten Ordner auf dem Webspace. Falls Contao nicht im Hauptverzeichnis installiert werden soll, müssen Sie zuerst einen entsprechenden Ordner anlegen.
84
Online: Contao im Web installieren
ToDo: Die Contao-Dateien auf den Webserver kopieren (Forts.) 3. Starten Sie nach dem Kopiervorgang contao-check.php, und überprüfen Sie im dritten Teil, Files, ob alle Dateien kopiert worden sind, welche Dateiberechtigungen (CHMOD) sie haben und wer der Besitzer (Owner) ist.
In Abbildung 4.11 steht der Status für alle gezeigten Dateien auf Validated. Alles okay.
Abbildung 4.11 Der Systemcheck überprüft die hochgeladenen Dateien.
Das Systemdiagnosetool erstellt auf dem Webspace den Ordner contao-check und die Datei contao-check.txt. Beide können Sie wieder löschen, denn sonst fragen Sie sich irgendwann später, woher diese kommen. Auch das Diagnosetool contaocheck.php selbst sollte nach Benutzung wieder entfernt werden. Andere ContaoAdmins und Hacker kennen das Tool auch und könnten dadurch wertvolle Informationen über das System erhalten. Versteckte Dateien: Wenn ».htaccess« nicht mitkopiert wurde Einige FTP-Programme übertragen standardmäßig keine versteckten Dateien. Besonders betroffen davon sind Dateien mit dem Namen .htaccess. Falls das Diagnosetool meldet, dass diese Dateien fehlen, liegt das wahrscheinlich an den Einstellungen in Ihrem FTP-Programm. Die .htaccess-Dateien sorgen dafür, dass bestimmte Dateien und Ordner wie z. B. die Log- oder Cache-Dateien nicht von jedem Besucher eingesehen werden können, und gewährleisten so die Sicherheit des Systems.
85
4.3
4
Die Installation von Contao
4.3.4
Zugangsdaten für die Datenbank
Wenn mit den Dateien alles in Ordnung ist, geht es weiter mit der Datenbank. Falls bereits eine Datenbank vorhanden ist, halten Sie die Zugangsdaten bereit, die in den Unterlagen stehen sollten, die Sie von Ihrem Webhoster bekommen haben: 왘
Datenbankname: ………………………………
왘
Benutzername: ………………………………
왘
Passwort: ………………………………
Auf dem Online-Webspace kann es noch zwei zusätzliche Details geben: 왘
Hostname: ……………………………… Wenn Contao und MySQL nicht auf demselben Rechner laufen, lautet der Hostname nicht localhost, sondern dbserver.provider.de oder ähnlich.
왘
Portnummer: …… Eventuell kommuniziert die MySQL-Datenbank nicht auf dem Standardport 3306. Das passiert selten, kann aber vorkommen.
Wenn Sie diese Informationen nicht finden können, fragen Sie einfach Ihren Webhoster. Falls es noch keine Datenbank gibt, müssen Sie mit phpMyAdmin oder einem vergleichbaren Tool vor der Installation eine Datenbank anlegen. Wie das geht, wird auf Seite 73 beschrieben.
4.3.5
Die Installation im Überblick
Die eigentliche Installation verläuft online genau wie die bereits beschriebene Offline-Installation. Das folgende ToDo zeigt eine kurze Zusammenfassung. ToDo: So installieren Sie Contao auf einem Online-Webspace 1. Starten Sie das Installationsprogramm von Contao. Liegt Contao nicht im Hauptverzeichnis, müssen Sie nach dem ersten einfachen Slash noch entsprechende Ordnernamen ergänzen: http://ihre-domain.de/contao/install.php 2. Wenn nach dem Aufruf des Installtools statt der Passworteingabe das Dialogfeld Dateien via FTP bearbeiten erscheint, informieren Sie sich ab Seite 87 zunächst über den Safe Mode Hack. 3. Das Installtool ist passwortgeschützt. Geben Sie zunächst das Standard-Passwort »contao« ein.
86
Safe Mode Hack: Der FTP-Modus von Contao
ToDo: So installieren Sie Contao auf einem Online-Webspace (Forts.) 4. Ändern Sie das Passwort für das Installtool, und notieren Sie es: Passwort für das Installtool (online): ……………………………… 5. Klicken Sie auf Passwort speichern. 6. Lassen Sie das Eingabefeld für den Verschlüsselungsschlüssel leer, und klicken Sie auf Schlüssel erstellen bzw. speichern. 7. Geben Sie die Zugangsdaten für die Datenbank ein, und klicken Sie auf Einstellungen speichern, um eine Verbindung zur Datenbank herzustellen. Lassen Sie die Kollation unverändert auf utf8_general_ci. 8. Aktualisieren Sie die Datenbanktabellen, indem Sie nach unten scrollen, die Schaltfläche Datenbank aktualisieren suchen und anklicken. 9. Importieren Sie (k)ein Frontend-Template. Bei der Erstinstallation ist das Importieren ungefährlich, aber bei einem späteren Import werden alle bereits bestehenden Daten in der Datenbank überschrieben.
Haben Sie ein Frontend-Template importiert, brauchen Sie kein Admin-Konto anzulegen, weil dies in einem Frontend-Template bereits enthalten ist. Der Standard-Admin von Contao-Installationen ist der Benutzer k.jones mit dem Passwort kevinjones. Falls Sie kein Frontend-Template importiert haben, müssen Sie noch ein AdminKonto eröffnen. Notieren Sie sich in beiden Fällen die Zugangsdaten: Admin-Benutzername (online): ……………………… Name: …………………………… E-Mail-Adresse: …………………………… Admin-Passwort (online): ……………………… Melden Sie sich danach am Backend an, um zu testen, ob alles geklappt hat. Nach dem Import eines Frontend-Templates sollte auch das Frontend bereits »in voller Blüte« erscheinen; ohne den Import eines Templates erscheint lediglich die Mitteilung »No pages found«, weil es noch keine Seiten gibt. Zugriff auf das Verzeichnis während der Entwicklung schützen Während der Entwicklung sollten Sie den Zugriff auf den Ordner schützen. Insbesondere Suchmaschinenrobots werden so vorerst draußen gehalten. Viele Webhoster stellen für einen solchen Verzeichnisschutz komfortable Tools zur Verfügung.
4.4
Safe Mode Hack: Der FTP-Modus von Contao
Dieser Abschnitt ist nur relevant, wenn das Intalltool Sie mit der Aufforderung zur Eingabe der FTP-Daten begrüßt oder wenn das Systemdiagnosetool die Mel87
4.4
4
Die Installation von Contao
dung You will most likely not be able to run Contao without the Safe Mode Hack. ausgibt. Vereinfacht gesagt kommt die Meldung, weil Contao seine eigenen Dateien nicht ändern darf. Das ist nötig, um zum Beispiel Konfigurationsdateien zu speichern oder mit dem integrierten Dateimanager Bilder und Dokumente zu verwalten. Der Grund dafür ist wahrscheinlich, dass PHP als Modul betrieben wird und unter einem anderen Benutzernamen läuft als der FTP-Benutzer, dem die Dateien gehören. Details in »Know-how: Dateiberechtigungen – das 1x1 zu 644« Wenn Sie genau wissen wollen, was es mit dem Safe Mode Hack auf sich hat, lesen Sie bitte Abschnitt 4.8, »Know-how: Dateiberechtigungen – das 1x1 zu 644«, ab Seite 97.
4.4.1
»Sie benötigen wahrscheinlich den Safe Mode Hack«
Abbildung 4.12 zeigt den Contao system check für einen Webspace, bei dem der Safe Mode Hack (SMH) benötigt wird. Mit vollem Namen heißt der SMH übrigens Dateien via FTP bearbeiten oder auch FTP für den Dateizugriff verwenden.
Abbildung 4.12 »Sie werden ziemlich sicher den SMH benötigen«
88
Safe Mode Hack: Der FTP-Modus von Contao
Nach der Einrichtung merken Sie nichts vom Safe Mode Hack Der SMH wird von Contao nur verwendet, wenn es Dateien auf dem Webspace verändern muss. Das kann zum Beispiel eine Änderung in der Konfiguration sein, wenn Bilder automatisch verkleinert werden oder im Dateimanager Dateien hochgeladen werden. Nach der Einrichtung arbeitet der SMH im Hintergrund, und Sie merken davon nichts.
4.4.2
Eine Alternative zum SMH: PHP als CGI oder Fast-CGI
Bei einigen Webhostern gibt es die Möglichkeit, mithilfe der .htaccess den PHPInterpreter nachträglich von Modul auf CGI/Fast-CGI umzustellen. Schauen Sie sich im Contao-Forum nach Erfahrungen mit Ihrem Provider um, oder fragen Sie ihn direkt. Das wäre eine Alternative zum SMH. Beim Webhoster all-inkl.com geht das zum Beispiel so: 왘
Benennen Sie die mitgelieferte Datei .htaccess.default im Hauptverzeichnis von Contao in .htaccess um. Die Datei muss punkthtaccess heißen, nichts davor, nichts dahinter und keine Leerstelle.
왘
Öffnen Sie die Datei im Editor, und schreiben Sie folgenden Befehl in die erste Zeile der Datei: AddHandler php-fastcgi .php
왘
Speichern Sie die Datei .htaccess, und laden Sie sie hoch.
왘
Rufen Sie erneut den contao-check.php auf.
Die Meldung bezüglich des SMH sollte verschwunden sein. Bei anderen Webhostern heißen die Befehle eventuell anders. Fragen Sie einfach nach. Die Datei ».htaccess« konfiguriert den Apache Die Datei .htaccess kann für viele verschiedene Dinge benutzt werden – unter anderem dazu, den Apache zu konfigurieren, ohne Zugriff auf dessen Konfigurationsdatei httpd.conf zu haben. Sie spielt auch eine wichtige Rolle beim Erzeugen von lesbaren URLs in Kapitel 18.1, »Lesbare Adressen: URLs umschreiben«.
4.4.3
Online: So richten Sie den Safe Mode Hack ein
Wenn Sie auf Ihrem Online-Webspace den Safe Mode Hack benötigen, erscheint beim Aufrufen des Installtool das Dialogfeld Dateien via FTP bearbeiten (Abbildung 4.13).
89
4.4
4
Die Installation von Contao
Abbildung 4.13 FTP-Zugangsdaten für den Safe Mode Hack eingeben
Tragen Sie in dieses Formular die ganz normalen FTP-Zugangsdaten ein, mit denen Sie sich auch mit Ihrem FTP-Programm bei Ihrem Webspace anmelden, und klicken Sie auf die Schaltfläche FTP-Einstellungen speichern. Wenn alles geklappt hat, müssen Sie im nächsten Schritt die Lizenz akzeptieren und können dann mit der eigentlichen Installation beginnen. Contao wird bei Bedarf im Hintergrund Dateien via FTP ändern und speichern, ohne dass Sie davon etwas merken. Falls es nicht geklappt hat, erscheint die Meldung »Keine Verbindung zum FTPServer möglich«, und Sie dürfen es noch einmal probieren. Besonders fehleranfällig ist die Eingabe im Feld Relativer Pfad zum Contao-Verzeichnis. Dieser Pfad muss aus Sicht des FTP-Programms angegeben werden und unbedingt mit einem Backslash enden. Sollten Sie sich nicht sicher sein, probieren Sie einfach aus, welcher Pfad der richtige ist: 왘
Starten Sie Ihr FTP-Programm.
왘
Loggen Sie sich mit den im Formular eingetragenen Daten ein.
왘
Schauen Sie, in welchem Verzeichnis Sie nach der Anmeldung landen.
왘
Falls Sie nicht im Contao-Ordner sind, merken Sie sich die Namen der Ordner auf dem Weg dorthin.
90
Safe Mode Hack: Der FTP-Modus von Contao
Wenn Sie zum Beispiel nach der FTP-Anmeldung im Hauptordner landen und danach erst in den Unterordner www wechseln müssen, um Contao zu finden, geben Sie im Installtool den relativen Pfad www/ ein, mit einem Backslash hinten dran. Anleitung für den Safe Mode Hack (SMH) im Forum Falls es irgendwelche Probleme geben sollte, gibt es im Forum einen Thread, der sich speziell mit dem SMH beschäftigt: 왘
Safe Mode Hack anlegen http://bit.ly/bZ2CzN
Dort wird auch beschrieben, wie Sie den SMH manuell in die Konfigurationsdatei eintragen und wie Sie testen können, ob er wirklich funktioniert.
4.4.4
Offline-Webspace: SMH bei einer lokalen Installation umgehen
Auf Unix-basierten Systemen kann es passieren, dass Sie auch bei einer lokalen Offline-Installation mit der Bitte um Eingabe der FTP-Zugangsdaten begrüßt werden. Da MAC OS X auch ein Unix-basiertes System ist, gilt das auch für MAMP oder XAMPP für den Mac. Prinzipiell gäbe es mehrere Möglichkeiten, das Problem zu lösen: 왘
Sie könnten einen lokalen FTP-Server einrichten und dann im Installtool die entsprechenden FTP-Zugangsdaten eingeben. Wenn Sie wissen, wie das geht, spricht nichts dagegen.
왘
Sie könnten versuchen, das PHP in MAMP oder XAMPP nicht als Modul, sondern als (Fast-)CGI zu betreiben. Auch hier gilt: Wenn Sie wissen, wie das geht, spricht nichts dagegen.
Am einfachsten ist es aber, den ganzen Webserver und damit auch das als Modul betriebene PHP unter Ihrem Benutzerkonto und mit Ihren Berechtigungen laufen zu lassen. Auf einem Online-Webspace ist dies jedoch nicht empfehlenswert, denn der Webserver hat nicht ohne Grund sein eigenes Benutzerkonto, aber offline auf Ihrem Rechner ist das eine gute und vergleichsweise einfache Lösung. So ändern Sie die Konfiguration des Apache: 왘
Suchen Sie zunächst die Konfigurationsdatei des Apache. Diese heißt in jedem Fall httpd.conf und liegt wahrscheinlich im Ordner etc/ unterhalb der MAMP/ XAMPP-Installation. Dieser Ordner ist nicht identisch mit dem Systemordner /etc, in dem Sie auf keinen Fall irgendetwas ändern sollten. Das kann den kompletten Rechner zerstören.
91
4.4
4
Die Installation von Contao
왘
Suchen Sie in der httpd.conf die Zeilen, in denen der Benutzername und die Benutzergruppe festgelegt wird, unter denen der Webserver läuft: User daemon Group daemon
왘
Ersetzen Sie in der ersten Zeile das »daemon« durch den Benutzernamen, mit dem Sie sich an Ihrem Computer anmelden. Die »Group« lautet wahrscheinlich »admin«. Mögliche Werte wären also: User peter Group admin
Geben Sie dabei statt peter bitte Ihren Benutzernamen ein. 왘
Um die Änderungen wirksam werden zu lassen, müssen Sie die httpd.conf speichern und den Apache einmal neu starten.
Wenn alles geklappt hat, können Sie die Offline-Installation jetzt auf Seite 74 mit dem Aufruf des Contao-Installtools fortsetzen, die Lizenz bestätigen und das Passwort ändern.
4.5
Alte PHP-Version: Parse error…
Contao benötigt mindestens die PHP-Version 5.2 und versteht in dieser Beziehung auch keinen Spaß. Sollten Sie beim Aufrufen des Installtools eine Fehlermeldung bekommen, die mit den Worten »Parse error: syntax error« (Abbildung 4.14) beginnt, läuft auf Ihrem Webspace ziemlich sicher eine alte PHP-Version.
Abbildung 4.14 Diese Fehlermeldung deutet auf eine alte PHP-Version hin.
Bei vielen Webhostern ist eine passende PHP-Version bereits von vornherein aktiviert, bei anderen muss sie erst eingeschaltet werden. Dazu gibt es im Prinzip zwei Möglichkeiten: 왘
Sie ändern die PHP-Version in der Verwaltungsoberfläche Ihres Webspace.
왘
Sie schalten die PHP-Version mithilfe der .htaccess um.
92
Sonstige potenzielle Probleme bei der Installation
Das Umschalten der PHP-Version mit der .htaccess geht so ähnlich wie das weiter oben beschriebene Umschalten vom PHP-Modul auf Fast-CGI. Sie müssen dazu in der .htaccess einen entsprechenden Befehl einfügen, der von Provider zu Provider variiert. Vielleicht gibt es im Contao-Forum Hinweise für Ihren Webhoster, vielleicht gibt es auch eine FAQ oder Wissensdatenbank, in der der Wechsel zu PHP5 beschrieben steht. Listing 4.1 zeigt Kandidaten zur Umschaltung auf PHP5 per .htaccess: AddHandler x-httpd-php5 .php AddHandler php5-cgi .php AddHandler php-cgi2 .php AddHandler php-fastcgi5 .php AddType x-mapp-php5 .php AddType application/x-httpd-php5 .php Action php /cgi-php5/php Listing 4.1
Möglichkeiten zur Aktivierung von PHP5
Am besten rufen Sie die folgende URL im Browser auf und kopieren die Zeilen aus Listing 4.1 von der Webseite. Damit vermeiden Sie Tippfehler. 왘
http://www.contao.org/den-live-server-konfigurieren.html
Probieren Sie immer nur jeweils eine Zeile aus, nicht mehrere auf einmal.
4.6
Sonstige potenzielle Probleme bei der Installation
Die häufigsten Probleme sind der SMH und die falsche PHP-Version, was allerdings kaum noch vorkommt, da PHP5 weit verbreitet ist. Bei weiteren Problemen wie dem Erscheinen wirrer Zeichen auf dem Bildschirm oder einer komplett weißen Seite gibt es folgende Anlaufpunkte: 왘
FAQ – Abschnitt »Installation« http://www.contao.org/haeufige-fragen.html
왘
Contao-Forum – Allgem. Installationsfragen http://bit.ly/9s5SmE
Im Forum können Sie lesen, suchen und Fragen stellen. Gerade Fragen zur Installation sind schon häufig gestellt worden. Die Suchfunktion hilft beim Finden. Wenn Sie trotz ausführlicher Suche nichts gefunden haben, nehmen Sie sich bitte die Zeit, um den Sachverhalt und die Fragen so präzise wie möglich zu formulieren. Der Name des Providers, der Tarif, die Contao-Version und eine Beschrei-
93
4.6
4
Die Installation von Contao
bung der bisherigen Maßnahmen gehören auf jeden Fall dazu. Bei einer lokalen Installation ist das Betriebssystem genauso wichtig wie die verwendeten Versionen von Apache, PHP und MySQL. Das kostet zwar alles Zeit und Mühe, und durch die Installationsprobleme ist man sowieso schon gefrustet, aber denken Sie bitte daran, dass die anderen Forumsteilnehmer die von Ihnen gestellten Fragen freiwillig und in ihrer Freizeit beantworten. Eine gut formulierte Frage erhöht die Chance auf eine gut formulierte Antwort. Wenn Sie sich die Zeit nehmen, den Sachverhalt genau zu beschreiben, sind andere eher dazu bereit, sich mit Ihrem Problem zu beschäftigen.
4.7
Umzug: Von XAMPP auf den Online-Webspace
Wenn Sie eine Website in einer lokalen Umgebung entwickelt haben, muss diese irgendwann auf den Online-Webspace umziehen. Dazu benötigen Sie nur ein bisschen Zeit, ein FTP-Programm zum Übertragen der Dateien und phpMyAdmin zum Exportieren und Importieren der Daten aus der Datenbank. Schritt 1: Dateien auf den Online-Webspace übertragen Dieser Schritt ist einfach: 왘
Starten Sie Ihr FTP-Programm.
왘
Stellen Sie eine Verbindung zum Online-Webspace her.
왘
Kopieren Sie alle Dateien der lokalen Contao-Installation in den gewünschten Ordner auf dem Online-Webspace.
Fertig. Damit sind alle benötigten Dateien an Ort und Stelle. Schritt 2: Die lokale Datenbank exportieren Um die Daten aus der Datenbank von Ihrem Rechner in die Datenbank auf dem Online-Webspace zu transferieren, exportieren Sie zunächst die Daten aus der lokalen Datenbank. Das Ergebnis ist ein SQL-Dump, eine Datei mit der Endung .sql, die jede Menge SQL-Befehle enthält. Diese Datei wird auf dem Online-Webspace wieder importiert. Los geht es aber erst einmal mit dem Exportieren der lokalen Datenbank: 왘
Starten Sie phpMyAdmin im Browser: http://localhost/phpmyadmin/.
왘
Öffnen Sie die gewünschte Datenbank, und klicken Sie oben auf das Register Exportieren.
94
Umzug: Von XAMPP auf den Online-Webspace
왘
Ändern Sie gegebenenfalls die Einstellungen wie in Abbildung 4.15 gezeigt.
왘
Klicken Sie rechts unten auf OK.
Abbildung 4.15 Die Datenbank der Website exportieren
Speichern Sie die Datei auf der Festplatte, und merken Sie sich Ordner und Dateinamen. Schritt 3: Den SQL-Dump auf dem Webspace importieren In diesem Schritt werden die exportierten Daten in die Datenbank auf dem Online-Webspace importiert: 왘
Starten Sie phpMyAdmin auf dem Online-Webspace. Die URL zum Starten von phpMyAdmin erfahren Sie von Ihrem Webhoster.
왘
Klicken Sie links in der Übersicht auf die Datenbank, in die die SQL-Datei importiert werden soll.
왘
Klicken Sie auf das Register Importieren.
95
4.7
4
Die Installation von Contao
왘
Wählen Sie mit einem Klick auf Durchsuchen die in Schritt 2 exportierte SQL-Datei aus, die Sie auf Ihrer Festplatte gespeichert haben.
왘
Klicken Sie rechts unten auf OK.
Abbildung 4.16 Datenbank auswählen und SQL-Datei importieren
Die SQL-Exportdatei wird jetzt auf den Server übertragen und ihr Inhalt in die ausgewählte Datenbank eingelesen. Wenn alles glattgeht, ist die Datenbank kurz danach mit den Daten aus dem SQL-Dump gefüllt worden. Schritt 4: Das Contao-Installtool starten Im vierten und letzten Schritt müssen Sie das Contao-Installtool starten und die letzten Feinheiten erledigen: 왘
Starten Sie das Contao-Installtool auf dem Online-Webspace.
왘
Geben Sie das Passwort für das Contao-Installtool ein, das Sie in der XAMPPInstallation auf Ihrem Rechner benutzt haben.
왘
Falls die Datenbank auf dem Online-Webspace einen anderen Namen oder andere Zugangsdaten hat, müssen Sie die Zugangsdaten zur Datenbank im Installtool aktualisieren.
왘
Prüfen Sie die anderen Einstellungen des Installtools.
Wenn alles okay ist, können Sie sich jetzt am Backend anmelden und die Website online administrieren. Der Umzug ist damit abgeschlossen.
96
Know-how: Dateiberechtigungen – das 1x1 zu 644
4.8
Know-how: Dateiberechtigungen – das 1x1 zu 644
Die meisten Webhoster haben Linux-Server, und unter Linux gibt es ein recht ausgeklügeltes Sicherheitssystem. Das folgende kurze Einmaleins zu Linux-Dateiberechtigungen lesen Sie als Neuling im Bereich Serververwaltung am besten ganz langsam und wenn Sie wirklich wach und aufnahmefähig sind. Los geht’s.
4.8.1
Besitzer, Benutzer und Berechtigungen: 644 und 755
Jeder Ordner und jede Datei hat unter Linux einen Besitzer (Owner). In der Regel ist das der Benutzer, der den Ordner oder die Datei erstellt hat. Dieser Besitzer kann bei Bedarf aber auch nachträglich geändert werden, und zwar mit dem Befehl chown (change owner). Außerdem gibt es für Ordner und Dateien Zugriffsberechtigungen (file permissions), mit denen festgelegt wird, wer was damit machen darf. Diese Berechtigungen kann man mit dem Befehl chmod (change mode) ändern. Auf einem Linux-Server gibt es neben dem Administrator oft noch jede Menge andere Benutzer. Auf einem Shared-Hosting-Server teilen sich viele Kunden einen Server, und in der Regel ist jeder Kunde ein Benutzer. Bei den Dateiberechtigungen werden die Benutzer in drei Klassen eingeteilt: 왘
in den Besitzer einer Datei
왘
in die Gruppe, zu der er gehört
왘
in alle anderen Benutzer auf dem Server
Auch bei den Zugriffsrechten gibt es drei Möglichkeiten, die jeweils eine unterschiedliche Punktzahl bekommen: Recht
Punkte
Lesen
4
Schreiben (ändern, speichern etc.)
2
Ausführen
1
Tabelle 4.1
Dateiberechtigungen unter Linux – Übersicht
Die Punkte für die Zugriffsrechte werden einfach addiert und für alle drei Benutzerklassen hintereinander geschrieben. Zwei weit verbreitete Beispiele sind die Kürzel 644 und 755:
97
4.8
4
Die Installation von Contao
왘
644 bedeutet, dass der Besitzer die Datei lesen und schreiben (4 + 2) darf, die Gruppe und alle anderen hingegen dürfen nur lesen. Das ist bei Dateien auf einem Webspace der Normalfall.
왘
755 heißt, dass der Besitzer alles darf, die Gruppe und alle anderen auf dem Server dürfen nur lesen und ausführen. Ordner haben online oft die Berechtigung 755.
777 bedeutet, dass jeder Benutzer auf dem Server alles damit machen darf. Dateiberechtigungen per FTP-Programm ändern Viele FTP-Programme können dazu benutzt werden, auf dem Webspace die Berechtigungen für Dateien und Ordner zu ändern. Klicken Sie einfach mal mit der rechten Maustaste auf eine Datei, und schauen Sie sich das Kontextmenü an. Vielleicht steht da etwas von CHMOD. Bei FileZilla heißt der Befehl übrigens ganz einfach Dateiberechtigungen...
4.8.2
PHP und Contao: Benutzerrechte, Modul und (Fast)CGI
So weit, so gut, aber warum ist das nun ein Problem? Contao muss, um reibungslos funktionieren zu können, Schreibrechte für seine eigenen Dateien haben, um diese ändern und speichern zu dürfen. Normalerweise wird Contao per FTP hochgeladen. Die dabei erstellten Ordner und Dateien gehören nach dem Hochladen zu Ihrem Benutzernamen, zum Beispiel w0091673. Der Webserver läuft aber unter einem anderen Benutzernamen, zum Beispiel unter wwwrun oder nobody. Spannend wird diese Geschichte nun, wenn der PHP-Interpreter ins Spiel kommt, denn Contao wird vom PHP-Interpreter ausgeführt hat, dieselben Zugriffsrechte, und deshalb ist es so wichtig, unter welchem Benutzernamen PHP läuft: 왘
Wenn der PHP-Interpreter unter einem anderen Benutzer läuft als der FTPBenutzer, dem die Dateien gehören, darf Contao seine eigenen Dateien nicht ändern. Das ist oft der Fall, wenn PHP als Modul läuft.
왘
Wenn der PHP-Interpreter und somit Contao unter dem Namen des FTPBenutzers laufen, gibt es keine Probleme. Das ist bei CGI und FastCGI normalerweise der Fall.
Bei einigen Webhostern gibt es auch Konfigurationen, bei denen PHP als Modul läuft und trotzdem kein Safe Mode Hack benötigt wird, wie zum Beispiel bei iNetRobots.com, der Firma von Contao-Gründer Leo Feyer, und anderen Contao-Partnern. Das ist natürlich im Grunde genommen ideal: Sie haben den schnellen Modulmodus und benötigen trotzdem keinen SMH.
98
Know-how: Dateiberechtigungen – das 1x1 zu 644
4.8.3
Was der Safe Mode Hack genau macht
Dateien haben als Standardzugriffsrecht meist den Wert »644« und Ordner »755«. Das bedeutet, dass sie nur vom Besitzer geändert werden können, alle anderen Benutzer auf dem Server dürfen sie nur lesen. Im Klartext: 왘
Wenn PHP unter einem anderen Benutzernamen läuft als der FTP-Benutzer, darf Contao bei den sicheren Zugriffsrechten 644 und 755 seine eigenen Dateien nicht ändern.
왘
Läuft PHP hingegen unter dem gleichen Namen wie der FTP-Benutzer, hat Contao dessen Rechte und alles funktioniert reibungslos.
Der Safe Mode Hack greift nun, wenn PHP unter einem anderen Benutzernamen als der FTP-Benutzer läuft, und bewirkt, dass Contao beim Ändern der Dateien eine FTP-Verbindung aufbaut und als FTP-Benutzer agiert. Das ist wie erwähnt ganz schön pfiffig und um Klassen besser als ein Sicherheitsloch namens »777«.
4.8.4
Sicherheitsloch: »Alles auf 777« ist keine gute Idee
Die »Triple Seven« von Boeing ist ein wunderbar geräumiges Flugzeug für Langstreckenflüge mit viel Beinfreiheit, die »Triple Seven« als Dateiberechtigung auf einem Webspace ist hingegen keine so gute Idee: Dateien und Ordner mit der Zugriffsberechtigung 777 dürfen von jedem Benutzer auf dem Servercomputer verändert werden. Beim Shared Hosting teilen Sie sich den Server mit vielen anderen Kunden, und ein irgendwo auf diesem Server installiertes bösartiges Programm darf dann auch bei Ihnen sein Unwesen treiben: 왘
777-Dateien können geändert oder gelöscht werden.
왘
777-Ordner sind eine Einladung für »Kuckuckseier«. Fremde Dateien mit dubiosen Inhalten, die in einem Ordner auf Ihrem Webspace liegen und von dort aus serviert werden, ohne dass Sie etwas davon ahnen.
Sie merken schon: 777 ist sehr bequem, aber keine gute Idee, außer für Ordner, in denen temporäre Dateien aufbewahrt werden, die regelmäßig gelöscht werden. Viele Webanwendungen haben aber kein Äquivalent zum Safe Mode Hack anzubieten und empfehlen deshalb, die Zugriffsrechte für bestimmte Dateien und Ordner auf 777 zu stellen, damit die Anwendung überhaupt funktioniert. Auch in Foren wird das manchmal ganz locker als Lösung für alle Probleme empfohlen: »Einfach alles auf 777 setzen, dann funzt das.«
99
4.8
4
Die Installation von Contao
Eine bequeme Lösung ist aber selten eine sichere. Der Contao system check sagt zu diesem Thema: Under no circumstances should you try to solve this problem by changing the file permissions! Versuchen Sie keinesfalls, das Problem durch eine Änderung der Dateiberechtigungen zu lösen! Die Meldung erscheint zwar in kleiner, hellgrauer Schrift, aber die Aussage ist deutlich: Just don’t do it. Vielleicht erzählt Ihnen in einem Forum ein freundlicher Experte, dass 777 nicht wirklich gefährlich sei. Überlegen Sie einfach, ob Sie auf Empfehlung dieses Experten zur Hauptverkehrszeit mit verbundenen Augen eine gut befahrene, mehrspurige Schnellstraße überqueren würden. Wenn nicht, dann ist 777 nichts für Sie. Sie sind dann nicht gutgläubig genug und besitzen zu wenig Risikobereitschaft.
100
In diesem Kapitel machen Sie einen kurzen Rundgang durch das Backend der frisch installierten, noch leeren Website. Dabei erledigen Sie gleich ein paar wichtige Einstellungen und lernen den Dateimanager und die Erweiterungsverwaltung kennen.
5
Ein kurzer Rundgang im Backend
Das Backend ist, wie in Kapitel 2, »Schnelldurchlauf: So funktioniert Contao«, erwähnt wurde, der Administrationsbereich von Contao. Im Backend wird aber nicht nur verwaltet, sondern auch richtig gearbeitet. Bevor Sie im nächsten Kapitel die erste eigene Site mit Contao erstellen, möchte ich Ihnen jetzt das Backend kurz vorstellen.
5.1
Überblick: Das Backend
Rufen Sie im Browser das Backend von Contao auf: 왘
http://localhost/contaobuch/contao/
Nach einer Anmeldung als Administrator sieht das Backend aus wie in Abbildung 5.1.
Abbildung 5.1 Das Backend nach einer Anmeldung als Administrator
101
5
Ein kurzer Rundgang im Backend
Das Backend ist sehr übersichtlich und in drei große Bereiche eingeteilt: 왘
Der Infobereich (oben) enthält die Benutzereinstellungen, eine Frontend-Vorschau, einen Link zur Backend-Startseite und die Abmeldung.
왘
Der Navigationsbereich (links) enthält fünf Gruppen mit Backend-Modulen, die in diesem Kapitel weiter unten kurz vorgestellt werden.
왘
Der Arbeitsbereich (rechts) zeigt jeweils Detailinformationen zum ausgewählten Backend-Modul.
Diese drei Bereiche werden im Folgenden kurz vorgestellt.
5.2
Ganz oben: Der Infobereich
Der Infobereich oben im Backend ist recht schmal und nicht besonders auffällig. Er enthält aber einige nützliche Links.
Abbildung 5.2 Der Infobereich im Backend
Links oben steht zunächst einmal die Versionsnummer von Contao. In der Zeile darunter gibt es, rechtsbündig ausgerichtet, vier Links: 왘
Benutzer zeigt, welcher Benutzer gerade angemeldet ist.
왘
Frontend-Vorschau öffnet das Frontend in einem neuen Tab oder Browserfenster. Dies ist insbesondere dann nützlich, wenn Sie mit verschiedenen Benutzern oder unveröffentlichten Elementen arbeiten.
왘
Startseite führt immer zurück zur Startseite des Backends.
왘
Mit einem Klick auf Abmelden können Sie, ja, genau das.
Nach einem Klick auf den Link Benutzer sehen Sie die Seite Persönliche Daten aus Abbildung 5.3. Auf dieser Seite kann jeder Benutzer seine persönlichen Einstellungen ändern, und zwar Name (den vollständigen, nicht den Benutzernamen), E-Mail-Adresse und Passwort-Einstellungen. Außerdem kann man hier auch die Backend-Einstellungen wie zum Beispiel die im Backend verwendete Sprache festlegen und den Cache leeren. In Abbildung 5.3 steht ganz oben groß, grün und mit einem Pfeil davor die ID des gerade bearbeiteten Datensatzes. Eine ähnliche Mitteilung werden Sie des Öfteren sehen, denn in Contao ist alles ein Datensatz, egal ob Benutzer, Seite, Artikel oder Inhaltselement, und jeder Datensatz hat eine ID.
102
Links: Der Navigationsbereich (Backend-Module)
Abbildung 5.3 »Persönliche Daten« von Administrator Kevin Jones
Ganz unten gibt es in Abbildung 5.3 zwei Schaltflächen zum Speichern: Speichern speichert die aktuellen Einstellungen in der Datenbank, lässt das Formular aber geöffnet. Speichern und schliessen macht genau das, was draufsteht. Der Aufbau des Arbeitsbereiches Der übersichtliche, zweispaltige Aufbau des Arbeitsbereiches ist typisch für Contao. Die einzelnen Rubriken können Sie mit einem Klick auf die grüne Überschrift ein- und ausblenden. Contao merkt sich diese Einstellungen, und zwar pro Benutzer.
5.3
Links: Der Navigationsbereich (Backend-Module)
Der Navigationsbereich ordnet die zur Verfügung stehenden Backend-Module in fünf Kategorien:
103
5.3
5
Ein kurzer Rundgang im Backend
왘
Inhalte. In dieser Kategorie befinden sich alle Module, die Inhalt für die Webseiten erzeugen: Artikel, Nachrichten und einiges mehr.
왘
Layout. Die Module in dieser Kategorie haben mit Struktur und Aussehen der Site zu tun.
왘
Benutzerverwaltung. Contao kennt Mitglieder (Frontend-Benutzer) und Benutzer (Backend-Benutzer).
왘
System enthält diverse Module zur Konfiguration und Wartung der ContaoInstallation.
왘
Benutzerfunktionen zeigt Module für den angemeldeten Benutzer.
Mit einem Klick auf das Minus- bzw. Plus-Zeichen vor dem Namen der Kategorie können Sie die Bereiche einfach ein- und ausblenden, je nachdem, wie Sie es gerade gern hätten. Die einzelnen Backend-Module lernen Sie im weiteren Verlauf des Buches ausführlich kennen.
5.4
Rechts: Der Arbeitsbereich
Der Arbeitsbereich trägt seinen Namen nicht zu Unrecht, denn nach der Auswahl des gewünschten Backend-Moduls links im Navigationsbereich geht es rechts an die Arbeit. Hier werden Sie einen Großteil Ihrer Zeit verbringen. Auf der Startseite enthält der Arbeitsbereich unter anderem eine Übersicht der wichtigsten Tastenkürzel. Mausfans dürfen natürlich auch weiterhin gern auf die entsprechenden Links und Schaltflächen klicken, aber die Tastaturkürzel sind eine echte Arbeitserleichterung. Windows
Mac
Aktion
(Alt)+ (s)
(Ctrl) + (s)
Speichern
(Alt)+ (c)
(Ctrl) + (c)
Speichern und schließen (Close)
(Alt)+ (e)
(Ctrl) + (e)
Speichern und bearbeiten (Edit)
(Alt)+ (n)
(Ctrl) + (n)
Neues Element
(Alt)+ (b)
(Ctrl) + (b)
Zurück (Back)
(Alt)+ (t)
(Ctrl) + (t)
Nach oben (Top)
(Alt)+ (f)
(Ctrl) + (f)
Frontend-Vorschau
(Alt)+ (q)
(Ctrl) + (q)
Abmelden (Quit)
Tabelle 5.1
104
Die wichtigsten Tastenkürzel im Backend
»System 폷 Einstellungen«
Probieren Sie es einfach einmal aus: 왘
Rufen Sie den Bereich Persönliche Daten auf (im Infobereich).
왘
(Alt)+ (c) entspricht einem Klick auf Speichern und schliessen.
Je nach Browser und Betriebssystem können diese Kürzel ein bisschen abweichen. So müssen Sie in Mozilla Firefox und Google Chrome unter Windows gleichzeitig (Alt) + (ª) drücken und gedrückt halten. Die (ª)-Taste wird übrigens manchmal auch (Shift) genannt und dient zum Großschreiben einzelner Buchstaben. Nacheinander gedrückt dient die Kombination (Alt) + (ª) unter Windows übrigens zum Wechseln zwischen installierten Tastaturlayouts (Englisch, Deutsch, Niederländisch etc.). Wenn Ihre Tastatur also plötzlich keine Umlaute ausgibt und »y« und »z« vertauscht sind, drücken Sie einfach noch ein- oder zweimal (Alt) + (ª). Mozilla Firefox: Kürzel nur mit (ALT)-Taste aufrufen Wenn Sie auch im Firefox die Tastenkürzel lieber nur mit der (Alt)-Taste eingeben möchten (statt mit (Alt) + (ª)), können Sie das ändern: 왘
Geben Sie im Firefox in der Adresszeile »about:config« ein.
왘
Bestätigen Sie die Meldung, dass Sie vorsichtig sein werden (und seien Sie es auch wirklich).
왘
Geben Sie oben im Filter die Zeichen »ui.« ein. Das steht für user interface, auf Deutsch Benutzeroberfläche, und danach sehen Sie nur noch Einstellungen, die mit diesen Zeichen beginnen.
왘
Doppelklicken Sie in der Zeile ui.key.chromeAccess auf den Wert, und ändern Sie ihn von »4« auf »5«.
왘
Ändern Sie in der Zeile ui.key.contentaccess darunter den Wert von »5« auf »4«.
Die Änderungen werden nach der Bestätigung mit OK ohne Speicherung und ohne Neustart des Firefox sofort wirksam. Probieren Sie es aus.
5.5
»System 폷 Einstellungen«
Im Backend-Modul System 폷 Einstellungen werden die wichtigsten Systemeinstellungen vorgenommen. Auch hier können Sie mit einem Klick auf den grünen Titel die einzelnen Rubriken ein- und ausblenden. In diesem Kapitel lernen Sie erst einmal die allerwichtigsten Bereiche kennen.
105
5.5
5
Ein kurzer Rundgang im Backend
5.5.1
Der »Titel der Webseite«
Gleich die allererste Option heißt Titel der Webseite (Abbildung 5.4).
Abbildung 5.4 Neulich im »Backend 폷 System 폷 Einstellungen«
Der hier eingegebene Titel der Webseite wird bei der Erstellung des für Suchmaschinen wichtigen title-Elements im Head einer Website verwendet, und zwar zusammen mit dem Titel der einzelnen Webseiten, den Sie später bei der Erstellung der Seiten definieren. Dabei benutzt Contao zuerst den Titel der Seite und dann nach einem Bindestrich den hier definierten »Titel der Webseite«. Im folgenden ToDo ändern Sie diesen Titel der Webseite. ToDo: »Titel der Webseite« ändern 1. Öffnen Sie das Backend-Modul System 폷 Einstellungen. 2. Ändern Sie den Titel in »Websites erstellen mit Contao«. 3. Klicken Sie weiter unten auf Speichern und schliessen (oder probieren Sie das oben beschriebene Tastaturkürzel (Alt) + (c)).
Klicken Sie nach dem Speichern rechts oben im Infobereich auf Startseite. Auf der Backend-Startseite sehen Sie links oben im Arbeitsbereich gleich zweimal den neuen Titel Websites erstellen mit Contao, einmal in Weiß und einmal in Grün (Abbildung 5.5). Der hier eingegebene Titel der Website kann später in einem sogenannten Startpunkt einer Webseite überschrieben werden. Mehr dazu finden Sie in Kapitel 6, »Die erste Website mit Contao«.
106
»System 폷 Einstellungen«
Abbildung 5.5 Der »Titel der Webseite« auf der Startseite des Backends
Webseite vs. Website Die Begriffe rund um das Webpublishing stammen aus dem Englischen, und bei der Übertragung ins Deutsche passieren manchmal seltsame Dinge. So wurde eine web page auf Deutsch zu einer Webseite, aber das englische web site als Bezeichnung für eine Menge zusammengehörender Webseiten hat keine wirklich gelungene deutsche Entsprechung gefunden. In der deutschen Übersetzung von Contao meint der Begriff Webseite denn auch nicht nur eine einzelne Webseite, sondern manchmal auch die Website. Diese doppelte Bedeutung von Webseite findet man im deutschsprachigen Web häufiger, aber bisweilen führt es zu Verwirrungen, wie hier bei Titel der Webseite. Ich werde an den entsprechenden Stellen darauf hinweisen oder gleich die Begriffe Site bzw. Website benutzen.
5.5.2
Das Format für Angaben von Datum und Zeit
Der nächste Bereich in System 폷 Einstellungen heißt Datum und Zeit.
Abbildung 5.6 »System 폷 Einstellungen 폷 Datum und Zeit«
Die Standardvorgabe ist dort Y-m-d, was auf einer Webseite als 2010-07-23 dargestellt wird. Dieses Datumsformat ist zwar sehr praktisch, aber eher ungewöhnlich. Mit einem Klick auf das rot umrandete Dreieck bekommen Sie eine kurze Hilfestellung zu den möglichen Datumsformaten. Für eine deutsche Website ist zum Beispiel d.m.Y nicht schlecht, was als 22.07.2010 dargestellt wird. Für die Uhrzeit ergibt H:i das Format 14:58.
107
5.5
5
Ein kurzer Rundgang im Backend
ToDo: Das Datumsformat einstellen 1. Öffnen Sie das Backend-Modul System 폷 Einstellungen. 2. Geben Sie als Datumsformat das Kürzel d.m.Y ein. 3. Das Zeitformat soll H:i sein. 4. Datums- und Zeitformat ist die Kombination: d.m.Y H:i 5. Zeitzone ist Europe/Berlin, wenn der Computer, auf dem der Webserver läuft, in Deutschland steht. 6. Speichern und schliessen.
Genau wie der Titel können die Einstellungen für Datum und Uhrzeit später in einem Startpunkt einer Webseite überschrieben werden. Speicherzeiten: Die Verfallszeit einer Session eventuell erhöhen Im Bereich Speicherzeiten regelt die Verfallszeit einer Session, wie lange Sie im Backend inaktiv sein können, bevor Sie sich wieder anmelden müssen. Gemessen wird in Sekunden, und die Standardeinstellung ist 3600. Falls Sie sich während der Lektüre dieses Buches im Backend zu oft wieder anmelden müssen, erhöhen Sie diese Zahl auf z. B. 36000. Später sollten Sie die letzte Null wieder entfernen.
5.6
Der Dateimanager: »System 폷 Dateiverwaltung«
In diesem Abschnitt lernen Sie die Dateiverwaltung von Contao kennen. Dahinter verbirgt sich ein Dateimanager, mit dem Sie ohne FTP-Programm Dateien von einem lokalen Rechner auf den Servercomputer übertragen und dort verwalten können. Der Zugriff des Dateimanagers ist aus Sicherheitsgründen auf den Upload-Ordner tl_files und dessen Unterordner begrenzt. Alle Dateien, die Sie für Ihre Website benötigen und die nicht zur Contao-Installation gehören, werden unterhalb dieses Ordners gespeichert: zum Beispiel Grafiken für das Theme, Fotos für Artikel oder zum Download angebotene PDFs. »tinymce.css« und »tiny_templates« gibt es schon Bereits vorhanden sind die Datei tinymce.css und ein Ordner namens tiny_templates. Mehr zu diesen beiden erfahren Sie in Kapitel 22.2, »Tipps und Tricks zum TinyMCE«, bei der Optimierung des Editors TinyMCE.
108
Der Dateimanager: »System 폷 Dateiverwaltung«
5.6.1
Ordner erstellen mit dem Dateimanager
In diesem Abschnitt erstellen Sie eine Ordnerstruktur zur Ablage von Dateien (Abbildung 5.7).
Abbildung 5.7 Empfohlene Ordnerstruktur unterhalb von »tl_files«
Diese Ordner werden Sie im weiteren Verlauf des Buches benutzen: 왘
In beispielsite/content/ bewahren Sie alle für den Inhalt der Beispielsite relevanten Medien, wie z. B. Fotos und Bilder, auf.
왘
Für beispielsite/downloads/ erstellen Sie in Kapitel 19.5 einen geschützten Download-Bereich.
왘
Der Ordner importieren ist eine Zwischenstation für alles, was im Verlaufe des Buches in Contao importiert wird.
왘
Im Unterordner themes/blaues_theme speichern Sie alle Dateien, die zu diesem Theme gehören.
Im folgenden ToDo erstellen Sie diese Ordnerstruktur. ToDo: Eine Ordnerstruktur für die Beispielsite anlegen 1. Öffnen Sie das Backend-Modul Dateiverwaltung. 2. Klicken Sie oben im Arbeitsbereich auf Neuer Ordner. Daraufhin erscheinen am rechten Rand braun hinterlegte, leicht blinkende weiße Pfeile. 3. Klicken Sie auf den Pfeil neben Dateisystem, um einen Ordner auf der obersten Ebene einzufügen. 4. Geben Sie den Namen »beispielsite« ein. 5. Klicken Sie auf Speichern und schliessen. 6. Erstellen Sie auf diese Art und Weise die in Abbildung 5.7 dargestellte Ordnerstruktur.
109
5.6
5
Ein kurzer Rundgang im Backend
Falls nicht gleich alles auf Anhieb funktioniert, können Sie die Ordner mit dem blauen Pfeil verschieben und mit dem roten X löschen. Bevor Sie im nächsten Abschnitt ein paar Dateien hochladen, erstellen Sie noch schnell einen Ordner unterhalb von templates, den Sie später bei der Erstellung des ersten Themes benötigen. Dazu wechseln Sie in das Backend-Modul Templates, da der Dateimanager nur unterhalb des Ordners tl_files zuständig ist. ToDo: Einen neuen Ordner anlegen 1. Wechseln Sie in das Backend-Modul Templates. 2. Klicken Sie oben im Arbeitsbereich auf Neuer Ordner. 3. Klicken Sie rechts neben Dateisystem auf das braune Symbol mit dem weißen Pfeil nach rechts. 4. Der Name des Ordners soll »blaues_theme« sein. 5. Speichern und schliessen Sie.
5.6.2
Dateien mit dem Dateimanager hochladen
Nach dem Erstellen der Ordnerstruktur laden Sie in diesem Abschnitt mit dem Dateimanager ein paar Dateien auf den Webspace hoch. Als Übungsobjekt dienen dabei ein Vorschaubild namens screenshot.jpg und zwei Grafiken mit einem Farbverlauf (engl. gradient). header_gradient.jpg enthält einen dunkelblauen Balken mit einem leichten blauen Farbverlauf darunter und wird in Kapitel 8, »Navigationen erstellen in Contao«, zur Gestaltung des Kopfbereichs eingesetzt. graydient.jpg ist ein grauer Farbverlauf und kommt erst in Kapitel 16 auf der Startseite zum Einsatz. Im folgenden ToDo laden Sie diese Grafiken hoch. ToDo: Dateien mit dem Dateimanager hochladen 1. Öffnen Sie das Backend-Modul Dateiverwaltung. 2. Klicken Sie oben im Arbeitsbereich auf Datei-Upload. 3. Wählen Sie den Ordner themes/blaues_theme/grafiken mit einem Klick auf den braun hinterlegten, blinkenden Pfeil daneben. 4. Wählen Sie per Durchsuchen die drei Grafikdateien von der Buch-DVD aus dem Ordner grafiken für Kapitel 5. 5. Klicken Sie auf Dateien hochladen und zurück.
110
Der Dateimanager: »System 폷 Dateiverwaltung«
Abbildung 5.8
Der Dateimanager mit den hochgeladenen Grafiken
Falls Sie die Vorschaubilder für die Grafiken nicht sehen möchten, können Sie diese in den Benutzereinstellungen deaktivieren. Dazu klicken Sie entweder oben im Infobereich auf den Benutzernamen oder links unten im Navigationsbereich auf Benutzerfunktionen 폷 Persönliche Daten. In beiden Fällen kommen Sie in eine Eingabemaske, in der Sie im Bereich Backendeinstellungen die Option Vorschaubilder anzeigen sehen und bei Bedarf ausstellen können. Wenn Sie Grafiken hochladen, werden diese automatisch auf 800 × 600 Pixel verkleinert. Die Standardeinstellungen für den Upload von Dateien können Sie im Backend-Modul System 폷 Einstellungen ändern, und zwar in den Bereichen Dateien und Bilder und Datei-Uploads. »FancyUpload« aktivieren Falls Sie oft mehrere Dateien auf einmal hochladen, können Sie in den Benutzereinstellungen (Persönliche Daten) das Häkchen bei FancyUpload aktivieren setzen. Daraufhin erscheint beim Hochladen von Dateien statt einzelner Durchsuchen-Felder ein FlashProgramm, mit dem Sie mehrere Dateien auf einmal hochladen können.
111
5.6
5
Ein kurzer Rundgang im Backend
5.7
Erweiterungen installieren
In der Einleitung haben Sie gelesen, dass wichtige Erweiterungen wie Nachrichten, Kalender und Newsletter im Kern von Contao integriert sind und sofort nach der Installation zur Verfügung stehen. Zusätzlich gibt es Hunderte von Erweiterungen, die die Funktionalität des Kerns fast beliebig erweitern und die sich komfortabel aus dem Backend heraus installieren lassen.
5.7.1
Die Erweiterungsliste auf »contao.org«
Die Erweiterungen zu Contao werden in einer zentralen Erweiterungsliste auf contao.org gesammelt, die auch unter dem Namen Extension Repository bekannt ist. Sie müssen also auf der Suche nach einer bestimmten Erweiterung nicht das ganze Web durchsuchen, sondern nur zu einer Adresse surfen: 왘
http://www.contao.org/erweiterungsliste.html
Abbildung 5.9
Der Erweiterungskatalog auf »contao.org«
Noch besser ist, dass Sie vom Backend aus Zugriff auf das Extension Repository haben und den Katalog durchsuchen können.
5.7.2
Erweiterungen aus dem Backend heraus installieren
Um den Erweiterungskatalog und die Erweiterungsverwaltung kennenzulernen, installieren Sie in diesem Abschnitt die Erweiterung [BackupDB] von Hagen
112
Erweiterungen installieren
Klemp, die eine bequeme Sicherung der Contao-Datenbank aus dem Backend heraus ermöglicht (siehe auch Kapitel 21.4, »Backups erstellen«).
Abbildung 5.10 Der Erweiterungskatalog im Backend
ToDo: Die Erweiterung »[BackupDB]« installieren 1. Öffnen Sie das Backend-Modul System 폷 Erweiterungskatalog. 2. Falls Sie die Erweiterung [BackupDB] nicht bereits sehen, geben Sie oben im Arbeitsbereich im Feld Suchen das Wort »backup« ein. 3. Klicken Sie in der Liste der gefundenen Erweiterungen auf die grünen Buchstaben [BackupDB], um sich Details zu dieser Erweiterung anzeigen zu lassen. 4. Klicken Sie nach dem Lesen der Infos links unten auf die Schaltfläche Installieren. 5. Auf der nächsten Seite sehen Sie eine kurze Zusammenfassung. Bestätigen Sie die Infos mit einem Klick auf Weiter. 6. Nach der Installation landen Sie im Backend-Modul Erweiterungsverwaltung, in dem die neue Erweiterung bereits angezeigt wird.
Nach diesem ToDo sieht das Backup-Modul System 폷 Erweiterungsverwaltung so aus wie in Abbildung 5.11.
Abbildung 5.11 Die Erweiterungsverwaltung mit der Erweiterung »[BackupDB]«
113
5.7
5
Ein kurzer Rundgang im Backend
In der Erweiterungsverwaltung erhalten Sie einen Überblick über die installierten Erweiterungen und können sie mit den Symbolen rechts daneben bearbeiten, löschen oder aktualisieren. Sobald im Erweiterungskatalog eine neuere Version der Erweiterung vorliegt, wird der Status von Aktuell auf Neue Version verfügbar gesetzt, und Sie können die Erweiterung mit einem Klick auf den grün hinterlegten weißen Haken ganz rechts aktualisieren. Backup erstellen Wenn Sie im Verlauf des Buches ein Backup von der Beispielsite erstellen möchten, finden Sie in Kapitel 21.4, »Backups erstellen«, eine kurze Anleitung dazu.
114
TEIL III Schritt für Schritt zur ersten Website
In diesem Kapitel erstellen Sie die erste Site mit Contao. Die Reise beginnt mit der Erstellung einer Seitenstruktur und geht über Themes und Seitenlayouts weiter zu Frontend-Modulen bis zum ersten Stylesheet. Sie endet mit einem Artikel sowie einem Blick auf ein Template. Den Abschluss bildet ein Überblick über das Zusammenspiel der Komponenten von Contao.
6
Die erste Website mit Contao
Anfangs kommen einem bei der Arbeit mit Contao Begriffe wie Seite, Theme, Seitenlayout, Frontend-Modul, Stylesheet, Artikel und Inhaltselement wie einzelne Puzzleteile vor, die oft nicht so richtig zusammenpassen wollen. Dieses Kapitel erläutert das Zusammenspiel dieser Komponenten und hilft Ihnen bei der Eingewöhnung.
6.1
»No pages found« – Die Seitenstruktur erstellen
Wenn Sie unter der Adresse http://localhost/contaobuch das Frontend der frisch installierten Beispielsite aufrufen, ist es recht übersichtlich. Links oben steht die Meldung »No pages found«, und sonst ist nichts zu sehen (Abbildung 6.1).
Abbildung 6.1 Das Frontend nach der Installation einer leeren Site
117
6
Die erste Website mit Contao
Das ist nicht gerade spektakulär, aber der Befund »No pages found« entspricht den Tatsachen, denn im Backend gibt es tatsächlich noch keine Seiten.
6.1.1
Der Startpunkt für eine neue Website
Die erste Seite, die Sie im Seitenbaum erstellen, ist gleich etwas ganz Besonderes, nämlich ein sogenannter Startpunkt einer Webseite. Mit Webseite ist in diesem Fall die Website gemeint, denn Contao kann in einer Installation mehrere Websites verwalten, und im Seitenbaum beginnt jede Site mit einem solchen Startpunkt. Mit Startpunkt ist übrigens nicht die Startseite für Besucher im Frontend gemeint. Ein Startpunkt dient lediglich zu Verwaltungszwecken im Backend und taucht im Frontend nicht auf. ToDo: Den »Startpunkt einer Webseite« erstellen 1. Rufen Sie das Backend von Contao auf, und melden Sie sich als Administrator an: http://localhost/contaobuch/contao/ 2. Öffnen Sie das Backend-Modul Seitenstruktur. 3. Klicken Sie im Arbeitsbereich oben auf Neue Seite. 4. Daraufhin erscheint eine Zeile mit dem in System 폷 Einstellungen vergebenen Titel der Webseite: Websites erstellen mit Contao. 5. Klicken Sie in dieser Zeile ganz rechts auf das blinkende braune Symbol mit dem Pfeil nach rechts, um eine neue Seite einzufügen. 6. Geben Sie im Feld Seitenname »Beispielsite Contaobuch« ein. 7. Wählen Sie als Seitentyp die Option Startpunkt einer Webseite. 8. Aktivieren Sie im Bereich Veröffentlichung weiter unten das Kontrollkästchen Seite veröffentlichen. 9. Bestätigen Sie die Einstellungen mit Speichern und Schliessen.
Abbildung 6.2 zeigt diese Einstellungen im Überblick. Das Häkchen bei Seite veröffentlichen ist wichtig, denn sonst wird zwar in der Datenbank eine Seite angelegt, diese bleibt aber offline. Nach dem Klick auf Speichern und Schliessen sieht der Seitenbaum im Backend so aus wie in Abbildung 6.3. Am rechten Seitenrand sehen Sie Symbole zur Bearbeitung der Seite. Wenn Sie mit der Maus kurz über einem Symbol verweilen, bekommen Sie einen kleinen Hinweis. Für den folgenden Abschnitt ist der gelbe Bleistift ganz links am wichtigsten. Ein Klick darauf öffnet die Seite zur Bearbeitung.
118
»No pages found« – Die Seitenstruktur erstellen
Abbildung 6.2 Den Startpunkt einer Webseite erstellen
Abbildung 6.3 Die Seitenstruktur mit dem Startpunkt einer Webseite
6.1.2
Sprachen-Fallback für den Startpunkt aktivieren
Viele der zahlreichen Einstellungen für einen Startpunkt, die Sie in Abbildung 6.2 sehen, werden erst wichtig, wenn in einer Contao-Installation mehrere Websites verwaltet werden. Eine Sache hingegen sollte sofort erledigt werden, damit sie
119
6.1
6
Die erste Website mit Contao
später nicht zu Problemen führt, und das ist der Sprachen-Fallback. Im folgenden ToDo ändern Sie diese Einstellung. ToDo: Sprachen-Fallback für den Startpunkt definieren 1. Öffnen Sie das Backend-Modul Seitenstruktur. 2. Klicken Sie neben dem Startpunkt Beispielsite Contaobuch auf den gelben Bleistift, um die Seite zu bearbeiten. 3. Blenden Sie den Bereich DNS ein, in dem Sie auf die grüne Überschrift klicken. DNS steht für Domain Name System. 4. Lassen Sie das Feld Domainname frei. 5. Überprüfen Sie, ob im Feld Sprache der Wert »de« steht. 6. Aktivieren Sie das Kontrollkästchen Sprachen-Fallback. 7. Speichern Sie die Einstellungen mit Speichern und Schliessen.
Abbildung 6.4 Sprachen-Fallback für den Startpunkt definieren
Der Hintergrund dieser Einstellung ist, dass ein Browser dem Webserver mitteilt, in welcher Sprache er die Webseiten am liebsten hätte. Die bevorzugte Sprache kann man in jedem Browser einstellen, im Firefox zum Beispiel unter Extras 폷 Einstellungen 폷 Inhalt 폷 Sprachen. Ist im Startpunkt nur die Sprache de eingetragen, werden die Webseiten von Contao nur an Browser ausgeliefert, die sich als Sprache Deutsch wünschen. Ausländische Browser mit anderen Sprachwünschen bekämen die Meldung »No pages found«, da in der vom Browser gewünschten Sprache keine Seiten existieren. Sie selbst merken davon nichts, solange in Ihrem Browser de als erste Sprache eingestellt ist. Das Häkchen bei Sprachen-Fallback bewirkt, dass die Webseiten unterhalb dieses Startpunktes angezeigt werden, wenn es keine passende Sprache gibt.
120
»No pages found« – Die Seitenstruktur erstellen
6.1.3
Die Startseite für die Beispielsite erstellen
Nachdem der Startpunkt der Webseite jetzt eingerichtet ist, erstellen Sie in diesem Abschnitt die Startseite für die Besucher der Website. ToDo: Eine Startseite für die Beispielsite erstellen 1. Öffnen Sie das Backend-Modul Seitenstruktur. 2. Klicken Sie im Arbeitsbereich oben auf Neue Seite. 3. Klicken Sie in der Zeile Beispielsite Contaobuch ganz rechts auf das blinkende braune Symbol mit dem Pfeil nach rechts, um die neue Seite als Unterseite des Startpunktes einzufügen. 4. Schreiben Sie im Bereich Name und Typ in das Feld Seitenname das Wort »Startseite«. 5. Prüfen Sie, ob bei Seitentyp die Option Reguläre Seite ausgewählt ist. 6. Aktivieren Sie weiter unten im Bereich Veröffentlichung die Option Seite veröffentlichen. 7. Sie können sich die zahlreichen anderen Optionen auf dieser Seite gerne anschauen, aber lassen Sie sie vorerst unverändert. Diese Optionen kommen später an die Reihe. 8. Beenden Sie die Bearbeitung mit einem Klick auf Speichern und Schliessen, um zum Seitenbaum zurückzukehren.
Nach diesem ToDo sieht der Seitenbaum so aus wie in Abbildung 6.5. Falls Sie nicht alle Seiten sehen, klicken Sie auf das Pluszeichen vor dem Startpunkt oder oben im Arbeitsbereich auf Alle öffnen/schliessen.
Abbildung 6.5 Der Seitenbaum mit Startpunkt und Startseite
Wie Sie sehen, hat die Startseite ein anderes Symbol und ist etwas nach rechts eingerückt. Wenn Sie auf das Minus-Zeichen vor dem Startpunkt Beispielsite Contaobuch klicken, sollte die Startseite nicht mehr zu sehen sein. Sehen Sie die Startseite trotzdem noch, befinden sich die Startseite und der Startpunkt auf einer
121
6.1
6
Die erste Website mit Contao
Ebene. Verschieben Sie dann die Startseite mit einem Klick auf den blauen Pfeil, und fügen Sie sie mit den braun hinterlegten Pfeilen an der richtigen Stelle wieder ein. Eine Seite ist auch nur ein Datensatz Wenn Contao eine Seite erstellt, dann ist das keine statische Webseite, die als Datei irgendwo auf dem Webspace gespeichert wird, sondern nur ein Datensatz in einer Datenbanktabelle. Deshalb heißt die Startseite hier auch nicht index.html oder index.php, sondern einfach nur Startseite. Eine im Browser sichtbare Webseite wird daraus erst durch das am Ende dieses Kapitels beschriebene Zusammenspiel aller Komponenten.
6.1.4
Die Seitenstruktur für die Beispielsite erweitern
Eine Contao-Website kann aus Hunderten oder Tausenden von Webseiten bestehen, aber zum Üben fangen Sie erst einmal mit vier Seiten an. Später werden es dann noch mehr. ToDo: Die Seitenstruktur für die Beispielsite erweitern 1. Öffnen Sie das Backend-Modul Seitenstruktur. 2. Klicken Sie im Arbeitsbereich oben auf den Link Neue Seite. 3. Klicken Sie in der Zeile Startseite rechts auf das kleine braune Symbol mit dem Pfeil nach unten, um die neue Seite auf derselben Ebene wie die Startseite einzufügen. 4. Schreiben Sie im Bereich Name und Typ in das Feld Seitenname den Wert »Downloads«. 5. Prüfen Sie, ob bei Seitentyp Reguläre Seite ausgewählt ist. 6. Aktivieren Sie weiter unten im Bereich Veröffentlichung die Option Seite veröffentlichen. 7. Beenden Sie die Bearbeitung dieses Mal der Abwechslung halber mit einem Klick auf Speichern und neu. Sie bekommen dann sofort das Formular für die nächste neue Seite. 8. Erstellen Sie zwei weitere reguläre Seiten mit den Seitennamen »Kontakt« und »Impressum«. 9. Vergessen Sie nicht, die Seiten zu veröffentlichen. 10.Beenden Sie die Erstellung der letzten Seite mit einem Klick auf die Schaltfläche Speichern und Schliessen.
122
»No pages found« – Die Seitenstruktur erstellen
Nach diesem ToDo sieht der Seitenbaum im Backend so aus wie in Abbildung 6.6.
Abbildung 6.6 Der erweiterte Seitenbaum mit vier Seiten
Und so setzt sich dieser übersichtliche kleine Seitenbaum zusammen: 왘
Ganz oben steht die nicht anklickbare Überschrift Websites erstellen mit Contao. Das ist der Name für die gesamte Contao-Installation, den Sie in System 폷 Einstellungen festgelegt haben.
왘
Darunter gibt es einen Startpunkt der Webseite mit dem Namen Beispielsite Contaobuch. Das ist der Name der Website.
왘
Unterhalb des Startpunktes gibt es vier reguläre Webseiten: Startseite, Downloads, Kontakt und Impressum.
Diese vier Webseiten sollten übrigens alle auf derselben Ebene liegen und gerade untereinander stehen, mit keinerlei Einrückungen nach links oder rechts. Drei Klick-Tipps für die Arbeit mit dem Seitenbaum Bei der Arbeit mit dem Seitenbaum gibt es einige sehr hilfreiche Klicks: 왘
Ein Klick auf das Symbol vor dem Seitennamen zeigt eine Vorschau dieser Seite in einem neuen Tab oder Browserfenster an. Momentan kommt zwar nur die Meldung No layout specified, aber später werden Sie diese Vorschau oft benutzen.
왘
Ein Klick auf den Seitennamen verkürzt den Seitenbaum und beginnt ihn mit der angeklickten Seite. Die vorherigen Ebenen stehen als Navigationspfad hellgelb hervorgehoben über dem Seitenbaum.
왘
Ein Klick auf das letzte Symbol ganz rechts bringt Sie später direkt zur Bearbeitung der Artikel für diese Seite. Momentan gibt es da noch nicht so viel zu tun, aber später ist das sehr praktisch.
123
6.1
6
Die erste Website mit Contao
6.2
»No layout found« – Theme und Seitenlayout erstellen
Falls Sie nach der Erstellung des Seitenbaums das Frontend bereits im Browser betrachtet haben, sehen Sie zwar immer noch keine Webseite, aber die Meldung links oben hat sich geändert und lautet jetzt »No layout specified« (Abbildung 6.7).
Abbildung 6.7 »No layout specified« – neue Meldung im Frontend
Im Schnelldurchlauf am Anfang des Buches haben Sie gesehen, dass jede Seite aus dem Seitenbaum auf einem Seitenlayout basiert. Zur Beseitigung der Fehlermeldung benötigen Sie also ein Seitenlayout, und da ein solches Seitenlayout immer zu einem Theme gehört, müssen Sie zunächst einmal ein Theme erstellen.
6.2.1
Das erste Theme erstellen
Ein Theme bestimmt das Aussehen der Website und ist eine Sammlung aus Seitenlayouts, Stylesheets und Frontend-Modulen, die durch Templates und LayoutGrafiken ergänzt werden. Mit einem Theme kann man einer Site ein anderes Design geben, ohne den Inhalt zu verändern. Ein Theme muss zunächst einen Namen haben und wissen, in welchen Ordnern die dazugehörigen Dateien aufbewahrt werden. Das Theme, das Sie im folgenden ToDo erstellen, heißt schlicht und einfach Blaues Theme, da Blau die Farbe der Wahl für die Beispielsite ist, die Sie in den nächsten Kapiteln erstellen. ToDo: Ein neues Theme erstellen 1. Öffnen Sie das Backend-Modul Themes. 2. Klicken Sie im Arbeitsbereich oben auf den Link Neues Theme. 3. Geben Sie im Feld Theme-Titel »Blaues Theme« ein.
124
»No layout found« – Theme und Seitenlayout erstellen
ToDo: Ein neues Theme erstellen (Forts.) 4. Geben Sie im Feld Autor Ihren Namen ein. 5. Wählen Sie als Ordner themes/blaues_theme/. Dieser Ordner liegt unterhalb von tl_ files und enthält den Ordner mit den Layout-Grafiken. 6. Klicken Sie im Bereich Templates-Ordner auf Datei auswählen, und wählen Sie den Ordner blaues_theme. Dieser Ordner liegt unterhalb von templates und enthält speziell für das Theme angepasste Templates. 7. Wählen Sie als Bildschirmfoto folgende Datei aus: themes/blaues_theme/grafiken/screenshot.png 8. Beenden Sie die Erstellung des Themes mit Speichern und Schliessen.
Nach der Erstellung des Themes und dem Schließen des Dialogfeldes sieht das Backend-Modul Themes so aus wie in Abbildung 6.8.
Abbildung 6.8 Das frisch erstellte Theme im Backend
Unter »B« wie »Blaues Theme« wird das neue Theme gelistet. Das Bildschirmfoto hat eine Größe von 175 × 120 Pixel. Die Abbildung ist ihrer Zeit ein bisschen voraus, aber so wissen Sie schon einmal ungefähr, wohin die Reise geht. Rechts sehen Sie sieben Symbole, die zum Bearbeiten des Themes dienen. Das sind der Reihe nach: 왘
Bearbeiten der Theme-Einstellungen Der gelbe Bleistift steht für die Bearbeitung. Hier können Sie die Einstellungen für das aktuelle Theme ändern: Name, Autor und die zugewiesenen Ordner.
왘
Theme löschen Ein Klick auf das rote X löscht das Theme. Es erscheint eine Sicherheitsfrage, und danach wird gelöscht.
125
6.2
6
Die erste Website mit Contao
왘
Details zum Theme anzeigen Ein Klick auf das kleine »i« im blauen Kreis zeigt alle Details zum Theme in einer kleinen Übersicht.
왘
Stylesheets erstellen und bearbeiten Mit dem CSS-Symbol können Sie die Stylesheets für das Theme erstellen. Das werden Sie in diesem Kapitel auch noch tun.
왘
Frontend-Module erstellen und bearbeiten Ein Klick auf das fünfte Symbol führt Sie zur Bearbeitung der FrontendModule, die den Quelltext für das Frontend erzeugen. Auch das werden Sie in diesem Kapitel noch kennenlernen.
왘
Seitenlayouts erstellen und bearbeiten Ein Seitenlayout sorgt für die Darstellung der Seite. Direkt im Anschluss an diesen Abschnitt erstellen Sie das erste Seitenlayout.
왘
Theme exportieren Ein Theme zu »exportieren« bedeutet, dass alle Stylesheets, Frontend-Module, Seitenlayouts und auch die beiden zum Theme gehörenden Ordner in ein ZIPArchiv gepackt und lokal gespeichert werden. Dieses ZIP-Archiv kann auf einer anderen Contao-Site wieder importiert werden.
So viel zur Erstellung eines Themes. In den folgenden Abschnitten werden Sie der Reihe nach ein Seitenlayout, ein paar Frontend-Module und ein erstes Stylesheet erstellen.
6.2.2
Das erste Seitenlayout erstellen
Das erste Seitenlayout ist ein echter Klassiker: zentriert, 960 Pixel breit, mit 3 Spalten sowie einem Header und einem Footer. ToDo: Ein Seitenlayout erstellen 1. Öffnen Sie das Backend-Modul Themes. 2. Öffnen Sie die Seitenlayouts zur Bearbeitung (2. Symbol von rechts). 3. Klicken Sie im Arbeitsbereich rechts oben auf Neues Layout. 4. Geben Sie als Titel für das Layout »Standardlayout« ein. 5. Aktivieren Sie das Kontrollkästchen Standardlayout. 6. Aktivieren Sie im Bereich Kopf- und Fusszeile die Kontrollkästchen Kopfzeile einfügen und Fusszeile einfügen, vergeben Sie aber für beide keine Höhe. 7. Wählen Sie im Bereich Spaltenkonfiguration das dreispaltige Layout ganz rechts. Geben Sie für die Breite der linken und der rechten Spalte jeweils ##»182px« ein.
126
»No layout found« – Theme und Seitenlayout erstellen
ToDo: Ein Seitenlayout erstellen (Forts.) 8. Überspringen Sie die folgenden Bereiche, und prüfen Sie, ob im Bereich ExpertenEinstellungen das Seitentemplate fe_page und die Dokumentyp-Definition XHTML Strict eingestellt sind. 9. Aktivieren Sie in den Skript-Einstellungen das MooTools-Template moo_mediabox. Das ist ein JavaScript-Programm, das später zur Erzeugung einer sogenannten »Lightbox« benötigt wird. 10. Aktivieren Sie im Bereich Statisches Layout das gleichnamige Kontrollkästchen. Das Layout soll eine Gesamtbreite von »960px« haben, mit der Ausrichtung »zentriert«. 11. Beenden Sie die Bearbeitung mit Speichern und Schliessen.
Wenn Sie nach der Erstellung des Seitenlayouts ganz oben im Infobereich auf Frontend-Vorschau ((Alt) + (f)) klicken, wird ein neues Fenster geöffnet, in dem Sie einen gelben Balken und eine leere weiße Seite sehen (Abbildung 6.9).
Abbildung 6.9 Seitenlayout erstellt – leere Seite in der Frontend-Vorschau
Der gelbe Balken am oberen Bildschirmrand enthält einen Frame mit Bedienelementen für die Frontend-Vorschau, die später bei der Arbeit mit mehreren Benutzern und unveröffentlichten Elementen richtig praktisch werden. Mit einem Klick auf das X ganz rechts können Sie diesen Frame bei Bedarf entfernen. Dann sehen Sie nur noch die leere Webseite. Es ist vielleicht schwer zu glauben, aber diese leere Seite ist ein echter Fortschritt. Erstens gibt es keine störende Meldung mehr, und zweitens ist das Grundgerüst der Seite bereits da. Im Quelltext.
6.2.3
Ein kurzer Blick in den Quelltext
Der Quelltext ist nicht irgendwo auf dem Webspace gespeichert, sondern wird erst auf Anforderung des Browsers dynamisch von Contao erstellt. Da es bis jetzt noch keinerlei Artikel oder andere Inhalte gibt, wird die Seite leer ausgeliefert,
127
6.2
6
Die erste Website mit Contao
aber das Grundgerüst ist im Quelltext bereits vorhanden. Listing 6.1 zeigt die wichtigsten div-Elemente:
Listing 6.1 HTML-Grundgerüst der Startseite
Die fünf großen Layoutbereiche, die Contao standardmäßig zur Verfügung stellt, sind in Listing 6.1 hervorgehoben: 왘
Kopfzeile:
왘
Linke Spalte:
왘
Rechte Spalte:
왘
Hauptspalte:
왘
Fußzeile:
Bei Bedarf können Sie später auch eigene Layoutbereiche einrichten, aber meistens reichen diese fünf. Der Quelltext wird später genauer erläutert Falls Sie im Quelltext überraschende Dinge wie z. B. einen Styleblock oder seltsame Elemente wie finden, nehmen Sie sie erst einmal hin. In Kapitel 7, Webseiten gestalten: Contao und CSS, werden diese Dinge im Detail erläutert.
6.3
Das erste Frontend-Modul: »Navigation – Hauptnavi«
In Contao gibt es zwei Sorten von Modulen: 왘
128
Backend-Module finden Sie im Navigationsbereich des Backends. Sie dienen zur Verwaltung der Site und sind in die fünf Gruppen Inhalte, Layout, Benutzerverwaltung, System und Benutzerfunktionen aufgeteilt.
Das erste Frontend-Modul: »Navigation – Hauptnavi«
왘
Frontend-Module sind, vereinfacht gesagt, kleine PHP-Programme, die irgendetwas machen und als Ergebnis HTML-Quelltext für das Frontend ausgeben. Sie werden im Backend-Modul Themes verwaltet.
Wenn Sie irgendwo in Contao einfach nur das Wort Module lesen, sind fast immer Frontend-Module gemeint. In diesem Abschnitt erstellen Sie ein Frontend-Modul, das aus dem Seitenbaum eine Navigation erzeugt und das über das Seitenlayout so eingebunden wird, dass es in der linken Spalte erscheint.
6.3.1
Ein Navigationsmodul erstellen
Das Erstellen der Hauptnavigation besteht aus zwei Schritten: Zuerst müssen Sie das Modul erstellen und konfigurieren, danach wird im Seitenlayout festgelegt, in welchem Bereich das Modul erscheinen soll. ToDo: Ein Navigationsmodul erstellen 1. Öffnen Sie das Backend-Modul Themes. 2. Öffnen Sie für »Blaues Theme« die Frontend-Module zur Bearbeitung (3. Symbol von rechts). 3. Klicken Sie im Arbeitsbereich oben auf Neues Modul. 4. Geben Sie im Feld Titel »Navigation – Hauptnavi« ein. 5. Lassen Sie das Feld Überschrift einfach leer, da die Navigation keine Überschrift haben soll. 6. Prüfen Sie, ob als Modultyp Navigationsmenü ausgewählt ist. 7. Lassen Sie alle anderen Optionen wie Startlevel, Stoplevel und Hardlimit unverändert, und denken Sie nicht zu viel darüber nach. Damit befassen Sie sich in Kapitel 8, »Navigationen erstellen in Contao«. 8. Überprüfen Sie, ob im Bereich Template-Einstellungen das Navigationstemplate nav_ default ausgewählt ist. 9. Klicken Sie auf Speichern und Schliessen.
Abbildung 6.10 zeigt die im ToDo gemachten Einstellungen im Überblick. Das Modul Navigation – Hauptnavi ist nach wenigen Klicks fertig zum Einsatz, aber noch gibt es im Browser nichts zu sehen, denn Contao muss noch wissen, in welchen Layoutbereich die Navigation eingebaut werden soll. Das Modul muss übrigens nicht unbedingt Navigation – Hauptnavi heißen, aber wenn alle Navigationsmodule mit Navigation beginnen, stehen sie später alle schön ordentlich untereinander und lassen sich so besser von anderen Modulen für Events, News, FAQ oder für das Layout unterscheiden.
129
6.3
6
Die erste Website mit Contao
Abbildung 6.10 Einstellungen für das Modul »Navigation – Hauptnavi«
Das Template nav_default Im Template nav_default wird festgelegt, welches HTML das Navigationsmodul erzeugen soll. Mehr dazu erfahren Sie am Ende dieses Kapitels. Momentan ist es nur wichtig, dass es ein solches Template gibt.
6.3.2
Das Navigationsmodul im Seitenlayout einbinden
In diesem Abschnitt wird das soeben erstellte Navigationsmodul mit dem Seitenlayout verbunden oder, wie es im Contao-Jargon heißt, »eingebunden«. Nach dem folgenden ToDo erscheint die Navigation im Frontend. ToDo: Das Navigationsmodul im Seitenlayout einbinden 1. Öffnen Sie das Backend-Modul Themes 폷 Seitenlayouts. 2. Klicken Sie rechts neben dem Standardlayout [Standard] auf den gelben Bleistift, um die Einstellungen zu bearbeiten. 3. Blenden Sie den Bereich Frontend-Module ein. Dort ist bereits eine Zeile vorhanden: Modul Artikel und Spalte Kopfzeile. 4. Ändern Sie diese Zeile, und wählen Sie in der Liste Modul Navigation – Hauptnavi und in der Liste Spalte die Linke Spalte. 5. Lassen Sie alle anderen Einstellungen unverändert. 6. Klicken Sie auf Speichern und Schliessen.
130
Das erste Frontend-Modul: »Navigation – Hauptnavi«
Jetzt weiß Contao, dass der vom Navigationsmodul erzeugte Quelltext in der linken Spalte dargestellt werden soll. Abbildung 6.11 zeigt, wie das in der Frontend-Vorschau aussieht.
Abbildung 6.11 Die Navigation erscheint in der linken Spalte.
Die vier Webseiten aus dem Seitenbaum werden als ungeordnete Liste dargestellt. Klicken Sie sich am besten einmal durch die Navigation. Der Titel der Webseiten ändert sich, und die jeweils aktuelle Seite ist kein Link mehr. Alles automatisch. Um ein bisschen Gefühl für die Flexibilität des Navigationsmoduls zu bekommen, erweitern Sie im folgenden ToDo die Seitenstruktur. ToDo: Die Seitenstruktur um die Seite »Nachrichten« erweitern 1. Schließen Sie die Frontend-Vorschau. 2. Fügen Sie im Backend-Modul Seitenstruktur unterhalb der Startseite eine neue Seite vom Typ Reguläre Seite ein. 3. Der Seitenname ist »Nachrichten«. 4. Aktivieren Sie weiter unten die Option Seite veröffentlichen. 5. Klicken Sie auf Speichern und Schliessen.
Die Navigation in der Frontend-Vorschau sieht jetzt so aus wie in Abbildung 6.12. In Contao erstellen Sie mit wenigen Klicks und ohne selbst zu programmieren eine sehr flexible Navigation. Gestaltet wird sie später per CSS.
131
6.3
6
Die erste Website mit Contao
Abbildung 6.12 Die Hauptnavigation bildet den Seitenbaum ab.
6.4
Frontend-Module für den Kopf- und den Fußbereich
In diesem Abschnitt erstellen Sie den Inhalt für die Kopf- und die Fußzeile der Webseiten. Dazu kommt ein Frontend-Modul namens Eigenes HTML zum Einsatz, in das Sie, wie der Name andeutet, eigenes HTML schreiben, das dann auf der Seite eingebunden wird.
6.4.1
Module für den Kopf- und den Fußbereich erstellen
In den folgenden ToDos erstellen Sie einen Kopfbereich und einen Fußbereich, die im nächsten Abschnitt in das Seitenlayout eingebunden werden. ToDo: Das Modul »Layout – Header« erstellen 1. Öffnen Sie das Backend-Modul Themes. 2. Öffnen Sie die Frontend-Module zur Bearbeitung (3. Symbol von rechts). 3. Klicken Sie im Arbeitsbereich oben auf Neues Modul. 4. Geben Sie im Feld Titel »Layout – Header« ein. 5. Wählen Sie als Modultyp den Eintrag Eigener HTML-Code, den Sie ganz am Ende der Liste in der Rubrik Verschiedenes finden. 6. Geben Sie in das Feld HTML-Code den folgenden Quelltext ein: Beispielsite
Websites erstellen mit Contao
Made with Contao.
27.07.2010 20:00 von Kevin Jones
Überall dieselbe alte Leier. [...]
Denn esse est percipi […]
[diverse PHP-Anweisungen ]
Kommentar von Peter | 27.07.2010
Ich finde es toll, dass dieser Blindtext nicht nur Lückenfüller sein will und auf die Webstandards hinweist. Das verdient Unterstützung, die ich hiermit zum Ausdruck bringen möchte.
Zurück