PANDUAN DEPLOY NUR AL-ILM KE CPANEL / SHARED HOSTING Isi ZIP ini adalah paket production: - server.js sebagai startup file Node.js - package.json dan package-lock.json backend - folder dist hasil build React/Vite - folder routes, config, middleware, helpers, templates - folder uploads berisi file upload yang sudah ada - file .env.example sebagai contoh konfigurasi - nuralim.sql sebagai file import database awal Langkah umum di cPanel: 1. Upload dan extract ZIP ke folder aplikasi Node.js, misalnya: /home/USER/nuralilm 2. Di cPanel, buka Setup Node.js App: - Node.js version: 18 atau lebih baru - Application root: folder hasil extract - Application startup file: server.js - Application mode: production 3. Buat database MySQL dan user database di cPanel. 4. Import file nuralim.sql melalui phpMyAdmin jika database masih kosong. 5. Buat environment variables di Node.js App cPanel: NODE_ENV=production DB_HOST=localhost DB_USER=USER_DATABASE DB_PASSWORD=PASSWORD_DATABASE DB_NAME=NAMA_DATABASE JWT_SECRET=isi_random_panjang_minimal_32_karakter CORS_ORIGIN=https://domain-anda.com SMTP_HOST=smtp.domain-anda.com SMTP_PORT=465 SMTP_SECURE=true SMTP_USER=email@domain-anda.com SMTP_PASS=password_email SMTP_FROM=email@domain-anda.com 6. Jalankan npm install dari menu Node.js App cPanel atau terminal: npm install --omit=dev 7. Restart aplikasi Node.js dari cPanel. 8. Cek URL berikut setelah deploy: https://domain-anda.com/api/health Jika muncul status ok, backend aktif. Catatan penting: - Jangan upload node_modules dari komputer lokal. - File .env asli lokal sengaja tidak dimasukkan ke ZIP agar credential tidak bocor. - Fitur translate E-Konsultasi membutuhkan backend aktif dan server hosting bisa akses internet keluar. - Jika domain frontend dan backend berbeda, isi CORS_ORIGIN dengan domain frontend.