เพื่อติดตั้ง laravel version ใหม่ๆ นั้น จำเป็นต้อง มี php version ใหม่ ให้ดีก็ติดตั้ง MySQL version ใหม่ไปด้วยเลย
รอบนี้อยากจะใช้งาน filament ด้วย เลยจัดการด้วย Docker ซักหน่อย

services:
# PHP + Apache Service
php-apache:
build: ./apache_php
ports:
- "8099:80"
volumes:
- ./www:/var/www/html
networks:
- lamp-network
- my_shared_network
depends_on:
- mysql
# MySQL Service
mysql:
image: mysql:8.4
restart: always
command: sh -c "rm -f /var/lib/mysql/mysql.sock && docker-entrypoint.sh mysqld"
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: filament
MYSQL_USER: thada
MYSQL_PASSWORD: 123456
ports:
- "3399:3306"
volumes:
- ./mysql_data:/var/lib/mysql
networks:
- lamp-network
- my_shared_network
networks:
lamp-network:
driver: bridge
my_shared_network:
external: true
FROM php:8.3-apache
# ติดตั้ง System Dependencies
RUN apt-get update && apt-get install -y \
zip unzip git curl gnupg libicu-dev libzip-dev && rm -rf /var/lib/apt/lists/*
# ติดตั้ง Node.js (ตัวอย่างนี้คือเวอร์ชัน 16 ซึ่งเสถียรสำหรับโปรเจกต์ยุค PHP 7.4)
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \
&& apt-get install -y nodejs
# ติดตั้ง Extension ที่จำเป็นสำหรับ PHP ยุคใหม่ และ MySQL (mysqli / pdo_mysql)
# ติดตั้ง PHP Extensions
RUN docker-php-ext-configure intl \
&& docker-php-ext-install mysqli pdo pdo_mysql intl zip
# ติดตั้ง Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# เปิดใช้งาน mod_rewrite สำหรับ Apache (จำเป็นสำหรับ Framework อย่าง Laravel/Filament)
RUN a2enmod rewrite
พอสร้าง folder structure แล้วก็สามารถสั่ง
docker compose up -d –build
เพื่อสั่ง build php ก่อน
ถ้าไม่มีปัญหาอะไร (น่าจะไม่มีแล้ว) ก็สามารถสั่งติดตั้ง Laravel (version 13) + Filament (5.0) ได้

ถ้าติดตั้ง Filament เรียบร้อยแล้ว เราจะสามารถเข้าใช้งานหน้า admin ของ Filament ตามนี้ได้
