Docker-Umgebung
In PHPStorm ein neues leeres Projekt erstellen. Hier wird eine neue Datei docker-compose.yml mit nachfolgendem Inhalt erstellt. Ggf hier das Image des Webservers anpassen. Die zur Verfügung stehenden Images sind auf https://dockerfile.readthedocs.io/en/latest/content/DockerImages/dockerfiles/php-apache-dev.html# einsehbar.
version: '3.7'
services:
webserver:
image: webdevops/php-apache-dev:8.1
ports:
- "80:80"
volumes:
- .:/var/www/html
environment:
XDEBUG_CONFIG: remote_host=host.docker.internal
WEB_DOCUMENT_ROOT: /var/www/html
XDEBUG_MODE: off
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
Nun kann in PHPStorm mit Rechsklick auf die docker-compose.yml mit Run docker-compose.yml die virtuelle Maschine erstellt werden.
Contao-Installation
Auf https://contao.org/de/download wird der aktuelle contao-Manager heruntergeladen. Diese benennen wir in contao-manager.phar.php um. Nun kann im Browser der Contao-Manager aufgerufen werden:
http://localhost/contao-manager.phar.php
Nach dem Anlegen eines Contao-Manager-Adminkontos, machen wir einen Break und erstellen ein Verzeichnis namens public und verschieben die contao-manager.phar.php in dieses. Nun wird in der docker-compose.yml das Volume angepasst, sodass nun WEBROOT das eben angelegte Public-Verzeichnis ausliefert:
[...]
WEB_DOCUMENT_ROOT: /var/www/html/public
[...]
Run docker-compose.yml wird erneut aufgerufen. Nun kann es im Browser weitergehen, indem die Contaoinstallation fortgesetzt wird. Hier müssen wir bestätigen, dass das Installationsverzeichnis nicht leer ist und schließen die Contaoinstallation ab. Beim Datenbankhost wird der oben definierte Host db angegeben. Die Datenbank wird zuvor in Docker erzeugt.