Back to Writing
Development

Persiapan Production Laravel

Dany Akmallun Ni'am
Dany Akmallun Ni'ammas mas jawa
Persiapan Production Laravel

Persiapan Production Laravel: Apa Saja yang Harus Kamu Cek?

Jika kamu telah mencapai langkah ini, selamat. Ini menunjukkan bahwa proyek Laravel mu telah berjalan di lingkungan lokal, semua fungsi berjalan dengan baik, dan saatnya untuk memindahkannya ke server produksi. Namun, perhatikan, proses pengiriman ini tidak bisa dilakukan hanya dengan mengunggah dan beres. Ada banyak detail kecil yang seringkali terabaikan dan dapat menyebabkan aplikasi mengalami kesalahan, melambat, atau bahkan menyebabkan kebocoran data pengguna.

Jadi, untuk menjaga agar semuanya aman dan berjalan dengan baik, dalam tulisan ini kita akan membahas Persiapan Produksi Laravel. Anggaplah ini sebagai panduan yang praktis untuk memastikan bahwa segala sesuatunya sudah siap untuk digunakan.

1. Pastikan Keamanan

Keamanan harus selalu menjadi prioritas utama. Pastikan aplikasi yang kamu buat tidak hanya terlihat menarik tetapi juga aman dari kebocoran data hanya karena ada satu berkas yang terabaikan.

File ".env"

File env ini semua datanya sangat sensitif: key, kredensial, API token, dan lain-lain. Jadi:

  • Pastikan ".env" nggak ikut ke Git. Harus ada di ".gitignore".
  • Ubah "APP_DEBUG=true" jadi "APP_DEBUG=false" di server produksi.
  • Pastikan "APP_KEY" di server dibuat baru, bukan hasil copy dari lokal. Kamu bisa jalankan:
bash
php artisan key:generate

Validasi Semua Input

Semua informasi yang diterima dari pengguna sangat rentan. Manfaatkan alat Validator Laravel setiap kali mendapatkan masukan, baik dari formulir, API, maupun query string. Contoh: "required", "email", "max", "min", "alpha_num", dll. Jangan percaya input mentah dari user.

Cegah Serangan Umum

Laravel telah memberikan banyak bantuan, tetapi kamu tetap perlu memahami prinsip-prinsip dasarnya:

  • SQL Injection: Gunakan Eloquent atau Query Builder dengan parameter binding. Hindari "DB::raw()" pakai input mentah.
  • XSS: Gunakan "{{ $variable }}" di Blade (bukan "{!! $variable !!}") kecuali yakin datanya aman.
  • CSRF: Semua form POST, PUT, DELETE wajib ada "@csrf".

Audit Dependencies

Cek semua paket composer, siapa tahu ada yang punya celah keamanan.

bash
composer audit

Kalau ada peringatan, update paketnya.

2. Bersihkan Kode Sebelum Dikirim

Sebelum naik ke server, bersihkan dulu hal-hal yang nggak penting.

  • Hapus semua "dd()", "dump()", "var_dump()", "console.log()", atau sisa-sisa debug.
  • Hapus file, route, controller, atau view yang udah nggak dipakai.
  • Gunakan formatter biar kode kamu rapi. Laravel 9 ke atas sudah punya Laravel Pint, cukup jalankan:
bash
./vendor/bin/pint

Kode rapi = gampang dipelihara dan keliatan profesional.

3. Optimasi Performa Aplikasi

Setelah aman dan bersih, sekarang waktunya bikin aplikasi kamu cepat dan ringan.

Gunakan Cache Laravel

Laravel punya fitur caching yang bisa bikin performa melonjak. Jalankan perintah berikut di server:

bash
php artisan config:cache
bash
php artisan route:cache
bash
php artisan view:cache

Setiap kali kamu ubah konfigurasi, route, atau view, jangan lupa jalankan ulang perintah di atas.

Optimasi Composer dan Frontend

Composer:

bash
composer install --optimize-autoloader --no-dev

Itu buat memastikan autoloader lebih cepat dan paket dev nggak ikut ke server.

Frontend:

Build aset kamu di lokal, bukan di server.

bash
npm run build

Jangan upload folder "node_modules". Yang dikirim ke server cuma hasil build-nya (biasanya di "public/build").

Hindari Query N+1

Masalah klasik di Laravel: query berulang-ulang di dalam loop.

Solusinya pakai eager loading:

bash
Post::with('author')->get();

Daripada ngelakuin 21 query, cukup 2 query aja. Kalau mau deteksi, bisa pakai package Laravel Debugbar di lokal.

4. Konfigurasi Lingkungan Produksi

Sekarang saatnya pastikan environment di server udah sesuai.

  • Cek semua variabel ".env": database, mail, API key, dan lainnya.
  • Gunakan driver cache/sesi yang sesuai, misalnya "redis" atau "memcached" (hindari "file" untuk traffic besar).
  • Atur log supaya mudah dibaca. Gunakan:
bash
LOG_CHANNEL=daily

Log harian lebih rapi dan gampang dicek saat ada error.

Kesimpulan

Penerapan tidak hanya sekadar mengunggah proyek ke server. Ini mengenai memastikan bahwa aplikasi kamu terjaga, efisien, dan andal di dunia nyata.

Jika semua item dalam daftar di atas sudah kamu laksanakan, artinya aplikasi Laravel kamu sudah siap untuk diluncurkan. Langkah sederhana ini akan membuatmu terhindar dari banyak kesulitan setelah go live.

Selamat melakukan deployment dan semoga berjalan sukses!

Bagikan artikel ini