Contao 4.2: So installieren Sie die neuste Version des beliebten CMS
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.
- Vorbereitungen im my.cyon
- Composer installieren
- Contao installieren
- Erweiterung mit Composer installieren
- Erweiterung ohne Composer installieren
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_password
und 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
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.
In Contao 4.4 fehlt die appkernel.php um Erweiterungen ohne Composer zu installieren… vielleicht könnte man den Artikel anpassen?
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.
Vielen Dank Bjarke für die erstklassige Anleitung. Hat mir beim ersten Contao 4 Projekt einen schnellen Einstieg verschafft.
Viele Grüße
Chris
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?
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
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?
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.
… 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.
Danke Tom. Ja, Contao läuft bei uns einwandfrei und mit Bjarke haben wir einen ausgewiesenen Experten an Bord.
Hallo Bjarke,
sehr schöne Anleitung.
Vielen Dank!
Danke Christian :)
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