Die Docker Devilbox

Das Devilbox Project ist ein fertiges LAMP Stack für Docker. Wenn du die Docker-Toolbox einsetzt, sind diese Angaben der Dokumentation lesenswert.

Devilbox installieren und konfigurieren

Es ist keine Installation im eigentlichen Sinne notwendig. Du musst dir nur die Dateien von der Devilbox GitHub Seite in ein leeres Verzeichnis herunterladen. Die Konfiguration erfolgt über eine einzelne Datei. In deinem Verzeichnis findest du die Datei env-example. Kopiere diese und benenne die Datei anschließend um in .env. In der neuen Datei kannst du jetzt deine Konfigurationen vornehmen. Notwendig sind Änderungen der folgende Einträge:

Die einzelnen Schritte (gerade auch für die Einträge NEW_UID und NEW_GID) sind in der Devilbox Dokumentation gut beschrieben. Für Contao selbst sollten die weiteren Einträge etwa so gesetzt werden:

  • HTTPD_DOCROOT_DIR=web
  • HTTPD_SERVER=apache-2.4
  • PHP_SERVER=7.3
  • MYSQL_SERVER=mariadb-10.3

Nach jeder Änderung der Konfiguration über die .env Datei muss die Devilbox neu gestartet werden.

Lösche keine Einträge in der .env Datei! Zum Beispiel ist standardmäßig der Eintrag HTTPD_SERVER=nginx-stable gesetzt und #HTTPD_SERVER=apache-2.4 ist auskommentiert (s. # am Anfang der Zeile). Zur Änderung derartiger Einträge musst du diese kommentieren bzw. auskommentieren. Ändere unbedingt auf HTTPD_SERVER=apache-2.4. Als Webserver könnte nginx genutzt werden. Für Contao sind dann allerdings weitere Konfigurationen des Webservers notwendig.

Die Devilbox starten

Wechsle nun in das Verzeichnis und starte die Devilbox mit Docker. Erstmalig kann es etwas dauern, da zunächst die jeweiligen Docker Images geladen und die Container erstellt werden müssen. Erneute Starts sind dann wesentlich schneller.

docker-compose up -d httpd php mysql

Die Devilbox beenden

docker-compose stop

Das Devilbox Dashboard im Browser

Ist die Devilbox gestartet, kannst du nun deinen Browser aufrufen. Mit Eingabe von http://127.0.0.1 erreichst du das Devilbox Dashboard. Über die Navigation erhältst du Zugriff auf die verschiedenen Funktionen.

Die zu verwendende IP-Adresse ist abhängig von deiner Docker-Umgebung. Wenn du die Docker-Toolbox installiert hast, lautet deine IP-Adresse möglicherweise anders. Die IP-Adresse kann über den Befehl docker-machine ip ermittelt werden.

Navigation Beschreibung
Home Status-Informationen
Virtual Hosts Liste vorhandender vhosts bzw. Webseiten
Emails E-Mail Catch Service
Databases Infos zu den Datenbanken
Info Weitere Informationen
Tools Zugriff auf Tools wie z. B. phpMyAdmin

Contao-Installation vorbereiten

Eine oder mehrere Contao-Installationen werden im Devilbox Verzeichnis data\www erstellt. Je Contao-Installation musst du hier ein separates Verzeichnis anlegen. Der Verzeichnisname entspricht dann dem späteren vhost Namen. Aus dem Verzeichnisnamen contao4 resultiert dann contao4.loc.

Damit der Virtual Host Name aufgelöst werden kann, musst du noch in /etc/hosts den Eintrag 127.0.0.1 localhost in 127.0.0.1 contao4.loc abändern.

Du hast ein Verzeichnis (z. B. contao4) erstellt. Wechsle in dieses Verzeichnis und erstelle einen neuen Unterordner web. Kopiere in diesen Ordner die Contao Manager .phar Datei und benenne die Datei um in contao-manager.phar.php.

Die Domain-Suffix .loc ist voreingestellt. Dies kann aber in der .env Datei über den Eintrag TLD_SUFFIX geändert werden.

Installation über den Contao Manager

Starte phpMyAdmin im Devilbox Dashboard im Bereich Tools\phpMyAdmin und lege eine neue Datenbank an. Wechsle dann in der Navigation auf die Seite Virtual Hosts. Hier solltest du nun eine Liste deiner vorhandenen Web-Projekte sehen und auch gleich aufrufen können. Du kannst jetzt die Contao-Installation über den Contao Manager einleiten. In unserem Beispiel also über: contao4.loc/contao-manager.phar.php.

Die weitere Vorgehensweise ist dann identisch wie in Contao installieren beschrieben.

Installation über die Kommandozeile

Das PHP Memory Limit für die PHP Container der Devilbox ist standardmäßig zu niedrig und muss daher zur Composer Nutzung zuvor konfiguriert werden. Wechsle dazu in das Verzeichnis cfg. Hast du die Devilbox mit PHP 7.3 in der .env konfiguriert, mache die folgenden Änderungen dann entsprechend im Verzeichnis cfg\php-ini-7-3. Erstelle hier eine Datei memory_limit.ini mit folgendem Eintrag:

[PHP]
memory_limit = -1

Im Anschluss musst du die Devilbox neu starten. Im Devilbox Hauptverzeichnis liegen die Dateien shell.sh bzw. shell.bat. Damit kannst du dich in den laufenden Devilbox PHP Container einklinken. Hier sind bereits zahlreiche Tools vorinstalliert. Auch Composer. Nach Aufruf befindest du dich im Container im Verzeichnis shared\http. Zur Installation von z. B. Contao 4.8 in ein Verzeichnis contao48 musst du lediglich eingeben:

composer create-project contao/managed-edition contao48 4.8

Lege dir eine neue Datenbank an:

mysql -u root -h mysql -p -e 'CREATE DATABASE db_contao49;'

Im Anschluss kannst du den Container über exit verlassen und das Contao-Installtool aufrufen.

Angaben im Contao-Installtool

Die Angaben im Contao-Installtool sind grundsätzlich identisch. Du musst lediglich bei Datenbankverbindung auf folgende Einträge achten:

Eintrag Wert
Host mysql
Benutzername root
Passwort Keinen Wert eintragen

Der Benutzer root mit leerem Passwort ist die Devilbox Standard Einstellung. Dies kann über die Konfiguration geändert werden. In diesem Fall musst du im Contao-Installtool deine Werte entsprechend eintragen.