Dunia Web Hosting
& cPanel
Dari Nol Hingga Online — Panduan Lengkap Memahami Domain, Hosting, cPanel, Database, dan Cara Kerja Web di Balik Layar
Kata Pengantar
Jika Anda pernah bertanya-tanya apa yang sebenarnya terjadi saat Anda mengetikkan alamat website di browser dan menekan Enter — buku ini untuk Anda.
Dalam tradisi Charles Petzold yang mengajarkan fondasi komputasi dari bit paling dasar, dan Dan Gookin yang membuat pemrograman C terasa seperti ngobrol santai, ebook ini akan membawa Anda memahami ekosistem web hosting dari lapisan paling fundamental.
Kita tidak akan sekadar menunjukkan tombol mana yang harus diklik. Kita akan memahami mengapa tombol itu ada, apa yang terjadi saat Anda menekannya, dan bagaimana semua potongan puzzle ini membentuk sebuah website yang bisa diakses jutaan orang.
Pemula yang baru mengenal dunia web, developer yang ingin memahami infrastruktur, freelancer yang mengelola website klien, atau siapa saja yang ingin berhenti merasa "takut" saat membuka cPanel.
Fondasi Web: Domain, DNS, dan Hosting
Sebelum membangun rumah, Anda butuh tanah dan alamat. Begitu pula website.
1.1 Apa Itu Domain?
Domain adalah nama yang bisa dibaca manusia untuk mengidentifikasi sebuah komputer (server) di internet. Tanpa domain, Anda harus mengingat alamat IP seperti 192.168.1.1 atau 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Domain mengubah angka-angka itu menjadi sesuatu yang bermakna: google.com, wikipedia.org, tokopedia.com.
Anatomi Sebuah Domain
Struktur
// Contoh: www.toko-saya.co.id
www → Subdomain
toko-saya → Second-Level Domain (SLD) — nama unik Anda
.co.id → Top-Level Domain (TLD) — ekstensi
// TLD umum:
.com → Commercial (global)
.org → Organization
.net → Network
.id → Indonesia (ccTLD)
.co.id→ Perusahaan Indonesia
.io → Populer di tech/startup
.dev → Developer
Bayangkan internet sebagai sebuah kota raksasa. Setiap bangunan (server) punya koordinat GPS (IP Address). Domain adalah nama jalan yang Anda tempel di papan alamat. Orang tidak perlu tahu koordinat GPS rumah Anda — cukup tahu "Jl. Merdeka No. 17". DNS adalah sistem peta yang menerjemahkan nama jalan menjadi koordinat.
Di Mana Membeli Domain?
Domain dibeli dari Registrar — perusahaan yang terakreditasi oleh ICANN (Internet Corporation for Assigned Names and Numbers). Beberapa registrar populer:
- Namecheap — harga kompetitif, antarmuka bersih
- Cloudflare Registrar — harga wholesale (tanpa markup)
- Google Domains (sekarang dipindahkan ke Squarespace)
- IDCloudHost, Niagahoster, Domainesia — registrar lokal Indonesia
Anda tidak pernah benar-benar "memiliki" domain. Anda menyewanya per tahun (atau multi-tahun). Jika Anda lupa memperpanjang, domain bisa kedaluwarsa dan dibeli orang lain. Selalu aktifkan auto-renew.
1.2 Bagaimana DNS Bekerja
DNS (Domain Name System) adalah "buku telepon" internet. Saat Anda mengetik example.com, browser Anda tidak langsung tahu server mana yang harus dihubungi. Berikut urutan yang terjadi:
- Browser Cache Browser cek apakah sudah pernah mengunjungi domain ini dan menyimpan IP-nya di cache lokal.
- OS Cache / Resolver Jika tidak ada di browser, OS (Windows/Linux/macOS) cek cache-nya sendiri, lalu bertanya ke DNS Resolver (biasanya dari ISP Anda atau yang Anda set seperti 8.8.8.8).
- Root Server Resolver bertanya ke Root Server: "Siapa yang menangani .com?" Root Server menjawab: "Tanyakan ke TLD Server untuk .com."
- TLD Server TLD Server menjawab: "Untuk example.com, tanyakan ke Name Server ns1.hosting.com."
- Authoritative Name Server Name Server milik hosting Anda menjawab: "example.com ada di IP 203.0.113.42."
- Browser Terhubung Browser sekarang tahu IP-nya dan membuat koneksi HTTP/HTTPS ke server tersebut.
Record DNS Penting
| Record | Fungsi | Contoh |
|---|---|---|
A |
Memetakan domain ke IPv4 | example.com → 203.0.113.42 |
AAAA |
Memetakan domain ke IPv6 | example.com → 2001:db8::1 |
CNAME |
Alias — mengarahkan satu nama ke nama lain | www → example.com |
MX |
Menentukan server email | example.com → mail.example.com |
TXT |
Informasi teks (verifikasi, SPF, DKIM) | v=spf1 include:_spf.google.com ~all |
NS |
Menentukan Name Server yang berwenang | ns1.hosting.com, ns2.hosting.com |
1.3 Apa Itu Hosting?
Hosting adalah layanan penyewaan ruang di server yang terhubung ke internet 24/7, tempat Anda menyimpan file-file website (HTML, CSS, JavaScript, gambar, database) sehingga bisa diakses siapa saja di dunia.
Server hosting adalah komputer biasa — secara harfiah. Bedanya:
- Berjalan 24 jam, 7 hari tanpa mati
- Terhubung ke internet dengan bandwidth sangat tinggi
- Disimpan di data center dengan pendingin, UPS, dan keamanan fisik
- Dijalankan sistem operasi server (biasanya Linux: CentOS, Ubuntu, AlmaLinux, CloudLinux)
- Menjalankan web server (Apache, Nginx, LiteSpeed)
Anda punya barang dagangan (file website). Anda butuh ruko (server) di lokasi strategis (data center) yang buka 24 jam. Anda bayar sewa bulanan/tahunan. Ukuran ruko menentukan berapa banyak barang yang bisa Anda simpan dan berapa banyak pelanggan yang bisa masuk bersamaan.
1.4 Analogi Lengkap: Rumah di Internet
| Konsep Web | Analogi Dunia Nyata |
|---|---|
| Domain | Alamat rumah (Jl. Sudirman No. 10) |
| DNS | Peta / GPS yang menerjemahkan alamat menjadi koordinat |
| IP Address | Koordinat GPS sebenarnya |
| Hosting | Tanah dan bangunan rumah |
| File Website | Perabotan dan isi rumah |
| Database | Lemari arsip / brankas di dalam rumah |
| SSL Certificate | Sistem keamanan / pagar / CCTV |
| Bandwidth | Lebar jalan menuju rumah |
| cPanel | Ruang kontrol / panel listrik rumah |
Kategori Hosting & VPS
Tidak semua website butuh "rumah" yang sama. Pilih sesuai kebutuhan.
2.1 Shared Hosting
Shared Hosting adalah tipe hosting paling populer dan paling terjangkau. Dalam model ini, ratusan hingga ribuan website berbagi satu server fisik yang sama — termasuk CPU, RAM, dan penyimpanan.
Karakteristik:
- Harga: Rp 10.000 – Rp 100.000/bulan
- Cocok untuk: Blog pribadi, website UMKM, portofolio, landing page
- Traffic: Rendah hingga menengah (< 25.000 visitor/bulan)
- Kelemahan: Jika satu website di server "nakal" (traffic spike, script berat), website lain ikut lambat ("bad neighbor effect")
- Kelebihan: Murah, mudah, biasanya sudah termasuk cPanel, email, SSL gratis
Hampir semua provider shared hosting menyediakan cPanel. Ini adalah alasan utama bab 3 buku ini berfokus pada cPanel — karena inilah yang akan Anda gunakan 90% waktu sebagai pemula.
2.2 VPS (Virtual Private Server)
VPS menggunakan teknologi virtualisasi (KVM, OpenVZ, VMware) untuk membagi satu server fisik menjadi beberapa "server virtual" yang terisolasi. Setiap VPS punya alokasi CPU, RAM, dan storage sendiri yang dijamin tidak dibagi dengan pengguna lain.
Karakteristik:
- Harga: Rp 75.000 – Rp 1.500.000+/bulan
- Cocok untuk: Website traffic menengah-tinggi, aplikasi web, staging environment, developer
- Kebebasan: Root access, bisa install software sendiri, pilih OS
- Kelemahan: Butuh pengetahuan teknis (kecuali Managed VPS), tidak ada cPanel kecuali Anda install sendiri (atau pilih yang sudah include)
Managed vs Unmanaged VPS
| Aspek | Managed VPS | Unmanaged VPS |
|---|---|---|
| Setup awal | Provider yang setup | Anda setup dari nol |
| cPanel/Plesk | Biasanya termasuk | Install sendiri (lisensi ~$15-30/bln) |
| Update & Patch | Provider menangani | Anda menangani |
| Support | Full support | Hanya support infrastruktur |
| Harga | Lebih mahal | Lebih murah |
2.3 Dedicated Server
Seluruh server fisik milik Anda sendiri. Tidak ada yang berbagi. Anda punya kontrol penuh atas hardware, OS, dan konfigurasi.
- Harga: Rp 2.000.000 – Rp 50.000.000+/bulan
- Cocok untuk: Enterprise, website traffic sangat tinggi, aplikasi kritis, compliance khusus
- Kelemahan: Mahal, butuh tim IT/sysadmin, overkill untuk kebanyakan website
2.4 Cloud Hosting
Website Anda tidak berjalan di satu server, tapi di cluster server yang bekerja bersama. Jika satu server down, yang lain mengambil alih. Sumber daya bisa di-scale secara dinamis.
- Provider: AWS, Google Cloud, Azure, DigitalOcean, Linode, Vultr, IDCloudHost Cloud
- Model bayar: Pay-as-you-go (bayar sesuai pemakaian) atau flat monthly
- Cocok untuk: Aplikasi yang butuh skalabilitas, startup, SaaS
2.5 Perbandingan & Kapan Memilih
🏠 Shared Hosting
- Baru mulai / budget terbatas
- Website statis atau WordPress sederhana
- Traffic < 25K/bulan
- Ingin cPanel out-of-the-box
🖥️ VPS
- Website berkembang, traffic naik
- Butuh custom software/config
- Traffic 25K – 500K/bulan
- Developer yang butuh root access
☁️ Cloud Hosting
- Traffic tidak bisa diprediksi
- Butuh auto-scaling
- Aplikasi modern (microservices)
- Global audience (CDN built-in)
🏢 Dedicated
- Traffic jutaan/bulan
- Compliance/data sovereignty
- Performance absolut dibutuhkan
- Punya tim sysadmin
cPanel — Pusat Kendali Web Hosting Anda
Inilah jantung dari sebagian besar pengalaman hosting. Kuasai cPanel, kuasai web.
3.1 Apa Itu cPanel?
cPanel adalah web-based control panel yang memungkinkan Anda mengelola server hosting melalui antarmuka grafis di browser — tanpa perlu menyentuh command line.
Dibuat pertama kali pada 1996, cPanel kini menjadi standar de facto industri shared hosting. Hampir semua provider besar (Hostinger, Niagahoster, SiteGround, Bluehost, Domainesia) menggunakannya.
Apa yang Bisa Anda Lakukan di cPanel?
- 📁 Mengelola file website (upload, edit, hapus)
- 🗄️ Membuat dan mengelola database MySQL/MariaDB
- 📧 Membuat akun email profesional (anda@domain.com)
- 🔒 Memasang SSL certificate (HTTPS)
- 🌐 Mengelola domain, subdomain, addon domain
- 📊 Melihat statistik visitor dan penggunaan resource
- ⏰ Menjadwalkan cron jobs
- 💾 Backup dan restore website
- 📦 Install aplikasi (WordPress, Joomla, dll) dengan sekali klik
cPanel adalah panel untuk pengguna akhir (Anda). WHM (Web Host Manager) adalah panel untuk admin server / reseller — tempat mereka membuat akun cPanel, mengelola package, dan mengkonfigurasi server. Anda biasanya hanya perlu cPanel.
3.2 Login & Antarmuka
Cara Mengakses cPanel
URL Akses
// Metode 1: Port 2083 (HTTPS)
https://namadomain.com:2083
// Metode 2: Subdomain
https://cpanel.namadomain.com
// Metode 3: Melalui IP server
https://192.168.1.100:2083
// Username & password: diberikan oleh provider hosting saat pembelian
Port 2082 adalah HTTP (tanpa enkripsi). Selalu gunakan port 2083 (HTTPS) agar kredensial Anda terenkripsi selama transit.
Tour Antarmuka cPanel
Saat login, Anda akan melihat dashboard yang dibagi menjadi beberapa section:
| Section | Fungsi Utama |
|---|---|
| Files | File Manager, FTP, Backup, Disk Usage |
| Databases | MySQL Databases, phpMyAdmin, PostgreSQL |
| Email Accounts, Forwarders, Autoresponders, MX Entry | |
| Domains | Domains, Subdomains, Addon Domains, Redirects, DNS Zone |
| Security | SSL/TLS, Hotlink Protection, IP Blocker, ModSecurity |
| Software | MultiPHP Manager, Softaculous, CloudLinux App Selector |
| Advanced | Cron Jobs, Indexes, Error Pages, Apache Handlers, MIME Types |
| Preferences | Password & Security, Contact Info, User Manager |
| Metrics | Visitors, Errors, Bandwidth, Awstats, Webalizer |
3.3 File Manager
File Manager di cPanel adalah "Windows Explorer" versi web untuk server Anda. Dari sini Anda bisa melihat, mengedit, upload, download, rename, chmod, dan menghapus file.
Struktur Direktori Penting
Direktori
/home/username/ → Home directory Anda
│
├── public_html/ → ⭐ Root website utama (WAJIB TAHU)
│ ├── index.html → Halaman default
│ ├── index.php → Halaman default (PHP)
│ ├── .htaccess → Konfigurasi Apache
│ ├── wp-content/ → (jika WordPress)
│ └── ... → Semua file website Anda di sini
│
├── mail/ → Data email
├── etc/ → Konfigurasi email, domain
├── public_ftp/ → FTP publik (jarang dipakai)
├── tmp/ → File temporary
├── logs/ → Log akses dan error
│
└── .cpanel/ → Konfigurasi cPanel (hidden)
File yang Anda taruh di public_html/ bisa diakses publik melalui browser. File di luar direktori ini tidak bisa diakses langsung via URL. Jangan pernah taruh file sensitif (config database, .env) di dalam public_html tanpa proteksi.
CHMOD (File Permissions)
Permissions
// Format: Owner / Group / Public
// Nilai: Read(4) + Write(2) + Execute(1)
644 → File biasa (HTML, CSS, JS, gambar)
Owner: Read+Write, Group: Read, Public: Read
755 → Direktori & file eksekusi
Owner: R+W+X, Group: R+X, Public: R+X
600 → File sensitif (config, .env)
Owner: Read+Write, Group: None, Public: None
// ⛔ JANGAN PERNAH set 777 di production!
777 → Semua orang bisa baca, tulis, eksekusi = BAHAYA
3.4 Manajemen Email
Salah satu keuntungan hosting: Anda bisa membuat email profesional dengan domain sendiri.
Membuat Akun Email di cPanel
- Buka Email → Email Accounts Klik tombol "Create" atau "+ Create"
-
Isi Detail
Username:
info(akan menjadi info@domainanda.com)
Password: gunakan password kuat
Storage: tentukan quota (misal 1024 MB) -
Akses Webmail
Buka
https://domainanda.com:2096atau klik "Check Email" di cPanel - Setup di Outlook/Gmail Gunakan setting: IMAP (port 993 SSL) / SMTP (port 465 SSL)
Email Forwarders & Autoresponder
- Forwarder: Meneruskan email dari satu alamat ke alamat lain (misal:
sales@domain.com→gmail-anda@gmail.com) - Autoresponder: Balasan otomatis (misal: "Terima kasih, kami akan membalas dalam 1x24 jam")
- Default Address (Catch-All): Menangkap email yang dikirim ke alamat yang tidak ada di domain Anda
3.5 SSL/TLS & Keamanan
SSL (Secure Sockets Layer) / TLS (Transport Layer Security) mengenkripsi koneksi antara browser pengunjung dan server Anda. Ini yang mengubah http:// menjadi https:// dan menampilkan ikon gembok 🔒.
Mengapa SSL Penting?
- 🔒 Mengenkripsi data (password, data kartu kredit, form)
- 🔍 Google memberi ranking boost untuk HTTPS
- ⚠️ Browser modern menandai HTTP sebagai "Not Secure"
- 🛡️ Mencegah man-in-the-middle attack
Memasang SSL di cPanel
- AutoSSL (Gratis — Let's Encrypt / cPanel AutoSSL) Buka SSL/TLS Status → Pilih domain → Klik "Run AutoSSL". Selesai.
- Let's Encrypt via Softaculous/AutoSSL Kebanyakan provider modern sudah mengintegrasikan Let's Encrypt gratis.
- SSL Berbayar (DV, OV, EV) Untuk bisnis yang butuh validasi lebih tinggi. Buka SSL/TLS → Install an SSL Certificate.
Force HTTPS Redirect
Tambahkan ini di file .htaccess di public_html/:
.htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
3.6 FTP & Akses File
FTP (File Transfer Protocol) memungkinkan Anda mentransfer file antara komputer lokal dan server menggunakan aplikasi seperti FileZilla, WinSCP, atau Cyberduck.
FTP Settings
// FTP (tidak terenkripsi - hindari)
Host: namadomain.com
Port: 21
// FTPS (FTP + SSL/TLS - direkomendasikan)
Host: namadomain.com
Port: 21 (dengan TLS/SSL explicit)
// SFTP (SSH File Transfer - paling aman)
Host: namadomain.com
Port: 22
Username: username_cPanel atau user FTP khusus
Password: password Anda
Directory: /public_html/
Membuat Akun FTP Tambahan di cPanel
Buka FTP Accounts. Anda bisa membuat akun FTP yang hanya bisa mengakses folder tertentu (misal: hanya /public_html/blog/) — berguna jika Anda memberi akses ke freelancer tanpa memberi akses ke seluruh server.
3.7 Cron Jobs
Cron Job adalah task scheduler — memungkinkan Anda menjalankan script secara otomatis pada waktu yang ditentukan.
Contoh Penggunaan:
- Backup database otomatis setiap jam 2 pagi
- Mengirim email newsletter terjadwal
- Membersihkan file temporary
- Menjalankan WordPress cron (wp-cron.php)
Syntax Cron
Cron Syntax
// Format: menit jam hari bulan hari_dalam_minggu perintah
// * * * * * command
// Setiap 5 menit
*/5 * * * * /usr/bin/php /home/user/public_html/cron.php
// Setiap hari jam 2:30 pagi
30 2 * * * /usr/bin/php /home/user/backup.php
// Setiap Senin jam 8 pagi
0 8 * * 1 /usr/bin/php /home/user/weekly-report.php
// Field reference:
// ┌───────── menit (0-59)
// │ ┌─────── jam (0-23)
// │ │ ┌───── hari (1-31)
// │ │ │ ┌─── bulan (1-12)
// │ │ │ │ ┌─ hari (0-6, 0=Minggu)
// │ │ │ │ │
// * * * * *
3.8 Backup & Restore
"Jika website Anda bisa crash, maka website Anda AKAN crash — tepat saat Anda tidak punya backup." Selalu punya backup. Selalu.
Jenis Backup di cPanel
| Tipe | Apa yang Termasuk | Kapan Pakai |
|---|---|---|
| Full Backup | Semua: file, database, email, konfigurasi | Migrasi server, arsip bulanan |
| Partial: Home Directory | Semua file di /home/username/ | Backup file sebelum update besar |
| Partial: MySQL Database | Satu database (file .sql) | Sebelum edit database, development |
| Partial: Email | Semua email dan forwarders | Backup email |
Best Practice: Simpan backup di lokasi terpisah dari server (komputer lokal, Google Drive, AWS S3). Jangan hanya mengandalkan backup yang disimpan di server yang sama.
3.9 Softaculous / Auto Installer
Softaculous adalah aplikasi auto-installer yang tersedia di kebanyakan cPanel. Dengan beberapa klik, Anda bisa menginstall:
- WordPress — CMS paling populer di dunia
- Joomla, Drupal — CMS alternatif
- PrestaShop, WooCommerce — E-commerce
- phpBB, MyBB — Forum
- Moodle — Learning Management System
- Dan 400+ aplikasi lainnya
Install WordPress via Softaculous
- Buka Softaculous Cari "Softaculous Apps Installer" di bagian bawah cPanel
-
Pilih WordPress → Install
Pilih protokol: https://
Pilih domain
In Directory: kosongkan (jangan isi "wp") -
Isi Detail Admin
Admin Username (jangan "admin"!)
Admin Password (gunakan generator password)
Admin Email - Klik "Install" Tunggu 30-60 detik. Selesai! Website WordPress Anda sudah online.
3.10 Kelola Domain di cPanel
Jenis Domain di cPanel
| Tipe | Penjelasan | Contoh |
|---|---|---|
| Primary Domain | Domain utama yang terhubung ke akun cPanel | domainutama.com → public_html/ |
| Addon Domain | Domain tambahan, website terpisah | tokokedua.com → public_html/tokokedua.com/ |
| Subdomain | Bagian dari domain utama | blog.domainutama.com → public_html/blog/ |
| Parked Domain (Alias) | Domain lain yang menampilkan website yang sama | domain-lama.com → menampilkan domainutama.com |
| Redirect | Mengarahkan URL ke URL lain | /promo → /diskon-besar |
Dari Nol Hingga Online
Panduan langkah demi langkah: website pertama Anda bisa diakses dunia.
4.1 Alur Kerja Lengkap
4.2 Upload & Deploy Website
Metode 1: File Manager cPanel (Sederhana)
- Login ke cPanel → File Manager
- Navigasi ke
public_html/ - Klik Upload
- Pilih file HTML/CSS/JS/gambar dari komputer
- Pastikan ada file
index.htmlatauindex.phpdi root
Metode 2: FTP (Proyek Besar)
- Download FileZilla (gratis)
- Input host, username, password, port
- Drag-and-drop folder proyek ke
/public_html/
Metode 3: Git (Developer)
Terminal
# Jika hosting mendukung SSH & Git:
ssh user@domain.com
cd public_html
git clone https://github.com/user/repo.git .
# Untuk update:
git pull origin main
4.3 Mengarahkan DNS
Setelah beli domain dan hosting, Anda harus "menghubungkan" keduanya dengan mengarahkan Name Server (NS) domain ke name server milik hosting.
-
Temukan Name Server Hosting Anda
Biasanya ada di email welcome dari provider, atau di cPanel sidebar kanan. Contoh:
ns1.niagahoster.comdanns2.niagahoster.com - Login ke Registrar Domain Buka panel domain (Namecheap, Cloudflare, dll), cari bagian "Nameservers" atau "Custom DNS"
- Ganti Name Server Ubah dari default registrar ke name server hosting Anda
-
Tunggu Propagasi
DNS bisa butuh 5 menit hingga 48 jam untuk tersebar ke seluruh dunia (propagasi). Cek di
whatsmydns.net
4.4 Mengaktifkan HTTPS
Sudah dibahas di bagian 3.5 (SSL/TLS). Intinya:
- Install SSL via AutoSSL / Let's Encrypt di cPanel
- Tambahkan redirect HTTP → HTTPS di
.htaccess - Update semua internal link di website dari
http://kehttps:// - Test di SSL Labs untuk memastikan konfigurasi benar
Database: Memori Website Anda
File HTML/CSS adalah tampilan. Database adalah otak dan ingatan.
5.1 Apa Itu Database?
Website statis (HTML murni) tidak butuh database. Tapi website dinamis — WordPress, toko online, forum, aplikasi web — menyimpan konten di database.
Bayangkan perpustakaan. Setiap buku punya kategori, penulis, tahun terbit, ISBN. Database adalah sistem yang memungkinkan Anda menyimpan, mencari, menambah, mengedit, dan menghapus data tersebut dengan sangat cepat. "Tampilkan 10 artikel terbaru dari kategori Teknologi yang ditulis oleh Budi" — itu adalah query database.
Tipe Database di Hosting
- MySQL / MariaDB — Paling umum, digunakan WordPress, Joomla, PHP apps
- PostgreSQL — Lebih advanced, tersedia di beberapa hosting
- SQLite — File-based, tidak butuh server, cocok untuk aplikasi kecil
5.2 MySQL di cPanel — Membuat Database
Membuat database di cPanel melibatkan 3 entitas yang harus dihubungkan:
-
Buat Database
Buka cPanel → MySQL® Databases
Di bagian "Create New Database", ketik nama (misal:toko)
cPanel akan otomatis menambahkan prefix:username_toko -
Buat User Database
Di bagian "MySQL Users" → "Add New User"
Username:dbuser(akan menjadiusername_dbuser)
Password: buat password yang kuat, simpan baik-baik -
Hubungkan User ke Database (Grant Privileges)
Di bagian "Add User To Database"
Pilih user dan database → Klik "Add"
Centang "ALL PRIVILEGES" → Klik "Make Changes"
Lupa melakukan langkah 3! Banyak pemula membuat database dan user, tapi lupa menghubungkan keduanya. Tanpa privilege, user tidak bisa mengakses database — website akan error.
5.3 phpMyAdmin
phpMyAdmin adalah antarmuka grafis berbasis web untuk mengelola MySQL/MariaDB. Tersedia di cPanel → phpMyAdmin.
Yang Bisa Dilakukan di phpMyAdmin:
- Melihat isi tabel database
- Menjalankan query SQL manual
- Import/Export database (file .sql)
- Membuat/edit/hapus tabel dan kolom
- Mengelola relasi antar tabel
Export (Backup) Database via phpMyAdmin
- Buka phpMyAdmin dari cPanel
- Pilih database dari sidebar kiri
- Klik tab "Export"
- Pilih "Quick" method, format "SQL"
- Klik "Go" — file .sql akan terdownload
Import Database via phpMyAdmin
- Pilih database kosong dari sidebar
- Klik tab "Import"
- Upload file .sql
- Klik "Go"
Contoh Query SQL Dasar
SQL
-- Melihat semua tabel di database
SHOW TABLES;
-- Melihat isi tabel
SELECT * FROM wp_posts LIMIT 10;
-- Mengganti URL website (saat migrasi domain)
UPDATE wp_options
SET option_value = 'https://domainbaru.com'
WHERE option_name IN ('siteurl', 'home');
-- Menghitung jumlah baris
SELECT COUNT(*) FROM wp_users;
-- Membuat tabel baru
CREATE TABLE pengunjung (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
email VARCHAR(150),
tanggal DATETIME DEFAULT CURRENT_TIMESTAMP
);
5.4 Menghubungkan Website ke Database
Setelah membuat database, user, dan memberi privilege, website Anda perlu tahu cara menghubunginya. Ini biasanya dilakukan via file konfigurasi.
Contoh: WordPress (wp-config.php)
PHP
// File: public_html/wp-config.php
define('DB_NAME', 'username_toko');
define('DB_USER', 'username_dbuser');
define('DB_PASSWORD', 'password_kuat_anda');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
Contoh: Koneksi PHP Native (PDO)
PHP
$host = 'localhost';
$dbname = 'username_toko';
$user = 'username_dbuser';
$password = 'password_kuat_anda';
try {
$pdo = new PDO(
"mysql:host=$host;dbname=$dbname;charset=utf8mb4",
$user,
$password,
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
echo "Terhubung ke database!";
} catch (PDOException $e) {
die("Koneksi gagal: " . $e->getMessage());
}
Di hampir semua shared hosting, database server berjalan di mesin yang sama dengan web server. Jadi hostname-nya selalu localhost. Di VPS/Cloud, bisa jadi IP internal lain.
Sistem Menyewa Hosting
Bagaimana industri hosting bekerja dari sisi bisnis dan apa yang perlu Anda perhatikan.
6.1 Siklus Penagihan
| Siklus | Karakteristik | Cocok Untuk |
|---|---|---|
| Bulanan | Fleksibel, harga per bulan lebih mahal, bisa cancel kapan saja | Testing, proyek sementara |
| Tahunan | Diskon 20-40%, komitmen 1 tahun | Website yang sudah yakin akan berjalan lama |
| 2-3 Tahun | Diskon maksimal (hingga 60-70%), kadang dapat domain gratis | Bisnis jangka panjang, budget terbatas di awal |
Banyak provider menawarkan harga promo untuk tahun pertama (misal Rp 10.000/bulan), tapi harga perpanjangan (renewal) bisa 3-5x lipat. Selalu cek harga renewal sebelum membeli.
Apa yang Termasuk dalam Paket Hosting?
- 📊 Disk Space: Ruang penyimpanan (SSD/NVMe lebih baik dari HDD)
- 🌐 Bandwidth: Jumlah data transfer per bulan (atau "unlimited" — lihat fine print)
- 🗄️ Jumlah Database: Berapa database MySQL yang bisa dibuat
- 📧 Email Accounts: Berapa akun email yang bisa dibuat
- 🌍 Jumlah Domain: Berapa addon domain yang bisa ditambahkan
- 🔒 SSL: Apakah gratis atau berbayar
- 💾 Backup: Otomatis harian/mingguan atau manual
- ⚡ Resource Limit: CPU, RAM, I/O, Entry Processes (CloudLinux limits)
6.2 Memilih Provider Hosting
Checklist Evaluasi:
- ✅ Uptime SLA: Minimal 99.9% (berarti max ~8.7 jam downtime/tahun)
- ✅ Lokasi Server: Pilih yang terdekat dengan target audience (Indonesia? pilih server SG/ID)
- ✅ Support: 24/7? Live chat? Bahasa Indonesia? Response time?
- ✅ Backup Policy: Apakah otomatis? Berapa hari retensi? Gratis restore?
- ✅ Panel: cPanel? Plesk? Custom panel?
- ✅ Reputasi: Cek review di Trustpilot, WebHostingTalk, forum lokal
- ✅ Garansi Uang Kembali: 30 hari money-back guarantee?
- ✅ PHP Version: Apakah mendukung PHP 8.x terbaru?
6.3 Migrasi Hosting
Saat Anda ingin pindah provider, prosesnya disebut migrasi. Banyak provider menawarkan migrasi gratis.
Langkah Migrasi Manual:
- Backup Full di Hosting Lama Via cPanel → Backup → Full Backup, atau download public_html + export database via phpMyAdmin
- Setup Hosting Baru Buat database, user, dan grant privileges di cPanel baru
- Upload File Upload public_html ke hosting baru via File Manager/FTP
- Import Database Via phpMyAdmin di hosting baru
- Update Konfigurasi Edit wp-config.php (atau file config app Anda) dengan credential database baru
- Test via Hosts File Sebelum ganti DNS, test website di komputer lokal dengan edit file hosts
- Update DNS / Name Server Arahkan domain ke hosting baru
- Tunggu Propagasi, Monitor Pastikan semua berfungsi, baru cancel hosting lama (tunggu min. 7 hari)
Cheat Sheet: HTTP Error Codes
Panduan cepat memahami apa yang salah saat website menampilkan error.
Setiap kali browser berkomunikasi dengan server, server membalas dengan HTTP Status Code — angka 3 digit yang memberitahu apakah permintaan berhasil, dialihkan, atau gagal.
Digit pertama menentukan kategori:
1xx — Informational (jarang dilihat pengguna)
2xx — Success (200 OK = berhasil)
3xx — Redirection (dialihkan)
4xx — Client Error (kesalahan dari sisi browser/pengguna)
5xx — Server Error (kesalahan dari sisi server)
| Kode | Nama | Penjelasan & Solusi |
|---|---|---|
| 301 | Moved Permanently | URL telah dipindahkan secara permanen ke URL baru. Browser akan mengingat ini. Gunakan untuk: ganti domain, restruktur URL, pindah HTTP ke HTTPS. |
| 302 | Found (Temporary Redirect) | Pemindahan sementara. Browser tidak menyimpan redirect ini. Gunakan untuk: maintenance page, A/B testing. |
| 303 | See Other | Response dari POST request, mengarahkan ke halaman lain via GET. |
| 304 | Not Modified | Resource belum berubah sejak terakhir diakses. Browser menggunakan versi cache. Ini BUKAN error — ini efisiensi. |
| 307 | Temporary Redirect | Sama seperti 302, tapi method HTTP (POST/GET) tidak boleh berubah. |
| 308 | Permanent Redirect | Sama seperti 301, tapi method HTTP tidak boleh berubah. |
| Kode | Nama | Penjelasan & Solusi |
|---|---|---|
| 400 | Bad Request | Server tidak memahami request. Solusi: cek URL, bersihkan cache browser, cek cookie yang corrupt. |
| 401 | Unauthorized | Autentikasi dibutuhkan tapi tidak diberikan/salah. Solusi: login dengan kredensial yang benar, cek .htpasswd. |
| 403 | Forbidden | Server menolak akses. Anda teridentifikasi tapi tidak diizinkan. Penyebab umum di cPanel: salah CHMOD, ModSecurity block, tidak ada index file, hotlink protection, IP blocker. |
| 404 | Not Found | Halaman tidak ditemukan. Penyebab: URL salah ketik, halaman dihapus, permalink rusak. Solusi: buat custom 404 page, setup redirect 301 untuk URL lama. |
| 405 | Method Not Allowed | HTTP method tidak didukung untuk resource ini (misal: POST ke halaman yang hanya menerima GET). |
| 406 | Not Acceptable | Server tidak bisa menghasilkan response sesuai format yang diminta client (Accept header). |
| 408 | Request Timeout | Client terlalu lama mengirim request. Solusi: refresh halaman, cek koneksi internet. |
| 409 | Conflict | Konflik dengan state resource saat ini (misal: upload file yang sudah ada). |
| 410 | Gone | Resource sudah dihapus secara permanen dan tidak akan kembali. Berbeda dari 404 yang mungkin kembali. |
| 413 | Payload Too Large | File upload terlalu besar. Solusi di cPanel: naikkan upload_max_filesize dan post_max_size di MultiPHP INI Editor. |
| 414 | URI Too Long | URL terlalu panjang. Biasanya karena terlalu banyak parameter di query string. |
| 429 | Too Many Requests | Terlalu banyak request dalam waktu singkat (rate limiting). Penyebab: bot, script agresif, brute force attack. Solusi: tunggu, atau hubungi admin server. |
| Kode | Nama | Penjelasan & Solusi |
|---|---|---|
| 500 | Internal Server Error | Error umum server — "sesuatu salah tapi saya tidak tahu apa." Penyebab di cPanel: syntax error di .htaccess, error PHP, permission salah, habis memory limit. Cek Error Log di cPanel → Metrics → Errors. |
| 502 | Bad Gateway | Server bertindak sebagai gateway/proxy dan menerima response tidak valid dari server upstream. Penyebab: PHP-FPM down, Nginx tidak bisa menghubungi Apache/backend. Hubungi hosting provider. |
| 503 | Service Unavailable | Server overload atau maintenance. Penyebab: traffic spike, resource limit tercapai (CPU/RAM/EP), maintenance. Solusi: upgrade paket hosting, optimasi website, coba lagi nanti. |
| 504 | Gateway Timeout | Server gateway tidak mendapat response tepat waktu dari upstream. Penyebab: script PHP terlalu lama, database query lambat, server overload. Solusi: optimasi query, naikkan max_execution_time. |
| 507 | Insufficient Storage | Server kehabisan ruang penyimpanan. Solusi: hapus file tidak perlu, upgrade disk space, cek log yang membengkak. |
| 508 | Loop Detected | Server mendeteksi infinite loop saat memproses request. Penyebab: redirect loop di .htaccess (A → B → A). |
7.4 Panduan Debugging: Apa yang Harus Dilakukan Saat Error?
Langkah Universal
- Cek Error Log cPanel → Metrics → Errors (menampilkan 300 error terakhir). Ini adalah tempat pertama yang harus Anda lihat untuk error 500 dan 503.
-
Cek .htaccess
Syntax error di .htaccess adalah penyebab #1 error 500. Coba rename
.htaccessmenjadi.htaccess.bak— jika website kembali normal, masalahnya ada di file ini. - Cek File Permission Pastikan file: 644, direktori: 755. Permission 777 bisa menyebabkan error di beberapa server.
-
Cek PHP Error Log
Aktifkan di cPanel → MultiPHP INI Editor → set
display_errors = On(hanya untuk debugging, matikan di production!) atau cek file error_log di public_html. - Cek Resource Usage cPanel → Resource Usage atau CPU and Concurrent Connection Usage. Jika CPU/RAM/I/O hitting limit, Anda perlu optimasi atau upgrade.
- Hubungi Support Hosting Jika semua di atas tidak membantu, hubungi provider. Mereka punya akses ke log server level yang tidak bisa Anda lihat.
Quick Reference: Error → Kemungkinan Penyebab di cPanel
| Error | Pertama Cek | Di cPanel, Buka |
|---|---|---|
403 Forbidden |
File permission, index file ada? | File Manager → Permissions |
404 Not Found |
URL benar? File ada? | File Manager, Redirects |
500 Internal |
.htaccess, PHP error, permission | Errors (Error Log), File Manager |
502 Bad Gateway |
PHP-FPM status, restart PHP | MultiPHP Manager, hubungi support |
503 Service Unavail |
Resource limit tercapai? | Resource Usage, CPU Usage |
504 Gateway Timeout |
Script lambat? DB query berat? | MultiPHP INI (max_execution_time) |
Penutup Seri 1
Anda sekarang memiliki peta lengkap untuk memahami dan mengelola website.
Dalam Seri 1 ini, kita telah melakukan perjalanan dari konsep paling dasar — apa itu domain dan mengapa DNS ada — hingga kemampuan praktis mengelola website melalui cPanel, membuat database, memahami sistem sewa hosting, dan mendiagnosis error HTTP.
Yang Sudah Anda Pelajari:
- ✅ Bagaimana domain, DNS, dan hosting bekerja bersama membentuk website
- ✅ Kategori hosting (Shared, VPS, Cloud, Dedicated) dan kapan memilih masing-masing
- ✅ Navigasi lengkap cPanel: File Manager, Email, SSL, FTP, Cron, Backup, Domain
- ✅ Alur dari nol hingga website online
- ✅ Membuat dan mengelola database MySQL
- ✅ Sistem penagihan dan cara memilih provider
- ✅ Cheat sheet error 3xx, 4xx, 5xx dengan panduan debugging
Seri 2 akan membahas: WordPress secara mendalam (theme, plugin, keamanan, optimasi kecepatan), SEO teknikal dasar, CDN (Cloudflare), monitoring uptime, dan praktik keamanan web. Stay tuned.