Panduan ini menjelaskan cara meng-hosting aplikasi Cemilan KasirPOS menggunakan Backend PHP Native (Rekomendasi Utama) ke shared hosting cPanel.
- Akses ke cPanel hosting.
- Hosting mendukung PHP 7.4 atau PHP 8.x.
- Domain atau subdomain yang aktif Wajib HTTPS/SSL (misal:
https://tokocemilan.com). Tanpa HTTPS, fitur login tidak akan berfungsi karena browser menolak cookie aman. - Database MySQL yang sudah dibuat di cPanel.
- Login ke cPanel.
- Buka MySQL Database Wizard.
- Buat database baru (contoh:
u12345_cemilan). - Buat user database baru (contoh:
u12345_admin) dan passwordnya. - PENTING: Berikan hak akses ALL PRIVILEGES user tersebut ke database yang baru dibuat.
- Buka phpMyAdmin, pilih database tadi, lalu Import file
cemilankasirpos_php_v02.sql(atau file sql terbaru) yang ada di folder proyek ini.
- Buka File Manager di cPanel.
- Masuk ke folder
public_html. - Buat folder baru bernama
api. - Upload semua file dari folder
php_serverdi komputer Anda ke dalam folderpublic_html/apitersebut.- Pastikan file
index.php,config.php,auth.php, dll terupload.
- Pastikan file
- Konfigurasi Database (.env):
- Di File Manager, masuk ke dalam folder
api(tempat Anda upload file PHP). - Buat file baru bernama
.env. - Salin isi dari
.env.exampleke file.envini. - Edit file
.envdan sesuaikan dengan database cPanel Anda:
DB_HOST=localhost DB_NAME=u12345_cemilan # Sesuaikan nama DB DB_USER=u12345_admin # Sesuaikan user DB DB_PASS=password_anda # Ganti dengan string acak JWT_SECRET=rahasia_aman_12345 ALLOWED_ORIGINS=https://tokocemilan.com
- Simpan perubahan.
- Di File Manager, masuk ke dalam folder
-
Edit Environment Variable Frontend:
- Buka file
.env.productiondi komputer Anda (atau buat jika belum ada). - Ubah
VITE_API_URLagar mengarah ke folder API PHP Anda. - Contoh:
VITE_API_URL=https://tokocemilan.com/api - Catatan: Pastikan URL ini benar dan bisa diakses.
- Buka file
-
Build Project:
- Buka terminal di root project.
- Jalankan:
npm run build. - Folder
distakan terupdate dengan file hasil build.
-
Upload ke cPanel:
- Buka File Manager.
- Masuk ke folder
public_html. - Upload semua isi dari folder
distke sini (sejajar dengan folderapiyang tadi dibuat). - Struktur folder Anda di
public_htmlakan terlihat seperti ini:/api(Folder backend PHP)/assets(Folder aset frontend)index.html(File utama frontend)vite.svg- ...
-
Konfigurasi .htaccess untuk React Router:
- Buat atau edit file
.htaccessdi folderpublic_html. - Isi dengan kode berikut agar refresh halaman tidak 404:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/api/ [NC] RewriteRule . /index.html [L] </IfModule>
- Perhatikan baris
RewriteCond %{REQUEST_URI} !^/api/ [NC]: Ini penting agar request ke folder/apitidak dialihkan ke React.
- Buat atau edit file
- Buka website frontend Anda (misal:
https://tokocemilan.com). - Coba login (Default:
superadmin/password). - Jika berhasil login dan data tampil, berarti Frontend sukses berkomunikasi dengan Backend PHP.