FTMS 2.6.4 — PAKET SIAP UPLOAD

Hosting tidak perlu Composer, npm, Node, SSH, atau php artisan serve.
vendor dan public/build sudah disertakan. Apache/LiteSpeed menjalankan PHP lewat index.php.
Hosting tetap harus mendukung PHP 8.2+ dengan PDO MySQL, mbstring, fileinfo,
DOM/XML, ctype, tokenizer, curl, session, dan OpenSSL; MySQL/MariaDB; serta rewrite .htaccess.
Pilih PHP 8.3/8.4 jika tersedia. Ini bukan paket untuk hosting HTML statis.

INSTALASI CPANEL TANPA TERMINAL
1. Ekstrak ZIP lewat File Manager ke folder sementara di luar public_html.
2. Pindahkan folder ftms-app ke /home/USERNAME/ftms-app.
3. Salin SEMUA isi folder public_html dari paket, termasuk .htaccess,
   ke /home/USERNAME/public_html. Untuk domain tambahan, gunakan document root domain tersebut.
4. public_html/index.php memakai dirname(__DIR__).'/ftms-app'.
   Jika posisi folder aplikasi berbeda, sesuaikan $appBase di index.php.
5. Buat database dan user MySQL lewat panel hosting. Berikan hak akses user ke database.
6. Buka phpMyAdmin, pilih database BARU yang masih kosong, lalu Import
   database-instalasi-baru.sql. SQL sudah berisi seluruh tabel, riwayat migrasi,
   dan satu akun administrator. Tidak perlu menjalankan migrate atau seed.
7. Edit ftms-app/.env melalui File Manager:
   APP_URL=https://domain-anda.com
   DB_HOST=localhost (atau host database dari penyedia)
   DB_DATABASE=nama_database_lengkap_dengan_prefix_cpanel
   DB_USERNAME=user_database_lengkap_dengan_prefix_cpanel
   DB_PASSWORD="password_database"
   APP_KEY sudah dibuat khusus paket ini; biarkan nilainya untuk instalasi baru.
8. Pastikan ftms-app/storage, ftms-app/bootstrap/cache, dan public_html/storage
   dapat ditulis oleh PHP. Sesuaikan pemilik/izin melalui panel (umumnya folder 755 atau 775).
   File upload ditulis langsung ke public_html/storage; tidak memerlukan storage:link.
9. Aktifkan HTTPS, buka domain/login, dan gunakan akun di AKUN-ADMIN.txt.
   Ganti email dan password melalui Profil setelah login.

ALTERNATIF DOMAIN DENGAN DOCUMENT ROOT YANG DAPAT DIATUR
Upload ftms-app, arahkan document root ke ftms-app/public, konfigurasi .env,
dan impor SQL seperti langkah di atas. Folder public_html dari paket tidak dipakai.
Upload akan ditulis langsung ke ftms-app/public/storage.

DATA DAN KEAMANAN PAKET
- Ini instalasi baru; SQL tidak membawa data turnamen, akun, atau password lokal.
- Jangan menaruh seluruh ftms-app, SQL, .env, atau AKUN-ADMIN.txt di public_html.
- Tidak ada installer PHP yang dapat dipanggil publik.
- APP_DEBUG=false. File sesi, log, cache, .env lokal, dan node_modules tidak disertakan.
- Database-instalasi-baru.sql tidak untuk diimpor ke database berisi data.
- Untuk memindahkan FTMS lama, ekspor database FTMS lama lewat phpMyAdmin dan impor
  ekspor tersebut sebagai pengganti SQL instalasi baru. Pertahankan APP_KEY instalasi lama
  dan salin semua file upload/logo/audio lama ke folder storage publik hosting.
  Paket ini memakai schema FTMS 2.6.4; database versi lama perlu migrasi terpisah.
- Penyedia hosting mungkin mewajibkan prefix nama database/user.

JIKA HALAMAN GAGAL
500: baca ftms-app/storage/logs/laravel.log; periksa PHP, ekstensi, .env, dan izin folder.
404 di rute: pastikan .htaccess terupload dan rewrite diaktifkan.
Aset tidak tampil: pastikan folder build ikut di public_html dan APP_URL benar.
Upload gagal: periksa izin public_html/storage serta upload_max_filesize/post_max_size.
HTTPS/419: gunakan domain HTTPS yang sama dengan APP_URL dan hapus cookie domain lama.
Panduan ini untuk pemasangan di domain/subdomain root, bukan URL subfolder /ftms.
