Dokumentasi / Situs

Situs

WordPress, aplikasi PHP, atau situs statis di server Anda sendiri, dengan HTTPS otomatis, akses berkas lewat SFTP, dan cadangan harian. Situs dari cPanel bisa dipindahkan beserta databasenya, dan situs bisa dipindah ke server lain tanpa henti lama.

Untuk siapa

Situs dibuat untuk pemilik aplikasi yang dulu memakai cPanel hanya untuk menjalankan situs atau aplikasinya sendiri, bukan untuk perusahaan hosting yang menjual akun ke banyak pelanggan. Fokusnya fungsi yang benar-benar dipakai: pasang situs, domain dan HTTPS, unggah berkas, database, dan cadangan.

Situs menyambung dengan fitur Saka lain: database bisa di server yang sama atau di klaster database multi-lokasi, dan situs bisa diletakkan di belakang load balancer.

Jenis situs

JenisIsiDatabase
WordPressTerpasang otomatis dan siap dipakai (bahasa Indonesia atau English). Sandi admin dibuat acak dan ditampilkan di panel.Ya
PHPApache dengan PHP 8.2, 8.3, atau 8.4, dan .htaccess berjalan. Untuk Laravel, CodeIgniter, atau aplikasi PHP lain; unggah berkas lewat SFTP.Ya
Statis (HTML)Halaman HTML/CSS/JS dilayani langsung oleh server web. Paling ringan.Tidak
Pindahkan dari cPanelMasuk ke cPanel lama (seperti Transfer Tool di WHM), atau pakai berkas cadangan cPanel atau arsip situs. Berkas dan database dipindahkan, WordPress disesuaikan otomatis. Lihat Pindah dari cPanel.Ya

Membuat situs

Syarat server: sudah tersambung ke Saka, port 80 dan 443 bebas (tidak dipakai nginx atau apache lain), dan RAM minimal 1 GB.

  1. Buka menu Situs di panel, lalu tekan + Buat situs.
  2. Jenis. Pilih WordPress, PHP, Statis (HTML), atau Pindahkan dari cPanel.
  3. Server. Pilih server tujuan dari daftar server yang tersambung.
  4. Domain. Tulis domain, misalnya tokokue.id atau blog.tokokue.id. Untuk domain utama, centang Sertakan juga www bila perlu. Satu domain hanya boleh dipakai satu situs di akun Anda.
  5. PHP & database (bukan untuk situs statis). Pilih versi PHP (8.3 disarankan), bahasa WordPress, dan tempat database: Database di server ini atau Klaster database.
  6. Nama situs, misalnya "Toko Kue Ibu". Untuk WordPress, nama ini juga menjadi judul situs (bisa diubah di WordPress).
  7. Tekan Buat situs (atau Pindahkan situs untuk pindahan cPanel).

Situs biasanya siap dalam 2-5 menit. Pertama kali di satu server sedikit lebih lama karena PHP disiapkan dulu; pindahan cPanel tergantung ukuran cadangan. Anda juga dikabari lewat Telegram. Bila gagal, halaman detail menampilkan penyebabnya; hapus situs itu lalu coba lagi.

Domain, DNS, dan HTTPS

Setelah situs dibuat, arahkan domain ke server di pengelola DNS domain Anda (tempat membeli domain, atau Cloudflare). Kartu Domain & HTTPS di halaman detail menunjukkan catatan yang perlu dibuat:

DNS
tokokue.id.       A      203.0.113.10
www.tokokue.id.   A      203.0.113.10
; opsional, bila server punya IPv6:
tokokue.id.       AAAA   2001:db8::10
Memakai Cloudflare?

Matikan dulu awan oranye (pilih "DNS only", awan abu-abu) sampai HTTPS di Saka aktif.

Berkas lewat SFTP

Setiap situs punya akun SFTP sendiri. Buka kartu Akses di halaman detail dan tekan Tampilkan sandi untuk melihat host, port, pengguna, dan sandinya.

Database

PilihanIsiKapan dipakai
Database di server ini (disarankan)MariaDB 11.8 di server yang sama, satu database dan pengguna khusus per situs, hanya bisa diakses dari server itu.Situs biasa, satu server.
Klaster databaseSaka membuat database dan pengguna khusus situs ini di klaster MariaDB Anda, dan memasang proxy Saka di server situs. Koneksi lewat TLS; bila satu server database mati, proxy pindah ke node yang sehat.Situs yang harus tetap hidup walau satu server database mati.

Klaster yang bisa dipilih adalah klaster MariaDB yang sudah siap dan berjalan di server lain (server situs tidak boleh menjadi anggota klaster itu). Pada WordPress, sambungan TLS ke klaster sudah diatur otomatis. Detail sambungan database (host, nama, pengguna, sandi) ada di kartu Akses. Untuk melihat dan mengubah isi database, pakai phpMyAdmin.

phpMyAdmin

Situs WordPress dan PHP punya phpMyAdmin sendiri. Di kartu Akses, tekan Buka phpMyAdmin; phpMyAdmin terbuka di tab baru dan langsung masuk.

Lewat API: POST /api/v1/situs/{id}/phpmyadmin menjawab {"url"}, tautan masuk sekali pakai yang berlaku 60 detik. phpMyAdmin tidak tersedia lewat MCP.

Cadangan dan pulihkan

Cadangan disimpan di server yang sama dengan situsnya. Untuk perlindungan dari server yang rusak total, simpan juga salinan di tempat lain (lihat Segera).

Pindah dari cPanel

Pilih jenis Pindahkan dari cPanel saat membuat situs. Ada dua cara pindah.

Cara 1: Masuk ke cPanel lama (disarankan)

Seperti Transfer Tool di WHM, tetapi cukup dengan login akun cPanel. Saka membuat backup penuh di cPanel lama, menunggu sampai selesai, mengunduhnya ke server baru, menghapus berkas backup itu dari cPanel lama, lalu memasangnya.

  1. Alamat cPanel lama: domain atau IP server lama, misalnya tokolama.com. Port 2083 dipakai otomatis (boleh ditulis dengan :port sendiri).
  2. Username cPanel dan Sandi cPanel (sandi akun cPanel, bukan sandi WHM atau root).
  3. Bila akun memakai verifikasi dua langkah (2FA), centang pilihan API token dan isi token dari cPanel (Security, lalu Manage API Tokens). Token bisa dihapus lagi setelah pindah.
  4. Centang Lewati pemeriksaan sertifikat HTTPS cPanel hanya bila sertifikat cPanel lama self-signed.

Cara 2: Pakai berkas backup

  1. Di cPanel lama, buka Backup (atau Backup Wizard), pilih Download a Full Account Backup, lalu tunggu sampai berkas backup-….tar.gz selesai dibuat.
  2. Isi salah satu:
    • Tautan unduhan berkas cadangan (harus bisa dibuka dari internet), atau
    • Path berkas di server tujuan, setelah Anda mengunggahnya ke /root, /home, atau /tmp, misalnya /root/backup-….tar.gz.

Arsip situs biasa juga bisa: .zip atau .tar.gz berisi folder situs, dengan atau tanpa berkas .sql.

Yang dikerjakan Saka

Semua temuan ini ditampilkan di kotak Catatan pemindahan di halaman detail situs. Untuk WordPress pindahan, masuk dengan akun admin WordPress lama Anda.

Pindah ke server lain

Untuk ganti VPS (misalnya ke server yang lebih besar atau di lokasi lain) tanpa repot. Isi situs disalin langsung ke server baru, dan situs lama tetap melayani pengunjung sampai Anda siap. Syaratnya, server tujuan sudah tersambung ke akun Saka yang sama dan port 80/443-nya bebas.

  1. Salin. Di halaman detail situs, buka kartu Pindahkan ke server lain. Pilih Server tujuan dan PHP di server baru (versi PHP boleh diganti, misalnya naik ke 8.4). Untuk WordPress, centang Perbarui WordPress, plugin, dan tema saat dipindah bila ingin. Tekan Salin ke server baru. Situs lama tetap berjalan; Anda dikabari lewat Telegram saat salinan siap. Salin ulang boleh ditekan kapan saja untuk menyegarkan salinan.
  2. Pindahkan sekarang. Situs lama menampilkan halaman pemeliharaan (HTTP 503) sebentar, perubahan terakhir disalin, lalu situs aktif di server baru. Bila Anda memilih pembaruan WordPress, inti WordPress, plugin, tema, dan bahasa diperbarui dengan cadangan dulu; bila situs rusak setelahnya, situs kembali otomatis ke keadaan sebelum pembaruan. Bila langkah ini gagal, situs lama aktif lagi.
  3. Ubah DNS. Ubah A record domain ke IP server baru di pengelola DNS domain Anda. Kolom DNS di kartu Domain & HTTPS berubah menjadi mengarah setelah itu.
  4. Selesaikan. Setelah DNS mengarah, tekan Selesaikan (hapus di server lama). Situs di server lama dihapus; cadangan terakhirnya disimpan di /root server lama.

Batalkan bisa dipakai sebelum diselesaikan. Sebelum Pindahkan sekarang, salinan di server baru dihapus dan situs lama tidak berubah. Sesudahnya, tombol Batalkan, kembali ke server lama mengaktifkan situs lagi di server lama dan menghapus salinan di server baru; perubahan di server baru sejak dipindah akan hilang, dan A record yang sudah diubah perlu dikembalikan ke IP server lama.

Cara kerjanya

Di belakang load balancer

Bila ada load balancer mode proxy yang sudah siap dan meneruskan domain situs ke server ini, situs otomatis dilayani lewat penyeimbang: pengunjung masuk lewat penyeimbang, dan HTTPS dipegang penyeimbang. Kolom HTTPS lalu menunjukkan di load balancer. Pengaturan ini diterapkan ulang otomatis saat load balancer dibuat, dihapus, atau IP penyeimbang berubah.

Versi PHP

Pilih PHP 8.2, 8.3, atau 8.4. Di kartu PHP, pilih versi lalu tekan Ganti versi. Situs dimulai ulang dengan versi baru dalam beberapa detik; versi yang belum pernah dipakai di server itu disiapkan dulu (±1-2 menit).

Pengaturan PHP

Di kartu yang sama ada Pengaturan PHP, setara MultiPHP INI Editor di cPanel tanpa menyentuh berkas:

Tekan Simpan pengaturan; situs dimulai ulang beberapa detik. Lewat API: PATCH /api/v1/situs/{id} dengan php_ini; lewat MCP: alat situs_atur_php.

Hapus situs

Di bagian Zona berbahaya, tekan Hapus situs lalu ketik nama situs untuk menegaskan. Berkas, database, akun SFTP, dan semua cadangan situs itu di server dihapus. Domain dan server tidak disentuh.

Centang Simpan cadangan terakhir dulu di /root server (disarankan) agar satu cadangan terakhir disalin ke /root sebelum situs dihapus. Bila penyalinan gagal, situs tidak dihapus.

Saat Lepas server, semua situs di server itu ikut dibersihkan; dengan pilihan menyimpan cadangan, cadangan tiap situs disalin ke /root.

Yang sengaja tidak dibuat

Keamanan

Lewat agent AI (MCP) dan API

Alat MCP

AlatFungsi
situs_daftarDaftar situs di semua server, dengan domain dan keadaannya.
situs_buatMembuat situs WordPress, PHP, atau statis, dengan database lokal atau klaster, atau pindah dari cPanel (sumber berisi berkas cadangan, atau cpanel untuk masuk ke cPanel lama). Agent wajib mengonfirmasi rencananya kepada Anda dulu.
situs_statusKeadaan situs: HTTPS dan arah DNS per domain, ukuran, daftar cadangan, akun SFTP. Tanpa sandi.
situs_cadangkanMembuat cadangan sekarang.
situs_atur_phpMengubah pengaturan PHP: batas unggah, memori, waktu eksekusi, max_input_vars, zona waktu, tampilkan error.
situs_pindah_salinLangkah pertama pindah ke server lain: menyalin situs ke server tujuan (boleh dengan PHP lain, opsional pembaruan WordPress). Situs lama tetap berjalan.
situs_ubah_siapkanLangkah 1 dari 2 untuk pulihkan, hapus, pindah_sekarang, pindah_selesai, atau pindah_batal: pratinjau dan token konfirmasi (10 menit).
situs_ubahLangkah 2 dari 2: menjalankan aksi itu dengan token, hanya setelah Anda menyetujui pratinjau.

Tidak ada alat MCP untuk membaca sandi situs. Lihat Sambungkan AI (MCP).

Endpoint API

MetodeJalurKeterangan
GET/situsDaftar situs (bisa disaring dengan ?server_id=).
POST/situsBuat situs. Isian {"nama", "server_id", "jenis", "domain", "php", "bahasa", "db", "klaster_id", "sumber", "cpanel"}.
GET/situs/{id}Detail dan status (DNS, HTTPS, cadangan, SFTP tanpa sandi, pindah bila sedang dipindah).
PATCH/situs/{id}Ubah nama, domain, versi PHP, atau pengaturan PHP. Isian {"nama", "domain", "php", "php_ini"}.
DELETE/situs/{id}Hapus. Isian {"konfirmasi": "<nama situs>", "simpan_cadangan": true}.
POST/situs/{id}/rahasiaBaca sandi database, SFTP, dan admin WordPress langsung dari server.
POST/situs/{id}/cadanganCadangkan sekarang.
POST/situs/{id}/pulihkanPulihkan. Isian {"berkas": "<nama cadangan>", "konfirmasi": "<nama situs>"}.
POST/situs/{id}/phpmyadminNyalakan phpMyAdmin situs. Jawaban {"url"}, tautan masuk sekali pakai (60 detik).
POST/situs/{id}/pindahSalin ke server lain. Isian {"server_id", "php", "perbarui_wp"}.
POST/situs/{id}/pindah/sekarangPindahkan sekarang. Isian {"konfirmasi": "<nama situs>"}.
POST/situs/{id}/pindah/selesaiSelesaikan: hapus situs di server lama (cadangan terakhir di /root).
POST/situs/{id}/pindah/batalBatalkan pemindahan; situs tetap atau kembali di server lama.
curl
curl -s -X POST https://app.saka.work/api/v1/situs \
  -H "Authorization: Bearer $SAKA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "nama": "Toko Kue Ibu",
    "server_id": "srv_aaaaaaaaaaaaaaaa",
    "jenis": "wordpress",
    "domain": ["tokokue.id", "www.tokokue.id"],
    "php": "8.3",
    "bahasa": "id",
    "db": "lokal"
  }'

jenis: wordpress, php, atau statis (pindahan cPanel memakai php dengan sumber, atau dengan cpanel: {"host", "pengguna", "sandi"}, atau "token" sebagai ganti sandi, dan "abaikan_tls": true untuk sertifikat self-signed). php: 8.2, 8.3 (bawaan), atau 8.4. db: lokal (bawaan) atau klaster dengan klaster_id. Jawaban 202 berisi situs dengan keadaan: "dibuat"; pantau dengan GET /situs/{id} sampai siap atau gagal. Rincian umum ada di API REST.

Segera

Segera

Situs di dua lokasi yang tetap hidup walau satu lokasi mati (salinan berkas antar server, load balancer, dan klaster database), cadangan ke penyimpanan S3 milik Anda dan unduh cadangan dari panel, pembaruan WordPress dan plugin kapan saja dengan kembali otomatis bila rusak (saat ini sudah tersedia ketika pindah ke server lain), serta bantuan DNS email (MX, SPF, DKIM, DMARC) untuk penyedia email pilihan Anda.

Butuh hal lain? Usulkan lewat menu Minta fitur di panel (lihat Minta fitur & bantuan migrasi).