Membuat dan Menjalankan Proyek Laravel di ServBay
Ringkasan
ServBay adalah lingkungan pengembangan web lokal yang kuat, mendukung macOS dan Windows, serta sudah terintegrasi dengan berbagai paket populer seperti PHP, Node.js, Python, Go, Java, berbagai database (MySQL, PostgreSQL, MongoDB), layanan cache (Redis, Memcached), dan web server (Caddy, Nginx, Apache).
Dokumen ini akan memandu Anda untuk dengan cepat membuat, mengonfigurasi, dan menjalankan proyek Laravel di lingkungan ServBay. Kita akan memanfaatkan ekosistem PHP bawaan ServBay, manajer paket Composer, serta fitur manajemen situs (dulu disebut “Host”) yang efisien untuk menyederhanakan seluruh proses.
Apa itu Laravel?
Laravel adalah framework aplikasi web PHP sumber terbuka yang sangat populer, dikembangkan oleh Taylor Otwell. Framework ini mengikuti arsitektur MVC (Model-View-Controller) dan menawarkan banyak fitur bawaan untuk memudahkan tugas-tugas umum pengembangan web, seperti autentikasi pengguna, routing, manajemen sesi, caching, dan operasi database. Laravel dikenal karena sintaksisnya yang elegan, fitur yang kaya, serta dukungan komunitas yang kuat—menjadikannya pilihan ideal untuk membangun aplikasi web modern dan mudah dirawat.
Fitur Utama dan Keunggulan Laravel
- Sintaksis elegan: Kode bersih dan ekspresif, meningkatkan efisiensi pengembangan dan keterbacaan kode.
- Eloquent ORM: Implementasi ActiveRecord yang kuat, memudahkan interaksi database secara intuitif.
- Konsol Artisan: Terdapat banyak perintah CLI berguna untuk migrasi database, pembuatan kode, menjalankan pengujian, dan lainnya.
- Blade Template Engine: Menyediakan sintaks template sederhana untuk membangun tampilan dinamis.
- Ekosistem kaya: Banyak paket resmi maupun pihak ketiga yang mudah diintegrasikan melalui Composer.
- Dukungan komunitas: Komunitas aktif menyediakan banyak sumber daya, tutorial, dan solusi.
Keunggulan Mengembangkan Laravel di ServBay
ServBay memberikan banyak kemudahan bagi developer Laravel:
- Lingkungan terintegrasi: ServBay telah memaketkan berbagai versi PHP, Composer, serta database dan layanan cache umum, tanpa perlu instalasi dan konfigurasi manual.
- Mudah dikelola: Melalui antarmuka grafis ServBay, Anda bisa dengan mudah berganti versi PHP, mengatur konfigurasi situs, serta menyalakan/mematikan layanan.
- Web server sudah terkonfigurasi: ServBay menggunakan Caddy secara default, dan telah dioptimalkan untuk framework PHP umum termasuk Laravel, sehingga pengaturan web server menjadi lebih sederhana.
- Dukungan HTTPS: Secara otomatis mengonfigurasikan sertifikat SSL dari ServBay User CA untuk domain
.local, memungkinkan pengembangan lokal yang aman dan mirip seperti di lingkungan produksi.
Membuat Proyek Laravel
ServBay merekomendasikan agar proyek website Anda disimpan di direktori berikut untuk menjaga struktur file tetap rapi dan mudah dikelola:
- macOS:
/Applications/ServBay/www - Windows:
C:\ServBay\www
Pastikan Composer Sudah Terpasang
ServBay sudah menyertakan Composer saat proses instalasi, jadi Anda tak perlu menginstalnya secara manual. Verifikasi melalui terminal:
bashcomposer --version1Jika perintah ini menampilkan nomor versi, berarti Composer sudah siap digunakan.
Buat Proyek Laravel Baru
Buka terminal, navigasikan ke direktori situs yang direkomendasikan ServBay, lalu gunakan Composer untuk membuat proyek Laravel baru. Misalnya, kita beri nama folder proyek
servbay-laravel-app:macOS:
bashcd /Applications/ServBay/www # Buat folder proyek mkdir servbay-laravel-app # Masuk ke folder proyek cd servbay-laravel-app # Gunakan Composer untuk membuat Laravel di folder ini composer create-project --prefer-dist laravel/laravel .1
2
3
4
5
6
7Windows:
cmdcd C:\ServBay\www # Buat folder proyek mkdir servbay-laravel-app # Masuk ke folder proyek cd servbay-laravel-app # Gunakan Composer untuk membuat Laravel di folder ini composer create-project --prefer-dist laravel/laravel .1
2
3
4
5
6
7Composer akan mengunduh dan menginstal Laravel beserta semua dependensinya.
Masuk ke Folder Proyek
Pastikan terminal Anda berada di folder root Laravel yang baru dibuat:
macOS:
bashcd /Applications/ServBay/www/servbay-laravel-app1Windows:
cmdcd C:\ServBay\www\servbay-laravel-app1
Inisialisasi Konfigurasi
Generate App Key
Laravel memerlukan kunci aplikasi untuk menjaga sesi pengguna dan data enkripsi. Jalankan perintah Artisan di root proyek untuk menghasilkan key:
Lokasi direktori proyek:
- macOS:
/Applications/ServBay/www/servbay-laravel-app - Windows:
C:\ServBay\www\servbay-laravel-app
bashphp artisan key:generate1Perintah ini akan menghasilkan dan mengatur nilai
APP_KEYdi file.envAnda.- macOS:
Konfigurasi Environment (
.env)Laravel menggunakan file
.envuntuk mengelola variabel lingkungan, seperti koneksi database, URL aplikasi, dan lain-lain. Buka file.envdi root proyek dan sesuaikan konfigurasi sesuai kebutuhan Anda. Pastikan konfigurasi dasar berikut sudah benar:dotenvAPP_NAME=ServBay Laravel Demo APP_ENV=local APP_KEY=base64:... # Nilai ini dihasilkan oleh php artisan key:generate APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack # Contoh konfigurasi database (MySQL) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app # Nama database yang digunakan DB_USERNAME=root # Username default ServBay DB_PASSWORD=password # Password default ServBay # Contoh konfigurasi cache/antrian (Redis) CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Redis ServBay default tanpa password REDIS_PORT=6379 # Contoh konfigurasi cache/antrian (Memcached) # CACHE_STORE=memcached # MEMCACHED_HOST=127.0.0.1 # MEMCACHED_PORT=112111
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26Catatan: Anda mungkin perlu menyesuaikan konfigurasi
DB_*,REDIS_*, atauMEMCACHED_*sesuai layanan yang digunakan. Username dan password database default ServBay dapat dilihat di panel kontrol ServBay.
Pengaturan Web Server (Menambahkan Situs di ServBay)
Manfaatkan fitur manajemen situs ServBay untuk mengonfigurasi server web dan mengarahkan domain Anda ke folder public dari proyek Laravel.
Buka Panel Kontrol ServBay
Jalankan aplikasi ServBay dan buka panel kontrolnya.
Tambah Situs Baru
Navigasikan ke bagian ‘Website’ di panel kontrol ServBay. Klik tombol tambah (biasanya berikon
+atau sejenisnya) untuk menambah situs baru.Isi Informasi Situs
Berikut contoh pengisian konfigurasi situs:
Nama:
My First Laravel Dev Site(Nama untuk identifikasi mudah)Domain:
servbay-laravel-test.local(Domain untuk mengakses lewat browser)Jenis Situs:
PHPVersi PHP: Pilih versi PHP yang sesuai dengan Laravel, misal
8.3.Root Directory:
- macOS:
/Applications/ServBay/www/servbay-laravel-app/public - Windows:
C:\ServBay\www\servbay-laravel-app\public
(Penting: Arahkan ke subdirektori
publicdalam root proyek Laravel)- macOS:
Untuk langkah dan opsi lebih lanjut, silakan cek dokumentasi resmi ServBay tentang Menambah Situs Pertama (cari tautan versi bahasa Inggris).
Simpan & Terapkan Perubahan
Simpan pengaturan situs Anda. ServBay akan otomatis memperbarui konfigurasi web server (default: Caddy). Jika ada instruksi untuk restart web server, ikuti langkah tersebut.
Verifikasi Akses Dasar
Proyek Laravel Anda sekarang seharusnya sudah bisa diakses lewat domain yang dikonfigurasi.
Buka Browser
Akses domain yang Anda atur, misal
https://servbay-laravel-test.local.Lihat Hasilnya
Jika konfigurasi benar, halaman sambutan Laravel akan muncul di browser.
Menambahkan Kode Contoh Sederhana
Sebagai uji coba, mari tambahkan rute sederhana pada file routes/web.php untuk menampilkan "Hello ServBay!".
Cari file routes/web.php di folder proyek, lalu tambahkan atau ubah kode berikut:
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return 'Hello ServBay!'; // Ubah atau tambahkan baris ini
});
// ... Rute lainnya1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Simpan file, lalu akses kembali https://servbay-laravel-test.local. Kini browser Anda akan menampilkan Hello ServBay!.
Contoh Integrasi Database
Laravel menyediakan lapisan abstraksi database serta ORM (Eloquent) yang memudahkan interaksi dengan berbagai database. ServBay sudah memaketkan MySQL, PostgreSQL, MongoDB, Redis, Memcached—memudahkan pengujian pengembangan lokal.
Contoh Database NoSQL
ServBay sudah terintegrasi dengan Redis dan Memcached, serta ekstensi PHP-nya pun sudah terpasang.
Contoh Memcached
Konfigurasi
.envAtur koneksi Memcached di file
.env, jika belum:dotenvCACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # Port default Memcached dari ServBay1
2
3Menggunakan Memcached
Interaksi dengan Memcached menggunakan facade cache Laravel pada rute atau controller:
Tambahkan rute berikut di
routes/web.php:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached-test', function () { // Menyimpan data ke cache, berlaku 10 menit (600 detik) Cache::put('servbay_memcached_key', 'Hello from Memcached on ServBay!', 600); // Mengambil data dari cache $value = Cache::get('servbay_memcached_key'); if ($value) { return "Data Memcached: " . $value; } else { return "Data Memcached tidak ditemukan atau sudah kadaluarsa."; } });1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Akses
https://servbay-laravel-test.local/memcached-testuntuk pengujian.
Contoh Redis
Konfigurasi
.envAtur koneksi Redis di
.envjika belum:dotenvCACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Redis pada ServBay tanpa password REDIS_PORT=6379 # Port default Redis ServBay1
2
3
4Catatan: Jika mengkonfigurasi Memcached dan Redis sekaligus, pastikan hanya mengaktifkan satu layanan pada variabel
CACHE_STORE(komentar layanan yang tidak digunakan).Menggunakan Redis
Interaksi dengan Redis menggunakan facade Redis atau Cache pada Laravel:
Tambahkan contoh rute pada
routes/web.php:phpuse Illuminate\Support\Facades\Redis; // Atau gunakan Cache facade jika CACHE_STORE=redis // use Illuminate\Support\Facades\Cache; Route::get('/redis-test', function () { // Menggunakan facade Redis Redis::set('servbay_redis_key', 'Hello from Redis on ServBay!'); $value_redis = Redis::get('servbay_redis_key'); // Atau gunakan Cache facade (jika CACHE_STORE=redis) // Cache::put('servbay_redis_key', 'Hello from Redis on ServBay!', 600); // $value_cache = Cache::get('servbay_redis_key'); return "Data Redis: " . $value_redis; });1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Akses
https://servbay-laravel-test.local/redis-testuntuk pengujian.
Contoh Database Relasional (MySQL & PostgreSQL)
ServBay telah memaketkan server database MySQL dan PostgreSQL. ORM Eloquent Laravel memudahkan koneksi ke kedua database ini.
Pertama, buat database proyek Anda menggunakan alat manajemen database ServBay (phpMyAdmin, Adminer, pgAdmin, dsb—akses via panel kontrol) atau lewat CLI, dan buat database bernama servbay_laravel_app.
Selanjutnya, gunakan fitur migrasi Laravel untuk membuat struktur tabel database.
Buat File Migrasi
Jalankan perintah Artisan di root proyek untuk membuat file migrasi:
bashphp artisan make:migration create_accounts_table --create=accounts1File baru migrasi akan muncul di folder
database/migrations.Edit File Migrasi
Buka file migrasi baru (namanya mirip
YYYY_MM_DD_HHMMSS_create_accounts_table.php), lalu edit methodup:php<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Menjalankan migrasi. */ public function up(): void { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); // Menambahkan kolom created_at dan updated_at }); } /** * Membalikkan migrasi. */ public function down(): void { Schema::dropIfExists('accounts'); } };1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29Simpan file tersebut.
Menjalankan Migrasi
Jalankan perintah berikut di root proyek untuk membuat tabel oleh Artisan:
bashphp artisan migrate1Jika konfigurasi database benar dan database
servbay_laravel_appsudah tersedia, migrasi akan membuat tabelaccountsserta tabel default Laravel lain sepertiusers,password_reset_tokens,failed_jobs,cache,cache_locks,jobs,job_batches, dst.
Contoh MySQL
Konfigurasi
.envuntuk MySQLPastikan konfigurasi database di
.envmenunjuk ke MySQL:dotenvDB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 # Port default MySQL ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password # Password default ServBay untuk MySQL1
2
3
4
5
6Memasukkan Data Contoh
Tambahkan rute di
routes/web.phpuntuk memasukkan data ke tabelaccounts:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay Demo User', 'email' => 'demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account ditambahkan ke MySQL!'; });1
2
3
4
5
6
7
8
9
10
11Akses
https://servbay-laravel-test.local/mysql-add-accountuntuk menambah data.Membaca Data Contoh
Tambahkan rute untuk membaca data dari tabel
accounts:phpuse App\Models\Account; // Jika Anda membuat model Account // Atau langsung pakai DB facade Route::get('/mysql-accounts', function () { // Pakai DB facade $accounts = DB::table('accounts')->get(); // Atau gunakan Eloquent ORM (jika model Account ada) // $accounts = Account::all(); return $accounts; });1
2
3
4
5
6
7
8
9
10
11
12Akses
https://servbay-laravel-test.local/mysql-accountsuntuk melihat data.
Contoh PostgreSQL
Konfigurasi
.envuntuk PostgreSQLJika ingin menggunakan PostgreSQL, ubah konfigurasi database di
.env:dotenvDB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 # Port default PostgreSQL ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root # Username default ServBay untuk PostgreSQL DB_PASSWORD=password # Password default ServBay untuk PostgreSQL1
2
3
4
5
6Catatan: Setelah mengubah koneksi database, Anda mungkin perlu menjalankan ulang migrasi dengan
php artisan migrate:refreshatauphp artisan migrate.Menulis Data Contoh (PostgreSQL)
Tambahkan rute untuk memasukkan data ke tabel:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay PG Demo User', 'email' => 'pg-demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account ditambahkan ke PostgreSQL!'; });1
2
3
4
5
6
7
8
9
10
11Akses
https://servbay-laravel-test.local/pgsql-add-accountuntuk menambah data.Membaca Data Contoh (PostgreSQL)
Tambahkan rute untuk membaca data dari tabel:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-accounts', function () { $accounts = DB::table('accounts')->get(); return $accounts; });1
2
3
4
5
6Akses
https://servbay-laravel-test.local/pgsql-accountsuntuk melihat data.
Ringkasan
Dengan ServBay, Anda dapat membangun lingkungan pengembangan lokal untuk membuat dan menjalankan proyek Laravel dengan mudah. Integrasi PHP, Composer, server web Caddy, serta berbagai database dan layanan cache dalam ServBay membuat proses setup lingkungan menjadi sangat sederhana. Hanya dengan langkah mudah, Anda bisa membuat proyek Laravel, mengatur web server, dan langsung mulai pengembangan—serta mengintegrasikan dan menguji database maupun cache dengan lebih praktis. ServBay berkomitmen memberikan pengalaman pengembangan lokal yang efisien dan nyaman bagi developer.
Jika Anda menemui masalah, konsultasikan dokumentasi resmi ServBay atau dapatkan dukungan dari komunitas.
