Indice dei contenuti
- β Passaggio 1: Installare e configurare WSL2 e Docker Desktop
- β Passaggio 2: Crea la cartella del progetto in WSL2 (Ubuntu)
- β Passaggio 3: Docker Compose e configurazioni complete
- β Passaggio 4: Avvia i container Docker
- β Passaggio 5: Crea un progetto Laravel 12 da Composer nel container
- β Passaggio 6: Imposta i permessi e configura Laravel
- β Passaggio 7: Installa Filament Admin Panel
- π Principali comandi Docker per lavorare con Laravel (Artisan)
- π― Conclusioni
- Laravel 12 e Filament – Vantaggi di lavorare con questo stack tecnologico
Laravel 12 e Filament su Windows 11 : in questo post vedremo passo-passo la procedura aggiornata e testata per configurare un ambiente di sviluppo Laravel 12 e Filament su Windows 11 utilizzando Docker Desktop con WSL2. Lβambiente include PHP 8.2, Nginx, MySQL, phpMyAdmin, Xdebug (debug remoto) e il pannello amministrativo Filament.
β Passaggio 1: Installare e configurare WSL2 e Docker Desktop
- Installa WSL2 su Windows 11 da PowerShell:
wsl --install
- Riavvia il PC quando richiesto e configura WSL con username e password al primo accesso.
- Scarica e installa Docker Desktop per Windows dal sito ufficiale: https://www.docker.com/products/docker-desktop
- Nelle impostazioni di Docker, abilita l’integrazione con WSL2.
β Passaggio 2: Crea la cartella del progetto in WSL2 (Ubuntu)
Da terminale WSL, crea la cartella di progetto:
mkdir ~/laravel-project
cd ~/laravel-project
β Passaggio 3: Docker Compose e configurazioni complete
Crea i seguenti file nella directory ~/laravel-project
:
π docker-compose.yml
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./:/var/www/html:consistent
- ./php.ini:/usr/local/etc/php/conf.d/99-overrides.ini
- ./xdebug.ini:/usr/local/etc/php/conf.d/99-xdebug.ini
depends_on:
- db
networks:
- laravel
webserver:
image: nginx:stable-alpine
ports:
- "8080:80"
volumes:
- ./:/var/www/html:ro
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- app
networks:
- laravel
db:
image: mysql:8.0
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: laravel
MYSQL_USER: laravel
MYSQL_PASSWORD: laravel
MYSQL_ROOT_PASSWORD: root
volumes:
- dbdata:/var/lib/mysql
networks:
- laravel
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8081:80"
environment:
PMA_HOST: db
PMA_PORT: 3306
networks:
- laravel
networks:
laravel:
driver: bridge
volumes:
dbdata:
π Dockerfile
FROM php:8.2-fpm
RUN apt-get update && apt-get install -y git unzip zip libicu-dev libzip-dev \
&& docker-php-ext-install pdo_mysql intl zip bcmath opcache \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& rm -rf /var/lib/apt/lists/*
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
WORKDIR /var/www/html
π nginx.conf
server {
listen 80;
server_name localhost;
root /var/www/html/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass app:9000;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
π php.ini
display_errors = On
memory_limit = 512M
upload_max_filesize = 64M
post_max_size = 64M
opcache.enable = 1
opcache.memory_consumption = 128
π xdebug.ini
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host = host.docker.internal
xdebug.client_port = 9003
xdebug.idekey = laravel
β Passaggio 4: Avvia i container Docker
Da terminale WSL esegui:
docker-compose up -d --build
β Passaggio 5: Crea un progetto Laravel 12 da Composer nel container
docker-compose exec app composer create-project laravel/laravel temp-laravel
docker-compose exec app bash -c "mv temp-laravel/{.,}* ./ 2>/dev/null && rm -rf temp-laravel"
β Passaggio 6: Imposta i permessi e configura Laravel
docker-compose exec app chmod -R 775 storage bootstrap/cache
docker-compose exec app chown -R www-data:www-data storage bootstrap/cache
docker-compose exec app php artisan key:generate
Aggiorna il file .env
per il database:
DB_HOST=db
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=laravel
β Passaggio 7: Installa Filament Admin Panel
docker-compose exec app composer require filament/filament:"^3.2" -W
docker-compose exec app php artisan filament:install --panels
docker-compose exec app php artisan make:filament-user
Accedi al pannello admin Filament:
π Principali comandi Docker per lavorare con Laravel (Artisan)
Ecco i comandi piΓΉ utili per lavorare rapidamente col tuo ambiente Laravel + Docker:
π Accedere al container PHP via bash:
docker-compose exec app bash
π Eseguire comandi Artisan direttamente senza entrare nel container:
docker-compose exec app php artisan migrate
docker-compose exec app php artisan optimize
docker-compose exec app php artisan make:model NomeModello -mcr
docker-compose exec app php artisan config:cache
docker-compose exec app php artisan route:list
docker-compose exec app composer install
docker-compose exec app composer update
π Controllare lo stato dei container Docker:
docker-compose ps
π Riavviare tutti i container:
docker-compose restart
π Vedere i log dei container:
docker-compose logs -f
π Fermare e rimuovere i container:
docker-compose down
π― Conclusioni
Ora hai un ambiente completo, veloce, ben configurato per sviluppare applicazioni Laravel 12 su Windows 11 con Docker e WSL2. Hai Xdebug configurato per il debug remoto, Filament come admin panel giΓ pronto, e MySQL gestito comodamente tramite phpMyAdmin.
Buon lavoro e buon coding! πβ¨
Laravel 12 e Filament – Vantaggi di lavorare con questo stack tecnologico
Lavorare con Laravel 12 e Filament offre numerosi vantaggi, rispetto a Laravel puro, che lo rendono un’ottima scelta per sviluppatori che cercano un modo efficace di gestire le aree amministrative delle loro applicazioni. Filament, grazie alla sua stretta integrazione con Laravel, permette un’incredibile flessibilitΓ e velocitΓ nello sviluppo di interfacce amministrative. Ecco alcuni dei principali vantaggi:
1. FacilitΓ di Utilizzo: Filament Γ¨ progettato per essere altamente intuitivo, riducendo la curva di apprendimento per chi Γ¨ giΓ familiare con Laravel. Con una sintassi simile e un pannello di amministrazione user-friendly, puoi concentrarti direttamente sulle funzionalitΓ specifiche della tua applicazione piuttosto che perdere tempo nella configurazione di strumenti complessi.
2. EspandibilitΓ : Con Filament, puoi facilmente estendere le funzionalitΓ del pannello amministrativo. Grazie ai suoi “Widgets” e “Resources”, Γ¨ possibile aggiungere nuove pagine, gestire risorse personalizzate e integrare moduli secondo le tue esigenze specifiche. Questo rende Filament estremamente versatile e adattabile a qualsiasi progetto.
3. Performance Ottimizzata: Filament Γ¨ costruito con un approccio “front-end first” che assicura che le interazioni e le visualizzazioni siano rapide e reattive. Sfruttando il meglio di Livewire e Alpine.js, le applicazioni amministrative costruite con Filament saranno sempre veloci e performanti.
4. Sicurezza Integrata: Grazie alla stretta integrazione con Laravel, Filament beneficia di tutte le funzionalitΓ di sicurezza offerte dal framework, come autenticazione e autorizzazione. Puoi definire facilmente i permessi di accesso e garantire che i dati siano sempre protetti.
5. Community e Supporto: Filament Γ¨ supportato da una comunitΓ crescente di sviluppatori e dispone di una documentazione ben scritta e costantemente aggiornata. Questo significa che avrai sempre a disposizione risorse e supporto per risolvere eventuali problemi o per trovare nuove idee per il tuo progetto.
Integrando Filament nel tuo stack Laravel, puoi creare rapidamente potenti soluzioni amministrative che sfruttano appieno le potenzialitΓ di Laravel e Docker, semplificando al contempo la gestione e il mantenimento della tua applicazione online.