|
|
|
[[_TOC_]]
|
|
|
|
|
|
|
|
## 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.
|
|
|
|
|