Emulare un server Apache + PHP in locale
Docker Compose può avviare un server Apache + PHP locale senza installare nulla sull’host. Questo è utile per sviluppare e testare pagine PHP prima di distribuirle.
docker-compose.yml
Colloca questo file nella directory che vuoi servire:
services:
web:
image: php:8.3-apache
ports:
- "8080:80"
volumes:
- .:/var/www/html
Il montaggio del volume .:/var/www/html mappa la directory corrente sulla document root di Apache,
così ogni file in quella directory è immediatamente disponibile senza dover ricostruire nulla.
Per servire una sottodirectory (ad esempio web_portal/), modifica invece il volume in:
- ./web_portal:/var/www/html
Avvio e arresto
Dalla directory che contiene docker-compose.yml:
docker compose up -d
Arresta e rimuovi il container:
docker compose down
Accesso al server
Apri un browser e vai all’indirizzo:
http://localhost:8080/<filename>.php
Ad esempio, se docker-compose.yml monta ./web_portal e quella directory contiene type1.php:
http://localhost:8080/type1.php
Comandi utili
Segui in tempo reale il log degli errori di Apache mentre una pagina viene caricata:
docker compose logs -f
Apri una shell all’interno del container:
docker compose exec web bash