╔══════════════════════════════════════════════════════════════╗ ║ PANDUAN INSTALL DI SHARED HOSTING (cPanel/WHM) ║ ╚══════════════════════════════════════════════════════════════╝ ⚠️ PENTING: Di shared hosting, database HARUS dibuat manual! ═══════════════════════════════════════════════════════════════ STEP 1: BUAT DATABASE DI cPANEL ═══════════════════════════════════════════════════════════════ 1. Login ke cPanel hosting kamu 2. Cari menu "MySQL® Databases" atau "Database MySQL" 3. Di bagian "Create New Database": Database Name: motion_paths Klik [Create Database] 4. Scroll ke bagian "MySQL Users", buat user baru: Username: motion_user Password: [buat password yang kuat!] Klik [Create User] 5. Scroll ke bagian "Add User To Database": User: motion_user Database: motion_paths Klik [Add] 6. Di halaman "Manage User Privileges": Centang [ALL PRIVILEGES] Klik [Make Changes] ✅ Database siap! ═══════════════════════════════════════════════════════════════ STEP 2: IMPORT SQL FILE ═══════════════════════════════════════════════════════════════ 1. Kembali ke cPanel, cari "phpMyAdmin" 2. Klik database "motion_paths" di sidebar kiri 3. Klik tab "Import" di atas 4. Klik [Choose File] 5. Pilih file: schema_shared_hosting.sql ⚠️ JANGAN schema.sql! 6. Scroll ke bawah, klik [Go] atau [Import] ✅ Tables berhasil dibuat! ═══════════════════════════════════════════════════════════════ STEP 3: EDIT CONFIG.PHP ═══════════════════════════════════════════════════════════════ Buka file: api/config.php Ganti dengan info database kamu: SEBELUM (contoh): ----------------- define('DB_HOST', 'localhost'); define('DB_NAME', 'motion_paths'); define('DB_USER', 'root'); define('DB_PASS', ''); SESUDAH (sesuaikan dengan database kamu): ------------------------------------------ define('DB_HOST', 'localhost'); define('DB_NAME', 'cpanel_username_motion_paths'); ⚠️ PREFIX! define('DB_USER', 'cpanel_username_motion_user'); ⚠️ PREFIX! define('DB_PASS', 'password_kamu_tadi'); ⚠️ CATATAN PREFIX: Di shared hosting, nama database & user biasanya ada prefix username. Contoh: - Username cPanel: dewypoy - Database jadi: dewypoy_motion_paths - User jadi: dewypoy_motion_user Cek di cPanel → MySQL Databases untuk nama lengkapnya! ═══════════════════════════════════════════════════════════════ STEP 4: GANTI API KEY (WAJIB!) ═══════════════════════════════════════════════════════════════ Di api/config.php, ganti: define('API_KEY', 'motion_api_key_2024_secure_token_change_this'); Jadi: define('API_KEY', 'KEY_RAHASIA_KAMU_DISINI_12345'); Buat yang unik dan panjang! Contoh generator: https://randomkeygen.com/ ═══════════════════════════════════════════════════════════════ STEP 5: UPLOAD FILE KE HOSTING ═══════════════════════════════════════════════════════════════ Via File Manager cPanel: 1. Buka File Manager 2. Masuk ke folder public_html (atau htdocs) 3. Upload folder "api" dan "panel" 4. Upload selesai! Via FTP (FileZilla): 1. Connect ke FTP hosting 2. Masuk ke public_html 3. Drag & drop folder "api" dan "panel" Struktur akhir: public_html/ ├── api/ │ ├── config.php │ ├── upload.php │ ├── download.php │ └── ... └── panel/ ├── login.php ├── dashboard.php └── ... ═══════════════════════════════════════════════════════════════ STEP 6: SET PERMISSION FOLDER UPLOADS ═══════════════════════════════════════════════════════════════ Di File Manager atau FTP: 1. Buat folder: public_html/api/uploads/paths/ 2. Klik kanan folder "uploads" 3. Pilih "Change Permissions" atau "Chmod" 4. Set ke: 755 atau 775 5. Centang "Recursive" jika ada 6. Save ═══════════════════════════════════════════════════════════════ STEP 7: TEST INSTALASI ═══════════════════════════════════════════════════════════════ Buka browser, akses: 1. Test API: https://yourwebsite.com/api/test.php Harus muncul: ✅ Database connected successfully! ✅ Upload directory is writable 2. Test Panel: https://yourwebsite.com/panel/login.php Login: admin / admin123 ✅ Harus bisa masuk dashboard ═══════════════════════════════════════════════════════════════ STEP 8: EDIT LUA SCRIPT ═══════════════════════════════════════════════════════════════ Buka: lua/McPunya_MySQL.lua Ganti baris: local API_BASE_URL = "https://yourwebsite.com/motion-system/api" local API_KEY = "motion_api_key_2024_secure_token_change_this" Jadi: local API_BASE_URL = "https://yourwebsite.com/api" local API_KEY = "KEY_KAMU_YANG_SUDAH_DIGANTI" Save, load di Roblox executor! ═══════════════════════════════════════════════════════════════ TROUBLESHOOTING ═══════════════════════════════════════════════════════════════ ❌ Error "Access denied for user" → Cek DB_USER, DB_PASS, DB_NAME di config.php → Pastikan user sudah di-assign ke database (Step 1) ❌ Error "Database not found" → Cek nama database ada prefix atau tidak → Lihat di cPanel → MySQL Databases ❌ Error "Upload directory not writable" → Chmod 755 atau 775 folder uploads → Pastikan folder uploads/paths/ exists ❌ Panel login gagal → Cek database, tabel admins harus ada → Default: admin / admin123 ❌ API return "Invalid API key" → Pastikan API_KEY di config.php sama dengan di Lua → Case sensitive! ═══════════════════════════════════════════════════════════════ KEAMANAN (PENTING!) ═══════════════════════════════════════════════════════════════ 1. ⚠️ GANTI password admin default! Login panel → ganti password 2. ⚠️ GANTI API_KEY dengan yang unik! 3. ⚠️ Jangan share API_KEY ke orang lain! 4. Backup database secara berkala cPanel → phpMyAdmin → Export ═══════════════════════════════════════════════════════════════ Need help? Contact support atau cek error di: - public_html/api/test.php - Browser Console (F12) - cPanel Error Logs Good luck! 🚀