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

← zurück zum Blog

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.

13 Kommentare

  1. Hallo Bjarke,

    sehr schöne Anleitung.

    Vielen Dank!

  2. … 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.

  3. 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.

  4. 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?

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

    Viele Grüße
    Chris

  6. 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.

  7. 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

Kommentar hinzufügen

Ihre E-Mail-Adresse wird nicht veröffentlicht.
Auszufüllende Felder sind mit einem * gekennzeichnet.

*
*
*
Einfache HTML Anweisungen wie a, strong, blockquote etc. sind möglich.

Hinweis

Wir behalten uns vor, Spam-, beleidigende oder anderweitig unpassende Kommentare zu entfernen.

← zurück zum Blog