Cara Install Laravel 9 dengan Docker dan PHP 8.2 di Ubuntu Desktop

Laravel adalah salah satu framework PHP paling populer dan powerful. Kali ini kita akan membahas cara install Laravel 9 menggunakan Docker di sistem operasi Ubuntu Desktop. Tutorial ini menggunakan PHP 8.2 dan cocok untuk pemula maupun developer yang ingin setup environment Laravel dengan cepat dan rapi.

🧱 Persiapan Awal

Pastikan kamu sudah menginstall:

  • Docker: sudo apt install docker.io
  • Docker Compose: sudo apt install docker-compose
  • Git (opsional)

📦 Langkah 1: Buat Folder Proyek

mkdir kasirku && cd kasirku

⚙️ Langkah 2: Buat File docker-compose.yml

Buat file docker-compose.yml dengan isi berikut:


version: '3.8'

services:
  app:
    image: php:8.2-fpm
    container_name: kasirku_app
    volumes:
      - .:/var/www/html
    working_dir: /var/www/html
    networks:
      - kasirku
    depends_on:
      - mysql

  webserver:
    image: nginx:alpine
    container_name: kasirku_web
    ports:
      - "8000:80"
    volumes:
      - .:/var/www/html
      - ./nginx/conf.d:/etc/nginx/conf.d
    depends_on:
      - app
    networks:
      - kasirku

  mysql:
    image: mysql:5.7
    container_name: kasirku_mysql
    restart: always
    environment:
      MYSQL_DATABASE: kasirku
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: kasir
      MYSQL_PASSWORD: secret
    ports:
      - "3306:3306"
    volumes:
      - dbdata:/var/lib/mysql
    networks:
      - kasirku

networks:
  kasirku:

volumes:
  dbdata:

🌐 Langkah 3: Buat Konfigurasi Nginx

Buat folder dan file nginx/conf.d/default.conf:


server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    root /var/www/html/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }

    location ~ /\.ht {
        deny all;
    }
}

⚒️ Langkah 4: Install Laravel 9

Install Laravel langsung ke folder saat ini menggunakan Composer dari Docker:


docker run --rm -v $(pwd):/app composer create-project laravel/laravel:^9.0 .

🔐 Langkah 5: Perbaiki Hak Akses

Laravel membutuhkan izin tulis untuk folder berikut:


sudo chown -R $USER:$USER storage bootstrap/cache
chmod -R 775 storage bootstrap/cache

🐳 Langkah 6: Jalankan Docker

docker-compose up -d

⚙️ Langkah 7: Atur .env Laravel

Edit file .env dan sesuaikan database:


DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=kasirku
DB_USERNAME=kasir
DB_PASSWORD=secret

🔑 Langkah 8: Generate Key & Migrasi


docker exec -it kasirku_app bash
php artisan key:generate
php artisan migrate
exit

🌍 Langkah 9: Akses Laravel

Buka browser dan akses: http://localhost:8000

🧪 Troubleshooting

❌ Error: Permission denied untuk laravel.log

Jalankan ini untuk memperbaiki:


sudo chown -R $USER:$USER storage bootstrap/cache
chmod -R 775 storage bootstrap/cache

✅ Penutup

Sekarang kamu sudah berhasil menjalankan Laravel 9 dengan Docker dan PHP 8.2 di Ubuntu Desktop. Ini adalah setup ideal untuk pengembangan lokal yang bersih, cepat, dan portabel. Selanjutnya kamu bisa mulai membuat modul kasir seperti data produk, transaksi, laporan, dan lainnya.

Bagikan artikel ini jika bermanfaat!