Dokumen ini menjelaskan cara melakukan deployment aplikasi Sinergi PAS ke Shared Hosting (seperti Niagahoster Business Hosting).
- PHP >= 8.2 (Pastikan pilih versi ini di menu "Select PHP Version" cPanel).
- Database MySQL/MariaDB.
- Akses SSH atau Terminal di cPanel (Sangat disarankan).
Untuk keamanan, letakkan file Laravel di folder terpisah, bukan langsung di public_html:
/home/user_anda/project-sinergi/(File aplikasi)/home/user_anda/public_html/(Hanya isi dari folderpublic)
-
Persiapan Lokal Jalankan build asset di komputer Anda sebelum upload:
npm install && npm run build composer install --no-dev --optimize-autoloader -
Upload File
- Kompres semua file (kecuali
node_modules,.git,.env) menjadiproject.zip. - Upload ke root hosting Anda (di luar
public_html) menggunakan File Manager cPanel. - Ekstrak file tersebut ke folder (misal:
sinergi-app).
- Kompres semua file (kecuali
-
Konfigurasi Public Folder Pindahkan semua isi dari folder
sinergi-app/public/*ke dalampublic_html/. -
Edit index.php Edit file
public_html/index.phpdan sesuaikan path autoload:// Baris 7: require __DIR__.'/../sinergi-app/vendor/autoload.php'; // Baris 19: $app = require_once __DIR__.'/../sinergi-app/bootstrap/app.php';
-
Database & .env
- Buat database dan user di cPanel "MySQL Databases".
- Salin
.env.examplemenjadi.envdi foldersinergi-app. - Update
DB_DATABASE,DB_USERNAME,DB_PASSWORD. - Jalankan migrasi via Terminal cPanel:
php artisan migrate --force.
Untuk Shared Hosting, workflow terbaik adalah mem-build assets di GitHub, lalu mengirimkan file final ke server.
Pindah ke tab Settings > Secrets and variables > Actions di repositori Anda, lalu tambahkan:
FTP_SERVER: Host FTP Anda (Contoh:ftp.sinergipas.comatau alamat IP. JANGAN gunakanftp://).FTP_USERNAME: Username cPanel atau akun FTP khusus.FTP_PASSWORD: Password dari akun FTP tersebut.
Gunakan workflow yang melakukan build assets terlebih dahulu agar Anda tidak perlu menginstal Node.js di hosting.
- Symlink Storage: Jika foto tidak muncul, jalankan
php artisan storage:linklewat Terminal cPanel. Jika gagal, buat fileroutes/web.phpsementara:Lalu aksesRoute::get('/install-link', function () { Artisan::call('storage:link'); });
domain.com/install-linkdi browser.