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.