================================================================ EZPASS CLONE - PANDUAN DEPLOY DI CPANEL ================================================================ ---------------------------------------------------------------- STRUKTUR FOLDER PROJECT ---------------------------------------------------------------- clone/ |-- app/ <- Controllers & Views |-- config/ <- Konfigurasi |-- core/ <- Framework inti (jangan diubah) |-- public/ <- Root publik (index.php, css, js, images) |-- stats/ <- File log (billing, click, blocked, dll) |-- uploads/ <- Upload sementara (auto-hapus setelah email) |-- readme.txt <- File ini ================================================================ CARA DEPLOY DI CPANEL ================================================================ LANGKAH 1 - BUKA FILE MANAGER CPANEL -------------------------------------- 1. Login ke cPanel hosting Anda 2. Klik "File Manager" 3. Perhatikan lokasi folder public_html (ini adalah root domain/subdomain Anda) LANGKAH 2 - TENTUKAN LOKASI UPLOAD -------------------------------------- Ada 2 pilihan: [A] Pakai Root Domain (misal: domain.com) - Isi public_html/ dengan ISI folder public/ - Folder app/, config/, core/, stats/, uploads/ ditaruh SATU LEVEL DI ATAS public_html/ (biasanya di home directory: /home/username/) Struktur di server: /home/username/ |-- app/ |-- config/ |-- core/ |-- stats/ |-- uploads/ |-- public_html/ <- isi dari folder public/ |-- index.php |-- .htaccess |-- css/ |-- js/ |-- images/ |-- router.php [B] Pakai Subdomain/Subfolder (misal: sub.domain.com) - Buat subdomain dulu di cPanel > Subdomains - Arahkan document root subdomain ke folder tertentu misal: /home/username/ezpass/public/ - Upload semua folder project ke /home/username/ezpass/ Struktur di server: /home/username/ezpass/ |-- app/ |-- config/ |-- core/ |-- stats/ |-- uploads/ |-- public/ <- document root subdomain |-- index.php |-- .htaccess |-- css/ |-- js/ |-- images/ |-- router.php REKOMENDASI: Pilih [B] (subdomain) agar lebih aman karena folder sensitif (config/, stats/) tidak berada di public_html. LANGKAH 3 - UPLOAD FILE -------------------------------------- Cara 1 - Upload via File Manager: 1. Zip seluruh folder project menjadi satu file (misal: ezpass.zip) 2. Upload ke server via File Manager > Upload 3. Extract di server 4. Atur posisi folder sesuai pilihan A atau B di atas Cara 2 - Upload via FTP (FileZilla): 1. Buka FileZilla 2. Isi Host, Username, Password dari cPanel > FTP Accounts 3. Drag-and-drop folder project ke lokasi yang ditentukan LANGKAH 4 - PASTIKAN MOD_REWRITE AKTIF -------------------------------------- File .htaccess di folder public/ memerlukan mod_rewrite. Hosting cPanel biasanya sudah aktif secara default. Jika halaman tidak bisa dibuka (404 semua route): - Hubungi support hosting untuk aktifkan mod_rewrite - Atau pastikan AllowOverride All aktif di server LANGKAH 5 - PERMISSION FOLDER -------------------------------------- Set permission folder berikut agar bisa ditulis: stats/ -> 755 atau 775 stats/ratelimit -> 755 atau 775 uploads/ -> 755 atau 775 config/ -> 755 (baca saja cukup, panel akan menulis) Cara set permission di File Manager: Klik kanan folder > Change Permissions > isi angka permission LANGKAH 6 - AKSES PERTAMA KALI -------------------------------------- Buka browser, akses domain Anda: https://domain.com/?kocak=pepek <- halaman utama https://domain.com/billing <- form billing https://domain.com/panel <- panel admin Login panel default: Username : admin Password : admin123 SEGERA ganti password setelah login pertama! Panel > Settings > Ubah Kredensial Admin ================================================================ KONFIGURASI SETELAH DEPLOY ================================================================ WAJIB DILAKUKAN SETELAH DEPLOY: ---------------------------------- 1. LOGIN PANEL DAN GANTI PASSWORD https://domain.com/panel Username: admin | Password: admin123 2. ATUR URL PARAMETER (GATE) Panel > Settings > URL Parameter & Redirect - Ganti nama parameter (jangan pakai "kocak") - Ganti nilai parameter (jangan pakai "pepek") - Atur redirect URL jika tanpa parameter 3. SETUP EMAIL NOTIFIKASI (SMTP) Panel > Settings > Email SMTP Settings - SMTP Host : smtp.gmail.com - Port : 587 - Encryption : TLS - Username : email Gmail Anda - Password : App Password Gmail (bukan password biasa) - Email Tujuan: email penerima notifikasi - Aktifkan : Ya Cara buat App Password Gmail: myaccount.google.com > Security > App passwords (perlu 2FA aktif dulu) 4. ATUR TAMPILAN FORM Panel > Settings > Tampilan Form Billing - SSN : tampilkan / sembunyikan - Plate : tampilkan / sembunyikan - Driver License + Upload: tampilkan / sembunyikan 5. ATUR JUMLAH TAGIHAN Panel > Settings > Jumlah Tagihan - Isi nominal yang ditampilkan di halaman home ================================================================ JALANKAN DI LOCAL (DEVELOPMENT) ================================================================ Syarat: PHP 8.0+ terinstall cd /path/ke/folder/public php -S localhost:8000 router.php Buka browser: http://localhost:8000/?kocak=pepek ================================================================ CATATAN PENTING ================================================================ - File config/panel.php akan dibuat otomatis saat menyimpan settings pertama kali via panel admin - Folder stats/ menyimpan semua log (billing, click, blocked) Pastikan folder ini TIDAK bisa diakses dari browser (.htaccess sudah diatur otomatis di uploads/) Tambahkan juga .htaccess di stats/ jika perlu: Options -Indexes Deny from all - File upload (foto DL) disimpan sementara di uploads/ dan LANGSUNG DIHAPUS setelah email terkirim - Bot blocker aktif otomatis, log tersimpan di stats/log_blocked.txt - Jangan hapus file .htaccess di folder public/ dan uploads/ karena berfungsi untuk keamanan ================================================================ TROUBLESHOOTING ================================================================ MASALAH: Semua halaman menampilkan 404 SOLUSI : mod_rewrite belum aktif, hubungi hosting MASALAH: Form submit tidak redirect (500 error) SOLUSI : Cek permission folder stats/ dan uploads/ Pastikan PHP 8.0+ MASALAH: Email tidak terkirim SOLUSI : Pastikan App Password Gmail benar (bukan password biasa) Test via panel: Settings > Test Kirim Email MASALAH: Halaman home langsung redirect SOLUSI : Gate aktif, akses dengan parameter yang benar Atau nonaktifkan gate di panel > Settings MASALAH: Upload foto DL gagal SOLUSI : Cek permission folder uploads/ (harus 755/775) Cek php.ini: upload_max_filesize dan post_max_size harus >= 5MB ================================================================ KONTAK & SUPPORT ================================================================ Jika ada pertanyaan atau masalah, silakan hubungi pengembang project ini. ================================================================