# Panduan Deploy ke cPanel — MANTAO

Domain: **http://mantao.parepare.stat7300.net**

Build produksi sudah disiapkan di folder ini (`vendor/` sudah `--no-dev --optimize-autoloader`,
tidak perlu build Vite karena CSS statis). Tinggal upload.

## 1. Kemas & upload
Zip seluruh folder proyek, **kecualikan** ini:
- `.git/`, `node_modules/`, `tests/`
- `.env` (file lokal dev — jangan diupload)
- `storage/logs/*.log`

Upload & extract di server. Sertakan folder `vendor/` (sudah produksi).

## 2. File .env
- Upload **`.env.production`** lalu **rename menjadi `.env`** di server.
- (Isinya sudah: `APP_ENV=production`, `APP_DEBUG=false`, `APP_URL=http://mantao.parepare.stat7300.net`,
  kunci Supabase, setelan sesi.)

## 3. Kredensial Google (WAJIB)
Pastikan **`storage/app/credentials.json`** ikut terupload.
Tanpa file ini: pratinjau & sinkron Google Sheets mati.

## 4. Document Root subdomain
Arahkan docroot subdomain ke folder **`public/`** aplikasi
(mis. `/home/USER/mantao/public`) — JANGAN ke root aplikasi, supaya `.env` & `vendor`
tidak bisa diakses publik.

## 5. Versi PHP
Pilih **PHP 8.2 atau 8.3** (MultiPHP Manager). Jangan 8.5.

## 6. Izin folder
`storage/` dan `bootstrap/cache/` harus writable (chmod 775).

## 7. (Jika ada Terminal/SSH) optimasi cache
```bash
php artisan config:cache
php artisan route:cache
php artisan view:cache
```
Tanpa terminal: lewati — aplikasi tetap jalan.
> Catatan: setiap kali `.env` diubah, jalankan `php artisan config:cache` lagi
> (atau `php artisan config:clear` bila tidak pakai cache).

## 8. Setelah online
1. **Aktifkan SSL** (AutoSSL/Let's Encrypt di cPanel). Lalu ubah `.env`:
   `APP_URL=https://mantao.parepare.stat7300.net` dan `SESSION_SECURE_COOKIE=true`,
   jalankan `php artisan config:cache` lagi.
2. **Ganti password admin** (`admin@bps.go.id` / `BpsMantao2025!`) via menu Ubah Password.
3. Jalankan **`rls_tighten_mantao.sql`** di Supabase SQL Editor (perketat akses baca).

## Troubleshooting
- Halaman error 500 & layar putih → cek **`storage/logs/laravel.log`**.
- "419 Page Expired" saat login → pastikan `APP_URL` benar & (jika https) `SESSION_SECURE_COOKIE`
  sesuai (true hanya bila SSL aktif).
- Pratinjau/simpan Sheets gagal izin → beri akses **Editor** ke service account
  `kodsa-1@kodsa-318314.iam.gserviceaccount.com` di spreadsheet terkait.

## Untuk lanjut development lagi (di lokal)
`vendor/` sekarang tanpa dev-deps. Kembalikan dengan:
```bash
composer install
```
