Bebas Ribet Server • Estimasi 10–15 Menit

Panduan Instalasi Langkah-demi-Langkah

Pelajari cara memasang, mengonfigurasi, dan memperbarui MarbleSend di shared hosting biasa. Dirancang khusus untuk pemula — tanpa VPS, tanpa Docker, dan tanpa terminal SSH.

1. Daftar Persiapan Singkat

Sebelum mulai, pastikan Anda telah menyiapkan 4 hal sederhana ini di hosting Anda.

check_circle
PHP 8.2 atau Lebih Baru
Shared hosting standar sudah mendukung PHP 8.2 & 8.3. Pastikan ekstensi pdo_mysql, curl, mbstring, openssl, zip, dan sodium dalam keadaan aktif.
database
1 Database MySQL Kosong
Database MySQL 8.0+ atau MariaDB 10.6+ beserta satu User Database dengan hak akses penuh (All Privileges).
language
Domain atau Subdomain
Disarankan membuat subdomain khusus seperti news.domainanda.com atau mail.domainanda.com dengan document root mengarah ke folder instalasi.
key
Kunci Lisensi (License Key)
Diterima di email pembelian Anda (atau kode pembelian Envato). Digunakan saat wizard instalasi meminta verifikasi.
info
Catatan Ekstensi Sodium: Ekstensi sodium wajib aktif untuk memverifikasi tanda tangan digital lisensi. Beberapa provider hosting mematikannya secara default. Anda dapat menyalakannya dengan mudah di menu Select PHP Version → Extensions pada cPanel/hPanel.

2. Memilih Metode Pemasangan

Tersedia dua metode pemasangan. Kami sangat menyarankan Metode A untuk kemudahan maksimal.

Sangat Direkomendasikan

Metode A: Web Quick-Installer (install.php)

Hanya butuh 1 file

Anda tidak perlu repot mengunduh file ZIP besar ke laptop lalu mengunggahnya berlama-lama ke hosting. Cukup unduh satu file kecil bernama install.php dari halaman pembelian, lalu unggah ke folder domain Anda via File Manager hosting.

  1. Unggah install.php ke folder domain Anda (misal folder public_html/news).
  2. Buka browser ke alamat https://subdomain.anda.com/install.php.
  3. Masukkan Kunci Lisensi Anda. Sistem akan mengunduh paket rilis resmi terenkripsi secara otomatis, memeriksa keaslian tanda tangan digital Ed25519, mengekstrak file ke posisi yang tepat, lalu menghapus dirinya sendiri demi keamanan.
  4. Anda akan langsung diarahkan ke Setup Wizard interaktif.
Opsi Alternatif

Metode B: Upload Manual via File ZIP

Jika Anda lebih nyaman dengan cara konvensional, unduh file ZIP rilis dari email pembelian Anda, lalu unggah ke hosting.

your-folder/                 # Folder induk (di luar jangkauan browser)
├── app/                     # Kode inti & konfigurasi rahasia
├── storage/                 # Log & worker state (wajib writable)
├── migrations/              # Skrip migrasi database
├── worker.php               # Titik masuk cron background
└── public/                  # <-- DOCUMENT ROOT domain Anda
    ├── index.php
    └── migrate-web.php      # File Setup Wizard

Ekstrak file ZIP tersebut di File Manager hosting Anda. Pastikan Document Root domain mengarah ke folder public/, lalu buka di browser: https://subdomain.anda.com/migrate-web.php?setup=1.

3. Cara Membuat Database MySQL di Hosting

Panduan praktis membuat database dan user MySQL untuk Hostinger (hPanel) dan cPanel.

dns

Panduan di Hostinger (hPanel)

  1. Masuk ke hPanel → klik menu Databases → pilih MySQL Databases.
  2. Pada bagian Create New MySQL Database And Database User, masukkan nama database (misal: marblesend), username, dan password yang kuat.
  3. Klik tombol Create.
  4. Penting: Hostinger menambahkan prefix akun pada database dan user (contoh: u123456789_marblesend). Catat nama lengkap ber-prefix ini.
  5. Host Database selalu gunakan: localhost (jangan gunakan nama host remote seperti srv...hstgr.io).
settings_suggest

Panduan di cPanel (Namecheap, Niagahoster, DomaiNesia, dll.)

  1. Masuk ke cPanel → klik menu MySQL Database Wizard.
  2. Langkah 1: Masukkan nama database (misal: msend) lalu klik Next Step.
  3. Langkah 2: Buat Database User dan Password, lalu klik Create User.
  4. Langkah 3 (Krusial): Centang kotak ALL PRIVILEGES (Semua Hak Akses), lalu klik Make Changes.
  5. Perhatikan prefix cPanel Anda (contoh: user123_msend). Catat nama database, user, dan password tersebut.
  6. Host Database di cPanel selalu: localhost.

4. Menjalankan Setup Wizard di Browser (8 Langkah)

Langkah interaktif yang memandu Anda menyelesaikan instalasi dalam hitungan menit.

Buka browser Anda ke alamat https://subdomain.anda.com/install.php atau https://subdomain.anda.com/migrate-web.php?setup=1. Setup Wizard akan memandu Anda melalui 8 langkah sederhana berikut:

1
Bahasa (Language)
Pilih bahasa instalasi dan antarmuka dashboard Anda (tersedia 21 bahasa, termasuk Bahasa Indonesia).
2
Pemeriksaan Server (Server Check)
Sistem menguji versi PHP, ekstensi sodium, izin folder storage, memori, dan koneksi ke relay lisensi. Jika ada kendala, wizard menjelaskan cara memperbaikinya dengan bahasa awam.
3
Lisensi (License Verification)
Masukkan Kunci Lisensi MarbleSend yang Anda terima setelah pembelian.
4
Database MySQL
Masukkan Host (localhost), Nama Database, User, dan Password yang telah dibuat pada Bagian 3. Wizard akan mengetes koneksi database secara instan sebelum melanjutkan.
5
Akun Pengelola (Admin Account)
Masukkan email pengelola, kata sandi (minimal 12 karakter), dan pilih zona waktu Anda (misal: Asia/Jakarta).
6
Kunci Enkripsi (Encryption Key Backup)
Sistem menampilkan Kunci Enkripsi master (AES-256) yang melindungi password SMTP dan API Anda. Klik tombol Download Key atau salin ke tempat yang aman di komputer Anda sebelum melanjutkan.
7
Pemeriksaan Keamanan (Security Check)
Wizard secara otomatis menguji apakah folder rahasia (seperti app/config/config.php) terlindungi dari akses publik browser. Tombol install hanya aktif jika statusnya Safe.
8
Selesai & Salin Cron Job
Sistem membuat tabel database, mengaktifkan lisensi, dan menampilkan baris perintah Cron Job siap salin untuk Bagian 5. Salin baris tersebut sebelum masuk ke dashboard.

5. Setting Background Worker (Cron Job)

Cron Job adalah "mesin otomatis" di server Anda yang mengirim antrean email, memproses unsubscribe, dan menjalankan autoresponder setiap menit.

schedule
Mengapa butuh Cron Job? MarbleSend mengirim ribuan email secara stabil tanpa membebani browser Anda. Cron job bertugas memicu pengiriman di latar belakang setiap 1 menit (* * * * *).

Metode 1: Server Cron di Hostinger (hPanel)

  1. Di hPanel, buka menu Websites → Dashboard → Cron Jobs.
  2. Pada opsi Type, pilih Custom.
  3. Pada bagian Command to run, tempelkan baris perintah yang Anda salin dari halaman akhir wizard atau dari menu Settings → System aplikasi Anda.
  4. Atur waktu eksekusi: pilih Once Per Minute (atau isi kolom interval dengan bintang: * * * * *).
  5. Klik Save.

Metode 2: Server Cron di cPanel

  1. Di cPanel, buka menu Cron Jobs (di bawah kategori Advanced).
  2. Pada Common Settings, pilih Once Per Minute (* * * * *).
  3. Pada kolom Command, masukkan baris perintah PHP Anda, contoh:
    /usr/local/bin/php /home/username/your-folder/worker.php > /dev/null 2>&1
  4. Klik Add New Cron Job.

Metode 3: Web-Cron (Alternatif HTTP Fallback)

Jika paket hosting murah Anda tidak memiliki akses server cron atau membatasi cron hanya boleh tiap 15 menit:

  1. Buka dashboard MarbleSend Anda → menu Settings → System.
  2. Salin URL Web-Cron URL pribadi Anda (mengandung token rahasia):
    https://subdomain.anda.com/cron.php?token=TOKEN_RAHASIA_ANDA
  3. Gunakan layanan gratis seperti cron-job.org atau UptimeRobot untuk memanggil URL tersebut via GET setiap 1 menit.

6. Konfigurasi Awal & Uji Pengiriman Email (SMTP)

Pastikan mesin pengirim email Anda terhubung dan terverifikasi dengan sempurna.

  1. Cek Status Worker: Masuk ke Settings → System. Pastikan indikator Worker Status berkedip hijau dengan label Active dan timestamp beberapa detik lalu.
  2. Pilih Jalur Pengiriman (Settings → SMTP Profiles):
    • Managed Amazon SES Relay: Profil bawaan resmi MarbleSend. Menggunakan infrastruktur reputasi tinggi tanpa perlu membuat akun AWS sendiri. Saldo awal langsung aktif.
    • Bawa Kredensial Sendiri (BYOM): Klik + Add SMTP Profile jika ingin menghubungkan Amazon SES milik Anda sendiri, Brevo, Mailgun, Postmark, SendGrid, atau SMTP webmail cPanel Anda.
  3. Uji Pengiriman (Test Connection): Klik tombol Test Connection pada profil SMTP Anda, masukkan alamat email pribadi Anda, dan kirimkan. Cek inbox Anda untuk memastikan email uji coba berhasil tiba.

7. Fitur Pembaruan Otomatis (In-App Stream Update)

Perbarui aplikasi kapan saja dalam 1 klik langsung dari dashboard tanpa download manual.

Ketika versi baru MarbleSend dirilis, notifikasi banner akan muncul secara otomatis di dashboard admin dan halaman Changelog. Anda tidak perlu mengulang proses instalasi.

system_update

Cara Kerja Pembaruan 1-Klik:

  • Verifikasi Kriptografis: Paket pembaruan diunduh langsung dari server rilis resmi dan diverifikasi keasliannya dengan tanda tangan digital Ed25519.
  • Backup Otomatis: Sebelum mengubah berkas apa pun, MarbleSend membuat backup lengkap dari versi yang sedang berjalan ke folder storage/backup-[versi]-[waktu]/ (tiga backup terbaru selalu disimpan).
  • Atomic File Swap: Penggantian berkas berlangsung dalam hitungan detik dan migrasi database dijalankan otomatis tanpa downtime lama.
  • Rollback Otomatis: Jika terjadi kesalahan di tengah jalan, sistem otomatis membatalkan perubahan dan memulihkan berkas dari backup.
Halaman Pemulihan Darurat (recover.php): Jika server mengalami gangguan koneksi internet saat update, buka alamat https://subdomain.anda.com/recover.php di browser Anda. Klik Restore the previous version untuk memulihkan aplikasi secara instan ke kondisi sebelum pembaruan.

8. Memantau Changelog & Versi Baru

Pelajari setiap peningkatan fitur, perbaikan performa, dan pembaruan keamanan.

Anda dapat memantau setiap riwayat pembaruan MarbleSend melalui dua cara:

public Halaman Changelog Publik

Kunjungi marblesend.com/id/changelog/ atau berlangganan via Atom RSS Feed untuk menerima update langsung di RSS reader Anda.

admin_panel_settings Menu Changelog di Aplikasi

Di dalam dashboard admin MarbleSend Anda, klik menu Changelog di bilah samping untuk membaca catatan teknis lengkap dan panduan pembaruan tiap versi.

9. Solusi Kendala Populer (Troubleshooting)

Jawaban ramah pemula untuk pertanyaan dan kendala yang paling sering ditemui.

Tanya: Muncul pesan "Not Found" saat membuka file installer.
Jawab: Pastikan URL installer diakhiri dengan parameter ?setup=1, misalnya: https://subdomain.anda.com/migrate-web.php?setup=1. Tanpa parameter ini, installer sengaja merespons Not Found untuk keamanan.
Tanya: Pemeriksaan server melaporkan ekstensi "sodium" belum aktif.
Jawab: Buka cPanel atau hPanel Anda → cari menu Select PHP Version → klik tab Extensions → centang kotak sodium. Muat ulang installer, lampu pemeriksaan akan berubah hijau.
Tanya: Gagal koneksi database (Database connection failed).
Jawab: (1) Pastikan host diisi localhost; (2) Pastikan nama database dan username menyertakan prefix akun lengkap (contoh: u123456_msend); (3) Pada cPanel, pastikan user sudah ditambahkan ke database dengan ALL PRIVILEGES.
Tanya: Pesan peringatan "Private files could be opened from the internet".
Jawab: Pastikan Document Root subdomain diatur ke folder public/, bukan ke folder induknya. Ini menjaga agar file konfigurasi database app/config/config.php tidak bisa diakses dari web browser.
Tanya: Status Worker di menu Settings → System menunjukkan Inactive / Stalled.
Jawab: Pastikan perintah cron job mengarah ke binary CLI PHP 8.2+ (misal /usr/local/bin/php atau /opt/alt/php83/usr/bin/php di Hostinger). Anda juga dapat memakai Metode 3 (Web-Cron URL) sebagai alternatif termudah.
Tanya: Muncul error HTTP 429 atau halaman kosong saat domain dihubungkan ke Cloudflare.
Jawab: Jika hosting Anda sudah memiliki sistem cache/CDN internal, ubah status record domain di Cloudflare menjadi DNS Only (ikon awan abu-abu) agar tidak terjadi bentrok rate-limiting.

Terjemahan disediakan untuk kemudahan. Jika terjemahan berbeda dari versi Bahasa Inggris, versi Bahasa Inggris yang berlaku.