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

contao4_part1_contao_installtool_1

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.

  1. Ordner für Theme und Templates erstellen. Ordnerpfad für das Theme: files/data/default-theme Ordnerpfad für die Templates: templates/default-theme

  2. Ein Theme erstellen.

contao4_part1_theme
  1. Es wird ein neues Layout erstellt.
contao4_part1_layout
  1. Eine neue Seitenstruktur wird angelegt und das Layout zugewiesen.
contao4_part1_seitenstruktur
  1. Wir erstellen eine beliebige Seite (Startseite) und erstellen in dieser einen Artikel mit Text.
contao4_part1_seitenstruktur_2 contao4_part1_contao_artikel

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

contao4_part1_frontend_ansicht1