> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/laravel/bab-13-pengayaan-proyek-and-portofolio/13.5-deployment-sederhana.md).

# 13.5 Deployment Sederhana

## Deployment sederhana

Proyek yang bagus tidak berhenti di localhost.

Di tahap ini, Anda mengenal alur deployment sederhana agar aplikasi bisa dipublikasikan.

### Target praktik subbab ini

Setelah menyelesaikan subbab ini, Anda seharusnya bisa:

* memahami arti deployment
* menyiapkan kebutuhan dasar sebelum upload proyek
* membedakan konfigurasi lokal dan produksi
* menyusun checklist deploy sederhana
* mendokumentasikan langkah publish proyek

### Gambaran alur deployment

Pada level dasar, deployment biasanya mencakup langkah berikut:

* unggah source code ke server atau hosting
* siapkan file `.env` untuk server
* jalankan install dependency
* jalankan migration
* pastikan storage dan permission siap

Untuk modul ini, fokusnya adalah memahami alur dan checklist kerjanya.

### Checklist deployment sederhana

Gunakan daftar berikut sebagai patokan awal.

{% stepper %}
{% step %}

### Siapkan source code yang rapi

Pastikan proyek sudah berjalan di lokal.

Pastikan juga file yang tidak perlu tidak ikut dibawa.
{% endstep %}

{% step %}

### Siapkan konfigurasi environment server

Buat file `.env` yang sesuai dengan server.

Nilai database, app URL, dan mode debug harus disesuaikan.
{% endstep %}

{% step %}

### Install dependency di server

Server perlu memasang dependency PHP.

Jika aset frontend dipakai, aset juga perlu dibangun sesuai kebutuhan server.
{% endstep %}

{% step %}

### Jalankan migration

Setelah database siap, jalankan migration agar tabel aplikasi terbentuk di server.
{% endstep %}

{% step %}

### Uji aplikasi hasil deploy

Cek halaman utama, login, daftar buku, dan fitur utama lain.

Pastikan error dasar seperti koneksi database atau file tidak ditemukan tidak muncul.
{% endstep %}
{% endstepper %}

### Output yang harus terlihat

Setelah subbab ini selesai, hasil berikut seharusnya sudah terlihat:

* Anda punya checklist deployment proyek Laravel
* Anda tahu data apa saja yang harus diubah pada `.env` server
* Anda paham migration perlu dijalankan di server
* Anda bisa menjelaskan perbedaan lokal dan produksi secara dasar

### Troubleshooting yang paling sering

Masalah yang paling sering muncul:

* **aplikasi tidak bisa konek database** — isi `.env` server salah
* **halaman error setelah upload** — dependency belum terpasang atau cache belum benar
* **file upload tidak tampil** — storage atau permission belum siap
* **mode debug masih aktif** — konfigurasi produksi belum dirapikan

{% hint style="warning" %}
Jangan menyalin file `.env` lokal mentah-mentah ke server tanpa pengecekan ulang.
{% endhint %}

### Mini tugas mandiri

Kerjakan tugas kecil ini:

* buat checklist deploy versi Anda sendiri
* tulis nilai `.env` apa saja yang harus diubah saat pindah ke server
* pilih satu layanan hosting atau server lalu catat kebutuhan dasarnya

### Ringkasan subbab

Di subbab ini, Anda belum fokus ke hosting tertentu.

Anda fokus memahami alur deployment agar proyek Laravel siap dipindahkan dari lokal ke lingkungan nyata.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/laravel/bab-13-pengayaan-proyek-and-portofolio/13.5-deployment-sederhana.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
