📝 Panduan Instalasi Aplikasi Toko Online di cPanel (Setup Wizard)

Panduan ini menjelaskan cara memindahkan aplikasi Toko Online (Laravel + React Inertia) dari localhost ke hosting cPanel, serta mengonfigurasi database, symlink, dan admin secara instan menggunakan Setup Wizard.

📂 Struktur Folder Hasil Deployment

Struktur folder di cPanel Anda akan terlihat seperti berikut, di mana folder system berada di dalam public_html bersama dengan file index.php:

1. Persiapan File di Local (Sebelum Upload)

Sebelum mengunggah file ke cPanel, pastikan asset frontend sudah dikompilasi ke versi produksi terbaru:

  1. Buka terminal local Anda di folder utama project (toko_lrv), lalu jalankan perintah:
    cd system
    npm run build
  2. Setelah proses build selesai, kompres seluruh file di folder project menjadi satu file ZIP (misal: toko_lrv.zip) atau kompres terpisah:
    • system.zip: Kompres seluruh folder system.
    • public_root.zip: Kompres semua file dan folder yang berada di luar folder system (yaitu folder build, .htaccess, favicon.ico, index.php, dan robots.txt).
    Catatan: Jangan ikut mengompres folder storage yang berada di luar folder system karena itu adalah symlink local yang akan dibuat ulang secara otomatis oleh Setup Wizard di server.
    ⚠️ PENTING (KEAMANAN UNTUK DEVELOPER): Sebelum membuat berkas ZIP untuk didistribusikan ke klien:
    1. Pastikan Anda telah menjalankan berkas obfuscate.php melalui browser Anda (http://localhost/toko_lrv/obfuscate.php) untuk menyamarkan logika lisensi pada berkas CheckLicense.php.
    2. Hapus berkas generate_license.php dan buat_symlink.php dari folder project agar klien tidak memiliki akses ke generator lisensi. Jangan sertakan juga berkas cadangan CheckLicense.bak.php di dalam file ZIP.

2. Unggah dan Ekstrak File di cPanel

  1. Masuk ke cPanel → pilih File Manager.
  2. Buka folder public_html.
  3. Unggah file .zip langsung ke dalam folder public_html tersebut.
  4. Ekstrak file ZIP tersebut di dalam folder public_html.
  5. Hapus file .zip yang sudah diekstrak untuk menghemat ruang disk hosting.
Catatan: Karena folder system diletakkan di dalam public_html, Anda tidak perlu mengedit kode atau path apa pun di file index.php!

3. Konfigurasi Database Baru di cPanel

Sebelum menjalankan wizard, Anda perlu membuat database kosong di cPanel:

  1. Masuk ke cPanel → pilih menu MySQL® Database Wizard.
  2. Buat database baru, catat nama database-nya.
  3. Buat user database baru dan masukkan password-nya.
  4. Hubungkan user tersebut ke database dengan mencentang opsi All Privileges (Semua Hak Akses).
  5. Catat informasi database berikut untuk langkah selanjutnya:
    • Host Database (biasanya localhost atau 127.0.0.1)
    • Nama Database (format: username_namadatabase)
    • Username Database (format: username_userdatabase)
    • Password Database

4. Aktivasi Lisensi & Jalankan Setup Wizard

Setelah file diunggah dan database kosong dibuat, Anda dapat menyelesaikan instalasi langsung dari browser:

  1. Buka domain Anda di browser (misalnya: https://domainanda.com/).
  2. Sistem akan mendeteksi bahwa lisensi belum aktif dan otomatis mengarahkan Anda ke halaman Aktivasi Aplikasi di https://domainanda.com/activate-app.
  3. Masukkan License Key yang telah Anda peroleh dari penjual/pembuat asli, lalu klik Aktifkan Toko Online.
  4. Setelah lisensi berhasil diverifikasi, sistem akan otomatis mengarahkan Anda ke halaman Setup Wizard di https://domainanda.com/setup.
  5. Ikuti langkah-langkah mudah pada layar Setup Wizard:
    • Langkah 1: Cek Server (Environment Check): Halaman akan memverifikasi apakah ekstensi PHP yang diperlukan (seperti openssl, pdo_mysql, gd, zip, dll.) sudah aktif di server Anda.
    • Langkah 2: Konfigurasi Database: Masukkan informasi database kosong yang telah Anda buat di Langkah 3. Klik Simpan & Migrasi. Halaman akan otomatis menguji koneksi, membuat database, dan menjalankan migrasi tabel serta seeder data awal secara otomatis.
    • Langkah 3: Pembuatan Symlink: Klik tombol Buat Symlink untuk menghubungkan folder media penyimpanan secara instan.
    • Langkah 4: Konfigurasi Toko & Admin: Masukkan Nama Toko Anda, Nama Administrator, Email Admin, dan Password Admin untuk akun pengelola toko pertama kali.
    • Langkah 5: Selesai: Klik Selesaikan Setup. Aplikasi akan mengunci konfigurasi dan mengarahkan Anda ke halaman utama toko online yang kini sudah aktif!

5. Mengatur Izin Akses Folder (Folder Permission)

Agar Laravel dapat menulis file cache, log, dan upload media dengan lancar di server cPanel:

  1. Di File Manager cPanel, masuk ke folder system.
  2. Klik kanan folder storage → pilih Change Permissions → set menjadi 775 (atau 755 jika server tidak mendukung 775).
  3. Klik kanan folder bootstrap/cache → pilih Change Permissions → set menjadi 775 (atau 755).