Bayangkan skenario ini: Anda baru saja menyelesaikan sebuah website atau aplikasi web yang memakan waktu berminggu-minggu pengerjaan. Kodenya rapi, fiturnya lengkap, tampilannya elegan. Tapi kemudian muncul pertanyaan yang sering bikin galau developer pemula hingga menengah: "Gimana cara upload-nya ke Niagahoster?"
Tenang. Anda tidak sendirian. Deploy ke shared hosting seperti Niagahoster punya beberapa jalur — dari yang paling manual hingga yang paling canggih. Artikel ini akan membahas 3 metode deploy secara lengkap, termasuk cara yang jarang dibahas: memberikan akses penuh ke AI agent sehingga Anda cukup bicara dalam bahasa natural dan AI yang mengurus semuanya.
| Metode | Tingkat Kesulitan | Kecepatan | Cocok Untuk |
|---|---|---|---|
| 🗂️ Upload ZIP | ⭐ Mudah | 🐢 Lambat (manual) | Pemula, project kecil, deploy pertama kali |
| ⚙️ Script deploy.sh | ⭐⭐ Menengah | ⚡ Cepat | Developer aktif, multi-file update, CI/CD sederhana |
| 🤖 AI Agent | ⭐⭐⭐ Canggih | 🚀 Sangat Cepat | Power user, tim, otomasi penuh berbasis percakapan |
🔧 Persiapan Awal (Wajib untuk Semua Metode)
Sebelum mulai, pastikan Anda sudah menyiapkan:
- ✅ Akun Niagahoster aktif dengan paket hosting yang mendukung SSH (Business ke atas)
- ✅ Domain sudah diarahkan ke server Niagahoster
- ✅ File manager atau akses SSH tersedia di cPanel
- ✅ Project lokal sudah dalam kondisi siap produksi (sudah
npm run buildataucomposer install --no-dev)
Port SSH default di Niagahoster adalah
65002, bukan 22. Pastikan selalu menambahkan -p 65002 di setiap perintah SSH/SCP.📦 Metode 1: Upload ZIP via File Manager (Paling Mudah)
Metode ini cocok untuk pemula atau saat Anda baru pertama kali deploy ke hosting. Tidak butuh pengetahuan terminal.
Langkah-langkah:
- Compress project lokal menjadi file
.zip. - Login ke cPanel Niagahoster → buka File Manager.
- Navigasi ke folder
public_html(atau subfolder domain Anda). - Klik tombol Upload, lalu pilih file
.zipyang tadi dibuat. - Setelah upload selesai, klik kanan file
.zip→ pilih Extract. - Pastikan file diekstrak ke folder yang tepat.
- Hapus file
.zipsetelah ekstraksi selesai.
- Tidak butuh akses SSH
- Antarmuka visual, mudah dipahami
- Cocok untuk semua level
- Lambat untuk file besar
- Tidak efisien untuk update rutin
- Tidak bisa otomatisasi
⚙️ Metode 2: Script Otomatis deploy.sh via SSH (Direkomendasikan)
Ini adalah metode favorit developer aktif. Cukup satu perintah di terminal, dan script akan otomatis build, compress, upload, ekstrak, jalankan migrasi database, dan clear cache di server.
Buat file deploy.sh di root project:
Cara menjalankan:
💡 Tips Tambahan: Setup SSH key agar tidak perlu input password setiap kali deploy:
ssh-copy-id -p 65002 useranda@domainanda.com
🤖 Metode 3: Beri Akses Penuh ke AI Agent (Paling Canggih)
Ini adalah frontier baru dalam dunia deployment. Dengan memberikan akses SSH dan konteks project ke AI agent seperti Antigravity (Google DeepMind), Anda cukup mengetik perintah dalam bahasa Indonesia dan AI akan mengeksekusi deploy secara penuh — mulai dari build, upload, migrasi, hingga verifikasi.
Akses penuh berarti AI agent diberikan: (1) kredensial SSH untuk konek ke server, (2) path dan struktur project, (3) perintah deploy yang valid. AI kemudian bisa menjalankan perintah terminal secara otonom.
Langkah 1: Siapkan Kredensial SSH
Buat SSH key khusus untuk AI agent (jangan gunakan key personal Anda):
ssh-copy-id -p 65002 -i ~/.ssh/ai_agent_key.pub useranda@domainanda.com
Langkah 2: Buat File AGENTS.md di Root Project
File ini adalah "buku panduan" yang dibaca AI setiap kali dimulai. Berisi instruksi, path, dan perintah deploy yang valid:
Langkah 3: Beri Instruksi ke AI dalam Bahasa Natural
Setelah setup selesai, Anda cukup mengetik di chat AI:
Dan AI akan mengeksekusi semua langkah secara otonom — build, zip, upload via SCP, ekstrak di server, jalankan php artisan migrate, clear cache, hingga verifikasi dengan curl.
- Buat user SSH terpisah khusus deploy, jangan gunakan root
- Batasi akses SSH hanya ke direktori project (
ChrootDirectory) - Gunakan SSH key, bukan password
- Audit log secara berkala:
cat /var/log/auth.log | grep ssh
📊 Tabel Perbandingan Akhir
| Kondisi Anda | Rekomendasi Metode |
|---|---|
| Deploy pertama kali, belum paham terminal | 🗂️ Upload ZIP |
| Update rutin, nyaman dengan terminal | ⚙️ Script deploy.sh |
| Tim besar, ingin otomasi penuh berbasis AI | 🤖 AI Agent |
| CI/CD pipeline (GitHub Actions, dll) | ⚙️ Script deploy.sh + webhook |
"Deploy bukan akhir dari pekerjaan developer — itu adalah awal dari produk yang hidup dan melayani penggunanya. Pilih metode yang membuat Anda bisa deploy dengan percaya diri dan konsisten."