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.
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
| Jenis | Isi | Database |
|---|---|---|
| WordPress | Terpasang otomatis dan siap dipakai (bahasa Indonesia atau English). Sandi admin dibuat acak dan ditampilkan di panel. | Ya |
| PHP | Apache 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 cPanel | Berkas dan database dari cadangan cPanel atau arsip situs. 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.
- Buka menu Situs di panel, lalu tekan + Buat situs.
- Jenis. Pilih WordPress, PHP, Statis (HTML), atau Pindahkan dari cPanel.
- Server. Pilih server tujuan dari daftar server yang tersambung.
- Domain. Tulis domain, misalnya
tokokue.idataublog.tokokue.id. Untuk domain utama, centang Sertakan juga www bila perlu. Satu domain hanya boleh dipakai satu situs di akun Anda. - PHP & database (bukan untuk situs statis). Pilih versi PHP (8.3 disarankan), bahasa WordPress, dan tempat database: Database di server ini atau Klaster database.
- Nama situs, misalnya "Toko Kue Ibu". Untuk WordPress, nama ini juga menjadi judul situs (bisa diubah di WordPress).
- 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:
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- A record ke IPv4 server wajib. AAAA record ke IPv6 server opsional, untuk pengunjung IPv6.
- Kolom DNS per domain menunjukkan mengarah, ke IP lain, atau belum ada. Kolom HTTPS menunjukkan aktif atau menunggu DNS.
- HTTPS aktif sendiri dalam beberapa menit setelah DNS mengarah. Sertifikat Let's Encrypt dibuat per domain dan diperbarui otomatis.
- Domain bisa diubah atau ditambah lewat Ubah / tambah domain (satu per baris, yang pertama menjadi alamat utama). Pada WordPress, bila alamat utama diganti, alamat di isi WordPress ikut diganti otomatis.
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.
- Pakai FileZilla, WinSCP, atau Cyberduck dengan protokol SFTP.
- Folder situs adalah
/www. Berkas yang diunggah ke sana langsung dilayani. - Akun ini terkurung: hanya bisa melihat folder situs itu, tidak bisa membuka shell, dan tidak bisa melihat berkas server lain.
- Aplikasi PHP berjalan sebagai pengguna situs itu sendiri, jadi berkas yang dibuat WordPress atau aplikasi Anda tetap bisa diubah lewat SFTP.
Database
| Pilihan | Isi | Kapan 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 database | Saka 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.
Cadangan dan pulihkan
- Harian otomatis. Berkas dan database dicadangkan setiap hari ke satu berkas
.tar.gzdi server Anda. 7 cadangan harian terakhir disimpan. Cadangan harian pertama dibuat dalam 24 jam. - Manual. Tekan Cadangkan sekarang di kartu Cadangan kapan saja (5 terakhir disimpan).
- Pulihkan. Tekan Pulihkan di baris cadangan yang dipilih. Berkas dan database situs diganti dengan isi cadangan itu. Sebelumnya, keadaan sekarang selalu dicadangkan dulu (jenis "sebelum pemulihan"), jadi pemulihan masih bisa dibatalkan dengan memulihkan cadangan itu.
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
1. Buat cadangan penuh di cPanel lama
- Di cPanel lama, buka Backup (atau Backup Wizard).
- Pilih Download a Full Account Backup, lalu tunggu sampai berkas
backup-….tar.gzselesai dibuat.
2. Berikan cadangan ke Saka
Pilih jenis Pindahkan dari cPanel saat membuat situs, lalu 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.
3. Yang dikerjakan Saka
- Arsip dibuka dengan aman: symlink dan path yang keluar dari folder diabaikan, dan isinya dibatasi 20 GB. Ruang disk diperiksa dulu.
- Isi
public_htmlmenjadi berkas situs (termasuk.htaccess). - Untuk WordPress, database yang diimpor dipilih dari
DB_NAMEdiwp-config.php. Pengaturan database diwp-config.phpdisesuaikan ke database baru, dan alamat lama di database diganti ke domain baru (https://domain utama). - Database lain di cadangan tidak diimpor, tetapi dilaporkan namanya.
- Bila bukan WordPress, database utama tetap diimpor, dan Anda diberi tahu host, nama database, dan pengguna baru untuk disesuaikan sendiri di pengaturan aplikasi.
Semua temuan ini ditampilkan di kotak Catatan pemindahan di halaman detail situs. Untuk WordPress pindahan, masuk dengan akun admin WordPress lama Anda.
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:
- Batas unggah (
upload_max_filesize, 2 sampai 2048 MB;post_max_sizeikut disesuaikan). Bawaan 64 MB. - Batas memori (
memory_limit, 64 sampai 2048 MB, paling banyak tiga perempat RAM server). Batas memori kontainer situs ikut dinaikkan. Bawaan 256 MB. - Waktu eksekusi (
max_execution_timedanmax_input_time, 10 sampai 3600 detik). Bawaan 120 detik. - max_input_vars (1000 sampai 100000), sering dibutuhkan menu WordPress yang panjang. Bawaan 3000.
- Zona waktu (
date.timezone, mis. Asia/Jakarta). Bawaan UTC. - Tampilkan error PHP (
display_errors): hanya untuk mencari masalah, matikan lagi setelahnya.
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
- Hosting email. Pakai penyedia email pilihan Anda. Bantuan pengaturan DNS email menyusul.
- Akun reseller atau WHM. Situs untuk pemilik aplikasi, bukan untuk menjual hosting.
- Menu teknis satu per satu seperti zone editor atau MIME types.
Keamanan
- Sandi hanya di server Anda. Sandi database, SFTP, dan admin WordPress disimpan di server (berkas hanya bisa dibaca root) dan dibaca panel saat Anda menekan Tampilkan sandi. Sandi ini tidak pernah diberikan ke agent AI lewat MCP.
- Pengaturan SSH root tidak berubah. Saka menambahkan pengaturan SFTP khusus untuk akun situs, lalu membandingkan pengaturan SSH untuk root sebelum dan sesudahnya. Bila ada yang berubah, perubahan dibatalkan. Root tetap tanpa login sandi bila sebelumnya begitu.
- Terpisah per situs. Setiap situs PHP atau WordPress berjalan di kontainer sendiri yang hanya mendengarkan di
127.0.0.1; pengunjung masuk lewat satu server web dengan HTTPS di port 80/443. - Tercatat. Membuat, mengubah, mencadangkan, memulihkan, dan menghapus situs tercatat di riwayat tugas server.
Lewat agent AI (MCP) dan API
Alat MCP
| Alat | Fungsi |
|---|---|
situs_daftar | Daftar situs di semua server, dengan domain dan keadaannya. |
situs_buat | Membuat situs WordPress, PHP, atau statis, dengan database lokal atau klaster, atau pindah dari cPanel (sumber). Agent wajib mengonfirmasi rencananya kepada Anda dulu. |
situs_status | Keadaan situs: HTTPS dan arah DNS per domain, ukuran, daftar cadangan, akun SFTP. Tanpa sandi. |
situs_cadangkan | Membuat cadangan sekarang. |
situs_ubah_siapkan | Langkah 1 dari 2 untuk pulihkan atau hapus: pratinjau dan token konfirmasi (10 menit). |
situs_ubah | Langkah 2 dari 2: menjalankan pulihkan atau hapus dengan token, hanya setelah Anda menyetujui pratinjau. |
Tidak ada alat MCP untuk membaca sandi situs. Lihat Sambungkan AI (MCP).
Endpoint API
| Metode | Jalur | Keterangan |
|---|---|---|
GET | /situs | Daftar situs (bisa disaring dengan ?server_id=). |
POST | /situs | Buat situs. Isian {"nama", "server_id", "jenis", "domain", "php", "bahasa", "db", "klaster_id", "sumber"}. |
GET | /situs/{id} | Detail dan status (DNS, HTTPS, cadangan, SFTP tanpa sandi). |
PATCH | /situs/{id} | Ubah nama, domain, atau versi PHP. Isian {"nama", "domain", "php"}. |
DELETE | /situs/{id} | Hapus. Isian {"konfirmasi": "<nama situs>", "simpan_cadangan": true}. |
POST | /situs/{id}/rahasia | Baca sandi database, SFTP, dan admin WordPress langsung dari server. |
POST | /situs/{id}/cadangan | Cadangkan sekarang. |
POST | /situs/{id}/pulihkan | Pulihkan. Isian {"berkas": "<nama cadangan>", "konfirmasi": "<nama situs>"}. |
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). 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
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 dengan snapshot dan kembali otomatis bila rusak, serta bantuan DNS email (MX, SPF, DKIM, DMARC) untuk penyedia email pilihan Anda.