Contao 4.2: So installieren Sie die neuste Version des beliebten CMS

Philipp Zeder
Autor:

Philipp Zeder

Kategorie:

in

CMS & Co.

Veröffentlicht am 23. Juni 2016

Aktualisiert am 7. Juni 2022

Vergangene Woche ist die Contao 4.2 erschienen. Neben vielen kleineren Neuerungen wurde das Backend-Theme komplett überarbeitet und kommt jetzt in einem frischen und zeitgemässen Design daher. Seit der Version 4.0 ist Contao ein Symfony-Bundle. Heute erkläre ich Ihnen, wie Sie Contao 4.2 auf einem unserer Webhostings zum Laufen bringen.

Das neue Backend-Theme von Contao lässt sich auch auf mobilen Geräten bedienen.

Das neue Backend-Theme von Contao lässt sich auch auf mobilen Geräten bedienen.

Vorbereitungen im my.cyon

Bevor wir mit der Installation loslegen, treffen wir im my.cyon noch einige Vorbereitungen.

Unter «Webhosting» > «Subdomains» legen wir eine Subdomain an. In unserem Beispiel ist «ihredomain.ch» bereits auf dem Webhosting installiert. Wir legen für diese Website die Subdomain «neu.ihredomain.ch» mit dem Zielordner «neu.ihredomain.ch» an. Um die Kommunikation zwischen der Website und Besuchern von Anfang an vor fremden Blicken zu schützen, aktivieren wir unter «Sicherheit» > «Kostenlose SSL-Zertifikate» ein SSL-Zertifikat für die Domain «neu.ihredomain.ch». Zum Schluss erstellen wir unter «Datenbank» > «MySQL» eine Datenbank und notieren den Datenbanknamen, den Datenbankbenutzer und das Datenbankpasswort. Diese Angaben benötigen wir später während der Installation von Contao.

Im nächsten Schritt melden wir uns per Konsole auf unserem Webhosting an. Die Zugangsdaten befinden sich im my.cyon unter «Webhosting» > «Übersicht» im Abschnitt «Zugangsdaten Webhosting».

In unserem Beispiel lautet der Benutzername des Webhosting-Accounts «benutzer» und die Domain «neu.ihredomain.ch». Um per SSH auf unser Webhosting zu verbinden, geben wir folgende Zeile in der Konsole ein:
ssh benutzer@ihredomain.ch
Danach wird zur Authentifizierung das Passwort für unser Webhosting verlangt, falls wir keinen SSH-Key hinterlegt haben.

Composer installieren

Nach erfolgreicher Anmeldung wechseln wir mit folgendem Befehl in das Verzeichnis bin und installieren Composer:

mkdir -p ~/bin && cd ~/bin && curl -sS https://getcomposer.org/installer | php

Danach benennen wir die Datei composer.phar in composer um, damit wir bei der Installation über Composer die Endung .phar weglassen können:

mv composer.phar composer

Contao installieren

Jetzt wechseln wir ins Verzeichnis public_html und installieren Contao in das Zielverzeichnis der Subdomain.

cd ../public_html/ && composer create-project contao/standard-edition neu.ihredomain.ch 4.2.0

Die Installation von Contao kann einige Minuten dauern. Danach wird die Datei app/config/parameters.yml generiert und wir werden gebeten, einige Parameter zu hinterlegen. Für uns sind nur database_user, database_passwordund database_name relevant, die restlichen Optionen bestätigen wir ohne Eingabe mit der Enter-Taste. Als Parameter der drei relevanten Optionen hinterlegen wir den Datenbanknamen, den Datenbankbenutzer und das Datenbankpasswort, die wir im Abschnitt Vorbereitungen im my.cyon erstellt haben.

database_host (localhost):
database_port (3306):
database_user (null): Datenbankbenutzer
database_password (null): Datenbankpasswort
database_name (null): Datenbankname
mailer_transport (mail):
mailer_host (127.0.0.1):
mailer_user (null):
mailer_password (null):
mailer_port (25):
mailer_encryption (null):
prepend_locale (false):

Damit ist Contao installiert. Um alle Aufrufe auf HTTPS umzuleiten, müssen wir noch die Datei .htaccess anpassen. Wir wechseln dazu ins Verzeichnis web und öffnen die Datei im Vim-Editor:

cd neu.ihredomain.ch/web
vim .htaccess

Natürlich kann diese Anpassung auch direkt über FTP vorgenommen werden, wir bleiben aber auf der Shell.

Mit i wie insert aktivieren wir den Bearbeitungsmodus in Vim und können die folgenden beiden Zeilen direkt nach RewriteEngine On einfügen:

RewriteCond %{HTTPS} =off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]

Mit der Escape-Taste verlassen wir den Bearbeitungsmodus und mit :wq (write and quit) speichern wir die Datei und verlassen den Editor.

Im my.cyon unter «Webhosting» > «Subdomains» ändern wir schliesslich den Zielordner von «neu.ihredomain.ch» auf «neu.ihredomain.ch/web».

Zum Abschluss rufen wir im Browser «neu.ihredomain.ch/install.php» auf, bestätigen, dass wir die Lizenz akzeptieren, schützen das Installtool von Contao mit einem Passwort, aktualisieren die Datenbank und richten ein Administrationskonto für die Anmeldung im Contao-Backend ein. Das Backend von Contao ist danach, wie gewohnt, über «neu.ihredomain.ch/contao» zu erreichen.

Erweiterung mit Composer installieren

Wir möchten die Erweiterung Contao Security Checker Bundle von 1up GmbH installieren, um unsere Contao-Installation regelmässig auf Sicherheitslücken zu durchsuchen. Wir geben in der Konsole folgenden Befehl ein:

composer require oneup/contao-security-checker-bundle

Nun müssen wir das Modul noch in der Datei AppKernel.php eintragen. Wiederum kann diese Anpassung auch direkt über FTP vorgenommen werden. Da wir bereits per SSH mit unserem Webhosting verbunden sind, ist die Änderung über die Konsole jedoch schneller erledigt.

Wir wechseln ins app-Verzeichnis:
cd ../../app/

Und öffnen die Datei AppKernel.php im Vim-Editor:
vim AppKernel.php

Mit i starten wir den Bearbeitungsmodus.

Nach der Zeile new Contao\NewsletterBundle\ContaoNewsletterBundle(), fügen wir folgenden Inhalt ein:

new Oneup\Bundle\SecurityCheckerBundle\OneupContaoSecurityCheckerBundle(),

Mit der Escape-Taste und :wq speichern wir die Änderungen und schliessen Vim.

Erweiterung ohne Composer installieren

Wir suchen uns die Erweiterung über die Erweiterungsliste auf contao.org oder auf GitHub und stellen sicher, dass diese mit Contao 4.2 kompatibel ist.

Achtung: Wenn Erweiterungen nicht mithilfe von Composer installiert werden, müssen zusätzlich alle Abhängigkeiten für eine Erweiterung manuell installiert werden.

Wir entscheiden uns die Erweiterung EasyThemes von terminal42 gmbh zu installieren, um uns das Arbeiten im Backend zu erleichtern und so einige Klicks zu sparen.

Wir arbeiten wieder auf der Kommandozeile. Zurzeit befinden wir uns noch im Verzeichnis web. Mit folgendem Befehl verlassen wir es und rufen system/modules auf:

cd ../system/modules/

Auf GitHub finden wir den neusten Release von «EasyThemes» und kopieren den Link zum tar.gz-Archiv. Mit folgendem Befehl laden wir das Archiv auf unser Webhosting und entpacken es:

curl -L https://github.com/terminal42/contao-easy_themes/archive/2.2.2.tar.gz | tar -xzp

Mit ll können wir alle im Verzeichnis hinterlegten Dateien anschauen. Momentan heisst die Datei noch contao-easy_themes-2.2.2, dies ändern wir mit folgendem Befehl:

mv contao-easy_themes-2.2.2/ easy_themes

Wichtig: Das Verzeichnis muss den auf contao.org in den eckigen Klammern angegebenen Namen erhalten, in diesem Fall [easy_themes].

Alternativ können wir das Paket auch herunterladen, entzippen und das Verzeichnis «easy_themes» per FTP im Verzeichnis «system/modules» ablegen.

Zum Schluss müssen wir das Modul noch in der Datei AppKernel.php eintragen. Auch diese Anpassung kann direkt über FTP vorgenommen werden.

cd ../../app/
vim AppKernel.php

Mit i wechseln wir in den Bearbeitungsmodus von Vim und fügen nach der Zeile new Contao\NewsletterBundle\ContaoNewsletterBundle(), folgendes an:

new Contao\CoreBundle\HttpKernel\Bundle\ContaoModuleBundle('easy_themes', $this->getRootDir()),

Mit der Escape-Taste und :wq speichern wir die Datei und schliessen den Editor. Danach bereinigen wir alle Daten im Contao-Backend unter «System» > «Systemwartung» und loggen uns im Installtool ein, um die Datenbank zu aktualisieren. Möglicherweise ist ein Neuladen des Browser-Fensters nötig. Nun ist die Erweiterung «EasyThemes» installiert.

Contao 4.4 mit Long Term Support

Zur Zeit ist Contao 3.5 in der Long Term Support-Phase und wird bis Juni 2018 mit Bugfixes versorgt. Sicherheitsrelevante Updates erfolgen noch bis Juni 2019. Contao 4.4 wird die nächste Version mit Long Term Support sein und voraussichtlich im Juni 2017 veröffentlicht. Wer nicht auf die neuen Funktionen von Contao 4.x angewiesen ist, dem empfehle ich vorerst weiterhin Contao 3.5 zu verwenden.

Beteilige dich an der Diskussion

13 Kommentare

Claudia Müller
Claudia Müller 29. Okt. 2018 10:04

Hallo! Ich beziehe mich auf den letzten Satz: “Wer nicht auf die neuen Funktionen von Contao 4.x angewiesen ist, dem empfehle ich vorerst weiterhin Contao 3.5 zu verwenden.” Würdet Ihr das inzwischen immer noch sagen? Oder was ist jetzt Eure Empfehlung diesbezüglich? Danke sehr! Grüsse Claudia

Philipp Zeder
Philipp Zeder cyon
29. Okt. 2018 11:36

Hallo Claudia, danke für die Frage. Inzwischen würden wir Dir die Installation von Contao 4.4 empfehlen. Das ist die neue «Long-Term-Support-Version», die noch bis Ende 2021 unterstützt wird. Eine Übersicht der verschiedenen Versionen findest Du unter https://contao.org/de/release-plan.html.

Michel
Michel 24. Aug. 2017 12:39

In Contao 4.4 fehlt die appkernel.php um Erweiterungen ohne Composer zu installieren… vielleicht könnte man den Artikel anpassen?

Philipp Zeder
Philipp Zeder cyon
24. Aug. 2017 17:42

Hi Michel, die Anleitung bezieht sich explizit auf Version 4.2. Wir nehmen den Wunsch nach einer Anleitung für Version 4.4 sehr gerne auf.

Chris
Chris 13. Okt. 2016 14:20

Vielen Dank Bjarke für die erstklassige Anleitung. Hat mir beim ersten Contao 4 Projekt einen schnellen Einstieg verschafft.

Viele Grüße
Chris

Mirko
Mirko 7. Sept. 2016 11:34

Danke für die Anleitung. Wo finde ich aber den Namen des Bundles wenn ich jetzt eine Erweiterung per composer installiere, d.h. wie passe ich dann die AppKernel Datei an?

Philipp Zeder
Philipp Zeder cyon
8. Sept. 2016 09:58

Hi Mirko. Du hast recht, der Bundle-Name lässt sich gar nicht so einfach finden. Wenn die Erweiterung bereits ein Symfony-Bundle ist (und das sollte sie grundsätzlich sein), findest Du den Namespace und den Klassennamen in der Datei Bundle.php. Marco hat das in seinem Blog super beschrieben: https://www.marcosimbuerger.ch/contao-kurzanleitungen-details/erweiterung-in-contao-4-mit-composer-installieren.html

Steven
Steven 19. Juli 2016 07:55

Besten Dank für die Anleitung.

Ist das richtig, dass der Ordner “bin” und der Composer in jedem Projekt-Ordner einzeln installiert wird?

Oder müsste das Global auch funktionieren?

David Burkardt
David Burkardt cyon
20. Juli 2016 10:11

Lieber Steven

Mit diesen beiden Befehlen kannst Du composer zentral installieren und im Anschluss den Befehl «composer» auf dem gesamten Webhosting nutzen:

mkdir -p ~/bin && cd ~/bin && curl -sS https://getcomposer.org/installer | php
mv composer.phar composer

Wir haben den Blogpost entsprechend leicht angepasst.

Tom
Tom 24. Juni 2016 17:38

… super Anleitung.
An dieser Anleitung sieht man auch, ob die Installation auch wirklich “live” getestet worden ist und mit den Extensions läuft oder nicht.
Würde man sich auch von anderen One-Click-Hostern, Providern, … wünschen.
Danke.

Philipp Zeder
Philipp Zeder cyon
27. Juni 2016 10:35

Danke Tom. Ja, Contao läuft bei uns einwandfrei und mit Bjarke haben wir einen ausgewiesenen Experten an Bord.

Christian
Christian 24. Juni 2016 10:07

Hallo Bjarke,

sehr schöne Anleitung.

Vielen Dank!

Philipp Zeder
Philipp Zeder cyon
27. Juni 2016 10:34

Danke Christian :)