Topik ini memandu penyiapan lingkungan pengembangan Laravel dari awal, mulai dari pemeriksaan komponen yang sudah ada, instalasi PHP dan Composer apabila belum terpasang, pemilihan database, sampai pembuatan proyek Laravel pertama bernama aplikasi-catatan. Aplikasi catatan pribadi itu menjadi contoh kerja yang digunakan secara konsisten sepanjang jalur, sehingga namanya perlu dipertahankan apa adanya. Setelah langkah-langkahnya diikuti, proyek Laravel akan berjalan pada server pengembangan lokal dan siap menerima kode aplikasi pertama.
Komponen lingkungan pengembangan#
Lingkungan pengembangan Laravel tersusun atas empat komponen. PHP 8.3 ke atas menjalankan aplikasi, sedangkan Composer mengelola package-nya. Driver database menyediakan tempat penyimpanan data dengan SQLite sebagai bawaan proyek baru, dan Node.js beserta npm digunakan untuk mengompilasi aset frontend. Empat komponen itu perlu terpasang sebelum proyek pertama dibuat, dan ketersediaannya dapat diverifikasi satu per satu dari terminal.
Diagram berikut merangkum urutan penyiapannya. Setiap tahap memiliki perintah verifikasi singkat yang ditulis di dalam kotaknya, sehingga keberhasilan tiap langkah dapat dipastikan sebelum melanjutkan:
# menampilkan versi PHP yang dipakai terminal
php -vPHP 8.3.29 (cli) (built: Nov 3 2026 05:56:22) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.29, Copyright (c) Zend TechnologiesBaris pertama keluaran memuat versi lengkapnya, yaitu PHP 8.3.29, dan angka itu sudah melewati versi minimum Laravel 13. Apabila terminal justru menampilkan pesan command not found, PHP belum terpasang dan instalasi pada bagian berikutnya perlu dilakukan lebih dahulu. Versi di atas 8.3, misalnya 8.4 atau 8.5, juga memenuhi syarat karena Laravel 13 mendukung PHP 8.3 sampai 8.5.
Instalasi PHP dan Composer#
Dokumentasi resmi menyediakan skrip pemasangan bernama php.new untuk macOS, Windows, dan Linux yang memasang PHP dan Composer sekaligus dalam satu langkah. Alternatif lainnya adalah Laravel Herd, yaitu lingkungan pengembangan native untuk macOS dan Windows yang memuat PHP, Nginx, serta alat baris perintah termasuk composer dan laravel. Keduanya mengunduh berkas dari internet, sehingga membutuhkan koneksi yang stabil dan waktu beberapa menit.
# tidak-dijalankan
# memasang PHP dan Composer pada Linux melalui skrip resmi php.new
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.5)"Perintah di atas tidak dijalankan ulang di sandbox karena PHP dan Composer di lingkungan tersebut sudah terpasang. Setelah skrip php.new selesai, sesi terminal perlu dibuka ulang agar variabel PATH memuat lokasi PHP yang baru. Apabila PHP dan Composer sudah terpasang lebih dahulu, langkah pemasangan ini dapat dilewati.
Satu komponen lagi bersifat opsional pada tahap ini, yaitu Laravel Installer yang menyediakan perintah laravel new:
# tidak-dijalankan
# memasang Laravel installer secara global melalui Composer
composer global require laravel/installerPerintah itu tidak wajib dijalankan sekarang karena pembuatan proyek pada jalur ini menggunakan Composer secara langsung. Kehadiran Composer dapat dipastikan dengan perintah berikut:
# menampilkan versi Composer yang terpasang
composer --versionComposer version 2.11.1 2026-10-30 14:52:10
PHP version 8.3.29 (/home/kal/.local/bin/php)
Run the "diagnose" command to get more detailed diagnostics output.Keluaran menunjukkan Composer versi 2.11.1, sedangkan baris kedua dan ketiganya menampilkan PHP yang digunakan Composer, yaitu PHP 8.3.29 pada lokasi /home/kal/.local/bin/php. Seri Composer 2 inilah yang digunakan seluruh contoh pada jalur ini, sehingga hasil setiap perintahnya konsisten.
Pilihan database#
Proyek Laravel baru menggunakan SQLite sebagai database bawaannya. Konfigurasinya ditulis pada berkas .env melalui variabel DB_CONNECTION=sqlite, sedangkan datanya disimpan pada satu berkas database/database.sqlite tanpa proses server tambahan. Dokumentasi resmi menyatakan berkas itu dibuat dan migration bawaannya dijalankan secara otomatis saat proyek dibuat, sehingga database langsung siap digunakan.
SQLite bukan pilihan satu-satunya, dan tabel berikut membandingkan ketiga pilihan yang paling umum:
| Database | Bentuk | Cocok untuk |
|---|---|---|
| SQLite | berkas tunggal tanpa server | pengembangan lokal dan aplikasi kecil menengah |
| MySQL | server terpisah | aplikasi dengan banyak akses serentak dan hosting umum |
| PostgreSQL | server terpisah | aplikasi menengah besar dengan kebutuhan SQL yang kaya |
Untuk aplikasi contoh jalur ini, SQLite cukup karena skemanya kecil dan beban aksesnya ringan. Peralihan ke MySQL atau PostgreSQL dilakukan dengan mengubah variabel DB_* pada .env, lalu menjalankan php artisan migrate untuk membuat tabel-tabelnya. Penundaan keputusan itu aman karena lapisan akses database Laravel menjaga kode aplikasi tetap sama di atas DBMS mana pun. SQLite juga tidak menambah beban penyiapan karena dukungannya sudah menyertai PHP melalui ekstensi pdo_sqlite, sedangkan MySQL dan PostgreSQL menuntut instalasi server tersendiri.
Membuat proyek pertama#
Dua cara resmi tersedia untuk membuat proyek. Cara pertama menggunakan Laravel Installer dengan perintah laravel new, sedangkan cara kedua menggunakan Composer secara langsung dengan composer create-project laravel/laravel. Keduanya mengunduh templat proyek resmi laravel/laravel beserta seluruh dependensinya dari Packagist. Jalur ini menggunakan cara kedua karena tidak membutuhkan instalasi alat tambahan.
# tidak-dijalankan
# membuat proyek dengan Laravel installer (opsional)
laravel new aplikasi-catatanCara kedua, yang digunakan jalur ini, dijalankan dengan perintah berikut:
# tidak-dijalankan
# membuat proyek Laravel pertama bernama aplikasi-catatan
composer create-project laravel/laravel aplikasi-catatanPerintah tersebut tidak dieksekusi ulang pada bagian ini karena efek sampingnya besar dan prosesnya membutuhkan waktu beberapa menit. Keluaran berikut diambil dari eksekusi nyata perintah yang sama di sandbox, dengan direktori kerja sementara di /tmp dan sebagian baris tengahnya dipendekkan:
Creating a "laravel/laravel" project at "./aplikasi-catatan"
Installing laravel/laravel (v13.11.0)
Created project in /tmp/uji-laravel/aplikasi-catatan
Loading composer repositories with package information
Updating dependencies
Lock file operations: 111 installs, 0 updates, 0 removals
...
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 111 installs, 0 updates, 0 removals
...
Generating optimized autoload files
...
No security vulnerability advisories found.
> @php artisan key:generate --ansi
INFO Application key set successfully.
> @php -r "file_exists('database/database.sqlite') || touch('database/database.sqlite');"
> @php artisan migrate --graceful --ansi
INFO Preparing database.
Creating migration table ....................................... 2.23ms DONE
INFO Running migrations.
0001_01_01_000000_create_users_table ........................... 1.66ms DONE
0001_01_01_000001_create_cache_table ........................... 0.84ms DONE
0001_01_01_000002_create_jobs_table ............................ 1.44ms DONEKeluaran itu menunjukkan tiga fase kerja Composer. Fase pertama mengunduh templat proyek laravel/laravel, fase kedua menulis composer.lock dan memasang 111 package, sedangkan fase ketiga menjalankan skrip pasca-instalasi milik Laravel, yaitu kunci aplikasi dibuat dengan key:generate, berkas database/database.sqlite disiapkan, dan migration bawaan membuat tabel users, cache, serta jobs. Hasilnya, proyek baru sudah memuat database yang siap digunakan tanpa satu pun perintah tambahan.
Hasil akhirnya dapat diverifikasi dari terminal:
# memeriksa versi Laravel pada proyek yang baru dibuat
cd ~/aplikasi-catatan
php artisan --versionLaravel Framework 13.39.0Berkas database bawaan juga dapat dipastikan keberadaannya:
# memastikan berkas database SQLite bawaan sudah ada
ls ~/aplikasi-catatan/database/database.sqlite/home/kal/aplikasi-catatan/database/database.sqliteMenjalankan server pengembangan#
Menjalankan Laravel tidak membutuhkan penyetelan server web pada tahap ini karena Artisan menyediakan server pengembangan sendiri. Artisan adalah alat baris perintah milik Laravel yang dipanggil melalui berkas artisan pada akar proyek. Server yang dihasilkannya memang ditujukan untuk pengembangan dan bukan untuk produksi, tetapi untuk keperluan belajar, sifat itu justru yang dibutuhkan. Perintah berikut menjalankan server pengembangan pada http://localhost:8000:
# tidak-dijalankan
# menjalankan server pengembangan Laravel (berjalan terus sampai dihentikan)
cd ~/aplikasi-catatan
php artisan servePerintah di atas ditandai tidak-dijalankan karena servernya berjalan terus dan tidak selesai dengan sendirinya. Selama berjalan, halaman pembuka Laravel dapat dibuka dari browser pada alamat http://localhost:8000, dan server dihentikan dengan menekan Ctrl+C di terminalnya. Dokumentasi resmi juga memuat contoh composer run dev, yang menjalankan server pengembangan, worker antrian, dan server Vite sekaligus setelah aset frontend di-build dengan npm. Untuk tahap pembelajaran sekarang, php artisan serve sudah cukup.
Kesalahan umum#
- Versi PHP lebih tua dari 8.3 tetap digunakan. Composer menolak instalasi dengan pesan yang menyebut syarat
php >=8.3ketika versi terpasang tidak memenuhi syarat. Perbaikannya adalah memperbarui PHP melalui skrip php.new atau pengelola package milik sistem, lalu mengulangi pemeriksaanphp -v. - Unduhan create-project terputus di tengah proses. Perintah
composer create-projectmengunduh ratusan package, sehingga koneksi yang tidak stabil membuatnya gagal sebelum selesai. Hapus direktori proyek yang setengah jadi, pastikan koneksi stabil, lalu jalankan ulang perintahnya dari awal. - Port 8000 sudah digunakan proses lain. Server menampilkan pesan kegagalan ketika
php artisan servedijalankan bersamaan dengan proses lain yang mendengarkan pada port yang sama. Gunakan port lain denganphp artisan serve --port=8001. - Berkas .env hilang pada proyek hasil salinan repository. Proyek yang disalin dari repository git tidak membawa
.envmaupunvendor/karena keduanya memang tidak disertakan. Jalankancomposer install, salin.env.examplemenjadi.env, lalu buat kunci aplikasi denganphp artisan key:generate.
Ringkasan#
- Lingkungan minimum terdiri atas PHP 8.3 ke atas, Composer, driver database dengan SQLite sebagai bawaan, dan Node.js beserta npm untuk aset frontend.
- SQLite adalah database bawaan proyek baru, yaitu berkas
database/database.sqliteyang dibuat otomatis bersama migration bawaannya saat proyek dibuat. - Proyek dibuat dengan
laravel newataucomposer create-project laravel/laravel, dan prosesnya mengunduh templat, memasang dependensi, menghasilkan kunci aplikasi, serta menjalankan migration. - Server pengembangan dijalankan dengan
php artisan servedan diakses dari browser padahttp://localhost:8000.
Referensi#
- Installation — Laravel — langkah penyiapan resmi, termasuk skrip php.new, Laravel installer, Herd, dan database SQLite bawaan.
- Command-line interface — Composer
— dokumentasi resmi perintah
create-projectyang dipakai untuk membuat proyek. - Laravel Herd — Laravel — lingkungan pengembangan native untuk macOS dan Windows yang memuat PHP dan Nginx.
- Artisan — Laravel
— dokumentasi alat baris perintah Artisan, termasuk perintah
serve.