Contao 4 installieren und eine Beispielkonfiguration anlegen
Contao 4 auf einem Linux-System zu installieren gestaltet sich recht einfach, weil wir dies direkt über Composer machen können. Im Anschluss wird eine Beispielkonfiguration eingerichtet.
Contao 4 auf einem Linux-System zu installieren gestaltet sich recht einfach, weil wir dies direkt über Composer machen können (optional könnte man das Github-Repository clonen).
Contao mittels Composer installieren
Wir starten die Konsole und lassen uns eine neue Standard-Edition von Contao 4 erzeugen:
composer create-project contao/standard-edition tutorial-contao4-bundle
Die Einstellung der Datenbank-Parameter (parameters.yml) können wir überspringen, da wir dies auch über den Contao-Installer konfigurieren können. Im Anschluss erstellen wir noch eine MySQL-Datenbank - dies können wir auch bequem über phpMyAdmin machen ;).
Virtuellen Host einrichten
Noch fix einen virtuellen Host (vHost) anlegen, welcher mit dem Dokumentenroot auf den Web-Ordner zeigt:
sudo touch /etc/apache2/sites-available/tutorial-contao4.dev.conf
sudo vi /etc/apache2/sites-available/tutorial-contao4.dev.conf
Die Datei wird mit folgenden Inhalt gefüllt:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName tutorial-contao4.dev
ServerAlias tutorial-contao4.dev
DocumentRoot /var/www/tutorial-contao4.dev/web
<Directory /var/www/tutorial-contao4.dev/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/tutorial-contao4.dev-error.log
LogLevel warn
CustomLog /var/log/apache2/tutorial-contao4.dev.log combined
ServerSignature On
</VirtualHost>
Wir speichern die Konfiguration und aktivieren die Apache-Konfiguration:
sudo a2ensite tutorial-contao4.dev.conf
Für den vHost brauchen wir natürlich auch noch einen symbolischen Link auf unseren Projekt-Verzeichnis:
ln -s /home/xuad/Projects/tutorial-contao4 /var/www/tutorial-contao4.dev
...und im Anschluss die Apache-Konfiguration neuladen:
service apache2 reload
Contao-Konfiguration bearbeiten
Die Grundbasis ist geschaffen. Nun können wir den Contao-Installer aufrufen (http://tutorial-contao4.dev/install.php). Da aber alles in englischer Sprache ist, installieren wir erst einmal die deutsche Sprache nach.
Zusätzliche Sprachen installieren
Dazu brauchen wir den Transifex-Clienten und einen Transifex-Account. Für den Account müssen wir uns bei https://www.transifex.com registrieren und den Clienten installieren wir über die Konsole:
sudo apt-get install transifex-client
Im Anschluss erstellen wir eine Transifex-Konfiguration um die Sprachen downloaden zu können:
touch ~/.transifexrc
vi ~/.transifexrc
...welche folgenden Inhalt besitzt:
[https://www.transifex.com]
hostname = https://www.transifex.com
username = [BENUTZERNAME]
password = [PASSWORT]
token =
Im Projektordner führen wir folgenden Befehl aus um die deutsche Sprache für alle Contao-Module zu beziehen:
for i in $(ls -d vendor/contao/*-bundle); do \
cd $i; \
tx pull -l de; \
cd -; \
done;
Nach einem Neuladen des Installationstool werden wir mit deutscher Sprache begrüßt. Wir akzeptieren den Disclaimer und richten die Datenbankverbindung ein.

Wir updaten die Datenbank und legend ein Administratorkonto an - jedoch sah ich nach dem Speichern eine leere Seite. Das Log (app/logs) verriet mir, dass die "localconfig.php" beschädigt sei. Darin befand sich 2x der string '<?php'. Das geht natürlich so nun mal gar nicht - gut einmal den öffnenden PHP-Tag löschen, dann klappte es auch wieder.
Im Anschluss öffnen wir das Contao-Backend und loggen uns ein (http://tutorial-contao4.dev/app_dev.php/contao) und können nach herzenslust Contao konfigurieren.
Contao einrichten
Für die Tutorialserie brauchte ich noch ein Beispielkonfiguration, welche ich kurz vorstellen möchte.
-
Ordner für Theme und Templates erstellen. Ordnerpfad für das Theme: files/data/default-theme Ordnerpfad für die Templates: templates/default-theme
-
Ein Theme erstellen.

- Es wird ein neues Layout erstellt.

- Eine neue Seitenstruktur wird angelegt und das Layout zugewiesen.

- Wir erstellen eine beliebige Seite (Startseite) und erstellen in dieser einen Artikel mit Text.


Unsere Beispielkonfiguration ist nun vollendet und sollte im Frontend folgendermaßen aussehen.
