DP
Deploy Playbook

// PANDUAN DEPLOYMENT

Instalasi & Konfigurasi Sistem

Panduan lengkap untuk deploy aplikasi Laravel (Vue + Inertia) di aAPanel, aktivasi akun admin, konfigurasi payment gateway JayaPay, dan penyiapan API Node.js pendamping.

1

Instalasi Laravel di aAPanel

Buat website baru di aAPanel, lalu integrasikan project Laravel dan arahkan document root ke folder /public.

  1. Buat website & upload project
    Buat site baru di aAPanel, upload seluruh project Laravel, lalu atur document root website ke folder public milik project (bukan root project).
  2. Konfigurasi database di .env
    Sesuaikan kredensial database sesuai database yang sudah dibuat di aAPanel.
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=nama_database
    DB_USERNAME=user_database
    DB_PASSWORD=password_database
  3. Jalankan migrasi database
    php artisan migrate
  4. Build asset frontend (Vue + Inertia)
    npm install
    npm run build
  5. Atur permission folder storage dan bootstrap/cache
    Jalankan lewat terminal aAPanel di root project agar Laravel bisa menulis log, cache, dan file session.
    chmod -R 775 storage bootstrap/cache
    chown -R www:www storage bootstrap/cache

    Ganti www:www dengan user & group web server aAPanel jika berbeda (cek di menu Website → Permission).

  6. Bersihkan cache konfigurasi
    Wajib dijalankan setelah proses build maupun setiap kali .env berubah.
    php artisan optimize:clear

Jika masih muncul error 500 setelah build, cek kembali permission storage dan pastikan .env sudah punya APP_KEY (generate dengan php artisan key:generate bila kosong).


2

Registrasi & Aktivasi Akun Admin

Setelah aplikasi berhasil berjalan, buat akun pertama melalui halaman registrasi, kemudian naikkan role akun tersebut menjadi admin secara manual lewat database.

  1. Registrasi akun
    Buka halaman registrasi aplikasi lalu daftarkan satu akun yang nantinya akan dijadikan admin.
  2. Buka phpMyAdmin
    Masuk ke phpMyAdmin melalui aAPanel, lalu pilih database yang digunakan aplikasi.
  3. Ubah status role menjadi admin
    Cari akun yang baru saja didaftarkan pada tabel users, lalu ubah kolom status/role akun tersebut menjadi admin. Simpan perubahan.

Login ulang setelah mengubah role, agar sesi aplikasi mengenali akun sebagai admin.


3

Konfigurasi Payment Gateway JayaPay

Login sebagai admin, lalu masuk ke halaman Kredensial untuk menyiapkan pasangan kunci RSA dan menghubungkan akun merchant JayaPay.

Jangan pernah me-refresh halaman API Configuration JayaPay sebelum semua data tersimpan. Jika halaman ter-refresh secara tidak sengaja sebelum disimpan, seluruh proses harus diulang dari langkah generate RSA.

  1. Buka API Configuration JayaPay
    Dari halaman Kredensial, masuk ke bagian API Configuration JayaPay.
  2. Generate RSA
    Klik tombol Generate RSA untuk membuat pasangan private key & public key baru.
  3. Modifikasi merchant public key
    Ganti Merchant Public Key dengan public key yang baru saja digenerate, lalu simpan.
  4. Isi Kredensial Dashboard Admin
    Masih di halaman yang sama, lengkapi field berikut lalu simpan seluruhnya sekaligus:
    FieldNilai
    Kode Negaraid
    Endpointhttps://global-id-openapi.jayapayment.com/
    Merchant NumberMerchant number akun JayaPay Anda
    Merchant Private KeyPrivate key hasil generate RSA di langkah 2
    Merchant Public KeyPublic key hasil generate RSA di langkah 2
    Platform Public KeyPublic key platform yang diberikan JayaPay
  5. Simpan seluruh konfigurasi
    Pastikan semua field di atas sudah terisi dengan benar sebelum menekan tombol simpan.

Urutan yang aman: Generate RSA → simpan Merchant Public Key → isi seluruh kredensial dashboard admin → simpan. Hindari berpindah halaman atau me-refresh di antara langkah-langkah ini.


4

Deploy API Node.js Pendamping

API Node.js berjalan terpisah dari aplikasi Laravel dan diakses melalui subdomain tersendiri, dikelola dengan PM2 Manager di aAPanel.

  1. Install PM2 Manager lewat App Store
    Di sidebar aAPanel, buka menu App Store, ketik PM2 Manager di kolom pencarian, lalu klik Install dan tunggu sampai proses instalasi selesai.
  2. Install Node.js versi yang sesuai
    Masih di App Store, cari Node.js Version Manager, install, lalu pilih/pasang versi Node.js yang dibutuhkan project (misalnya Node 18 atau 20 LTS).
  3. Buat subdomain
    Buat subdomain baru di aAPanel, misalnya api.domainkamu.com.
  4. Upload project API
    Upload seluruh source code project Node.js ke document root subdomain tersebut.
  5. Konfigurasi file .env
    Samakan konfigurasi database dengan konfigurasi database Laravel sebelumnya, dan pastikan LARAVEL_APP_KEY sama persis dengan APP_KEY di .env Laravel.
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=nama_database
    DB_USERNAME=user_database
    DB_PASSWORD=password_database
    
    LARAVEL_APP_KEY=base64:isi_sama_persis_dengan_APP_KEY_laravel
  6. Install dependensi
    npm install
  7. Tambahkan project ke PM2 Manager
    Buka PM2 Manager, klik Add Project, arahkan ke folder project Node.js yang sudah diupload, lalu isi start file dengan:
    src/server.js
    Klik Start/Save agar project berjalan dan otomatis dipantau oleh PM2.

LARAVEL_APP_KEY harus identik dengan APP_KEY Laravel, karena digunakan untuk sinkronisasi/enkripsi data antar kedua aplikasi. Perbedaan sekecil apa pun akan menyebabkan proses gagal.