📚 cPanel Hosting 🏠
Alur belajar dari nol: halaman ini adalah kursus cPanel Hosting lengkap — dari memahami apa itu web hosting (Modul 1), mengatur domain & DNS (Modul 2), upload file & deploy (Modul 3), database & aplikasi (Modul 4), email (Modul 5), SSL & keamanan (Modul 6), backup (Modul 7), sampai performa & troubleshooting (Modul 8). Materi ini membangun di atas fondasi dari halaman Server Linux — cPanel hanyalah panel grafis yang mengelola apa yang kamu pelajari di sana.

Belajar cPanel Hosting dari Nol sampai Situs Online

Halaman ini adalah modul bacaan lengkap (textbook) untuk mengelola web hosting berbasis cPanel — panel paling banyak dipakai di dunia. Kita belajar lewat studi kasus nyata: meluncurkan situs instansicontoh.id lengkap dengan domain, database, email, HTTPS, dan backup.

📚 8 Modul praktik langsung 🖥️ Mengikuti alur kerja nyata admin hosting 📖 Bahasa Indonesia, tanpa asumsi pengetahuan awal 🔗 Berpasangan dengan kursus Server Linux
Cara memakai halaman ini: baca urut dari Modul 1. Setiap modul diakhiri Cek Pemahaman dan Lab. Tidak punya akun hosting? Banyak penyedia menawarkan cPanel demo / trial gratis — atau gunakan akun shared hosting murah sebagai "mesin latihan" sungguhan. Semua menu disebutkan dengan lokasinya di cPanel.
🧭 Lab Proyek — Luncurkan Situs "instansicontoh.id" dari Nol

Ini jalur skill-mu: ikuti urutan langkah di bawah, pelajari teorinya di modul, lalu praktikkan Lab-nya di akun hosting sebelum mencentang. Centangan sinkron dengan tombol "Tandai selesai" di bawah tiap modul — progres tersimpan di browser.

    Modul 1 — Web Hosting & cPanelMemahami di mana situsmu hidup dan apa itu panel cPanel

    1.1 Apa Itu Web Hosting?

    Web hosting adalah layanan yang menyediakan server (komputer yang selalu menyala) untuk menyimpan file situs web dan melayaninya ke pengunjung. Saat seseorang mengetik instansicontoh.id, browser mengambil file dari server ini.

    Web hosting itu seperti menyewa toko: kamu menyewa ruang di mal (server), memasang rak & barang (file situs), memajang papan nama (domain), dan punya telepon (email). cPanel adalah asisten pengelola toko — dari satu pintu kamu bisa mengatur rak, papan nama, telepon, dan keamanan.
    Jenis hostingUntuk siapaCiri
    Shared hostingSitus kecil–menengahMurah; satu server dibagi banyak akun. Ini yang umumnya pakai cPanel.
    VPSDeveloper / menengahServer virtual pribadi, kontrol penuh (bisa juga diinstal cPanel/WHM).
    DedicatedEnterpriseSatu mesin penuh milik sendiri.
    CloudSkalabelSumber daya dari banyak mesin, bayar sesuai pakai.
    cPanel ditemui paling sering di shared hosting. Server yang mengelola banyak cPanel account memakai WHM (Web Host Manager) — itu alat milik penyedia host; sebagai pemilik situs kamu cukup memakai cPanel.

    1.2 cPanel & Struktur Dasarnya

    cPanel adalah panel kontrol berbasis web yang menjembatani kamu (pemilik situs) dengan server Linux di baliknya. Tanpa cPanel, kamu harus mengatur semuanya lewat terminal; dengan cPanel, cukup klik menu.

    Kategori cPanelMenu pentingSetara Linux
    FilesFile Manager, FTP Accounts, Backupls, cp, tar, ftp
    DomainsDomains, Subdomains, Zone EditorKonfigurasi DNS
    DatabasesMySQL Databases, phpMyAdminmysql, mariadb
    EmailEmail Accounts, ForwardersPostfix, Dovecot
    SecuritySSL/TLS, IP Blocker, Hotlinkfirewall, certbot
    SoftwareInstallatron, PHP Versionapt install, php-fpm
    MetricsResource Usage, Error Logtop, journalctl
    Login ke cPanel: biasanya lewat domainkamu.com:2083 (atau https://serverhosting:2083) dengan username & password yang dikirim penyedia. Akses SSH (jika tersedia) ada di menu SSH Access.

    1.3 Masuk & Mengenal Antarmuka

    Setelah masuk, cPanel menampilkan ikon-ikon terkelompok. Hal pertama yang sebaiknya dilakukan:

    1. Buka Preferences → Change Password: ganti password default.
    2. Periksa General Information di kanan atas: nama server, versi cPanel, versi PHP.
    3. Cek menu Metrics → Resource Usage: berapa pemakaian saat ini.
    4. Aktifkan two-factor authentication bila tersedia (Preferences → 2FA).
    Password cPanel = kunci toko digitalmu. Jangan pernah berbagi. Gunakan password manager dan aktifkan 2FA. Kalau penyedia menawarkan Security Questions, aktifkan juga.
    Coba fitur cPanel "Dashboard" yang mengelompokkan ikon sesuai kategori; mode ini bisa diaktifkan dari menu Preferences. Beberapa tema menyembunyikan menu — pakai pencarian di atas jika ikon tidak ketemu.

    ✅ Cek Pemahaman — Modul 1

    1. Apa perbedaan web hosting dan domain?

    Jawaban: Hosting adalah server tempat file situs disimpan & dilayani. Domain adalah alamat/nama yang menunjuk ke server itu (mis. instansicontoh.id). Domain diarahkan ke server lewat DNS.

    2. Menu cPanel mana untuk mengubah password dan mengatur keamanan login?

    Jawaban: Preferences → Change Password, dan Two-Factor Authentication.

    3. Apa itu WHM?

    Jawaban: Web Host Manager — panel untuk mengelola seluruh akun di sebuah server cPanel (dipakai penyedia hosting), sedangkan cPanel dipakai pemilik satu akun.

    🧪 Lab 1 — Kenali Akunmu

    1. Login ke cPanel (domain:2083).
    2. Catat dari General Information: nama server, versi cPanel, versi PHP, dan IP server.
    3. Ganti password lewat Preferences → Change Password.
    4. Buka Metrics → Resource Usage dan perhatikan grafik pemakaian.
    5. Jelajahi setiap kategori (Files, Domains, Databases, Email, Security, Metrics) — cukup lihat-lihat dulu.

    Modul 2 — Domain, Subdomain & DNSBagaimana nama situs menunjuk ke servermu

    2.1 Bagaimana Domain Bekerja

    Sebuah domain seperti instansicontoh.id adalah nama yang ramah manusia untuk alamat numerik server (IP). Sistem yang menerjemahkan nama→IP adalah DNS (Domain Name System). Informasi DNS disimpan sebagai record di sebuah zone domain.

    RecordKegunaanContoh nilai
    ANama → IPv4instansicontoh.id → 203.0.113.10
    AAAANama → IPv6→ 2001:db8::1
    CNAMEAlias nama → nama lainwww → instansicontoh.id
    MXServer email domainmail.instansicontoh.id (prioritas 0)
    NSNama server yang "memegang" zonens1.hosting.com
    TXTCatatan teks (verifikasi, SPF, DKIM)v=spf1 include:hosting.com ~all
    DNS itu seperti buku telepon: kamu mencari nama "instansicontoh.id", dapat nomor (IP) 203.0.113.10, lalu browser menelepon ke sana. Record A = entri nomor, MX = "ke mana surat diantar", NS = "penerbit buku telepon mana yang kredibel".
    # Uji record domain dari terminal (mesin lokal/SSH) dig instansicontoh.id A # IP situs dig instansicontoh.id MX # server email dig instansicontoh.id NS # name server host www.instansicontoh.id # cek cepat
    DNS bersifat hierarkis & terdistribusi dan disimpan dengan TTL (time-to-live) — perubahan DNS butuh waktu menyebar (propagasi) dari menit sampai jam. Saat menguji, pakai dig langsung ke otoritas atau gunakan alat online seperti DNS Checker.

    2.2 Menambahkan Domain

    Domain bisa dibeli di registrar (mis. Niagahoster, Namecheap, atau penyedia hosting yang juga registrar). Langkah standar mengarahkan domain ke hosting:

    1. Di registrar, ubah nameserver domain ke nameserver hosting (mis. ns1.hosting.com, ns2.hosting.com). Ini membuat DNS dikelola hosting.
    2. Di cPanel → Domains, pastikan domain utama muncul (biasanya otomatis saat order).
    3. Tunggu propagasi, lalu situs aktif.
    # Cek ke mana domain mengarah saat ini dig instansicontoh.id +short # IP sekarang dig instansicontoh.id NS +short # NS yang dikelola siapa
    Mengganti nameserver mengalihkan semua DNS (termasuk email). Jika email-mu dikelola di tempat lain, salin dulu record MX ke hosting. Propagasi NS bisa memakan 24–72 jam meski biasanya lebih cepat.
    Alternatif yang tidak mengubah NS: biarkan NS di registrar, lalu di registrar tambahkan record A menunjuk ke IP server hosting (dan record MX/CNAME lain). Beberapa penyedia menyediakan tool "connect domain".

    2.3 Subdomain & Addon

    # Subdomain — awalan domain, misal: blog.instansicontoh.id # folder: public_html/blog api.instansicontoh.id # folder: public_html/api # Addon domain — domain lain di akun yang sama, misal: bisnis-saya.id # folder: public_html/bisnis-saya

    Di cPanel: Domains → Create a New Domain atau Subdomains. Setiap subdomain menunjuk ke folder sendiri di public_html/. Addon domain adalah domain tambahan (harus punya & arahkan DNS-nya sendiri) yang di-hosting di akun yang sama.

    Subdomain vs addon: subdomain = bagian dari domain utama (blog.utama.id); addon = domain terpisah (situs-lain.id) yang diarahkan ke akunmu. Keduanya punya document root sendiri — jangan bingung saat menaruh file.
    Gunakan subdomain untuk memisahkan aplikasi (mis. api., blog., staging.) agar tidak tercampur dengan situs utama. Buat staging. untuk uji coba sebelum rilis ke produksi.

    2.4 Zone Editor (DNS)

    Domains → Zone Editor menampilkan seluruh record zone domain yang dikelola hosting. Dari sini kamu bisa menambah/mengubah record A, CNAME, MX, TXT, dan lainnya.

    # Contoh record yang sering ditambah di Zone Editor TXT instansicontoh.id "v=spf1 include:spf.hosting.com ~all" TXT _dmarc.instansicontoh.id "v=DMARC1; p=quarantine; rua=mailto:admin@instansicontoh.id" CNAME www.instansicontoh.id → instansicontoh.id A mail.instansicontoh.id → 203.0.113.10
    Hati-hati menghapus record yang masih dipakai. Rekam dulu isi zone sebelum mengubah. Untuk verifikasi domain pihak ketiga (mis. Google Search Console), kamu akan diminta menambahkan record TXT — tambahkan persis nilainya di Zone Editor.
    Perubahan di Zone Editor berlaku cepat (TTL), tapi propagasi ke dunia luas butuh waktu. Kalau situs/email belum aktif, cek TTL record dan tunggu. Alat "DNS Checker" membantu melihat status dari berbagai kota.

    2.5 Nama Server (NS)

    NS menentukan siapa yang otoritatif atas zone sebuah domain. Ketika kamu mengubah NS domain ke ns1/ns2.hosting.com, hosting menjadi pengelola DNS (dan zone di cPanel berlaku). Jika NS diarahkan ke registrar, maka DNS dikelola di registrar.

    # Lihat NS aktif untuk sebuah domain dig instansicontoh.id NS +short
    Ringkas alur domain → situs: user mengetik nama → resolver bertanya ke server root → menuju server NS domain → mendapat IP dari record A → browser membuka IP → server hosting mengirim file situs. cPanel mengelola bagian NS → IP → file.

    ✅ Cek Pemahaman — Modul 2

    1. Record DNS mana yang menghubungkan nama domain ke alamat IPv4?

    Jawaban: Record A. Untuk IPv6 memakai AAAA.

    2. Apa beda subdomain dan addon domain?

    Jawaban: Subdomain adalah bagian dari domain utama (blog.utama.id). Addon domain adalah domain terpisah (situs-lain.id) yang di-hosting di akun yang sama.

    3. Record apa yang menentukan server email domain?

    Jawaban: Record MX (mail exchanger), mis. mail.instansicontoh.id dengan prioritas tertentu.

    4. Di menu cPanel mana kamu menambah record TXT untuk verifikasi domain?

    Jawaban: Domains → Zone Editor.

    🧪 Lab 2 — Kenali DNS Domainmu

    1. Buka Domains → Zone Editor dan amati record yang sudah ada (A, MX, NS).
    2. Catat IP server dari record A domain utama.
    3. Buat subdomain percobaan test.instansicontoh.id menunjuk ke public_html/test.
    4. Buat file index.html di folder test berisi teks sederhana.
    5. Dari terminal: dig test.instansicontoh.id setelah beberapa saat — periksa apakah record sudah muncul.

    Modul 3 — File, FTP & DeployMengupload dan mengelola file situs

    3.1 Struktur File Akun

    Setiap akun cPanel punya home directory dengan struktur standar:

    public_html/ # document root situs utama (bisa dibuka browser) index.html # halaman default wp-content/ # contoh folder aplikasi mail/ # penyimpanan email (jangan diubah!) logs/ # log domain (via Error Log / Raw Access) etc/ # konfigurasi internal akun ssl/ # sertifikat SSL akun
    Yang penting dipahami: public_html/ (atau www/) adalah root situs yang dilihat browser. File di luar folder ini tidak bisa diakses publik — cocok untuk backup & skrip internal.

    3.2 File Manager

    Files → File Manager adalah pengelola file berbasis web: upload, download, rename, hapus, ubah izin (permission), ekstrak arsip (ZIP), dan edit teks. Sering dipakai untuk menaruh file index.html atau ekstrak instalasi CMS.

    # Setelah upload ZIP ke public_html, ekstrak di File Manager: buka public_html/ → klik ZIP → Extract → pilih folder tujuan → Extract File(s)
    Izin file (Permissions) penting: file web umumnya 644, folder 755. Jangan beri 777 ke sembarang file — itu membuka celah keamanan. Aturan ini sama dengan yang kamu pelajari di Server Linux.

    3.3 FTP & Akun FTP

    FTP adalah cara upload yang nyaman untuk folder besar. cPanel menyediakan Files → FTP Accounts untuk membuat akun FTP tersendiri (bisa dibatasi ke satu folder), plus klien FTP seperti FileZilla atau WinSCP.

    # Koneksi di FileZilla Host: ftp.instansicontoh.id (atau IP server) Port: 21 (FTP) / 22 (SFTP) User: namaakun@instansicontoh.id Password: password akun FTP
    Selalu pilih SFTP (lewat port 22) bila tersedia — seluruh transfer terenkripsi. FTP biasa (FTPS/port 21 dengan TLS) juga aman bila diaktifkan. FTP polos mengirim password dalam teks terang — hindari bila memungkinkan.
    Password FTP dipisah dari password cPanel — jangan bingung. Simpan di password manager. Batasi akun FTP ke folder tertentu (mis. hanya public_html) agar tidak semua file bisa diakses dari akun FTP.

    3.4 SSH Access

    Bila penyedia mengaktifkan SSH, kamu bisa masuk ke server seperti yang dipelajari di Server Linux. Aktifkan di Security → SSH Access: upload kunci publik, lalu konek dengan port 22.

    # SSH ke akun hosting ssh namaakun@server.hosting.com ls -lah # lihat home cd public_html git pull origin main # deploy via git (bila penyedia mendukung)
    SSH di shared hosting biasanya jailed (terkurung di home sendiri) — kamu tidak bisa mengelola sistem lain. Tetap berguna untuk git, rsync, dan menjalankan perintah cepat tanpa File Manager.

    3.5 Deploy Website

    Tiga cara umum menaruh situs di cPanel:

    CaraCocok untukAlur
    Upload langsungSitus statis / file sedikitFile Manager → upload → taruh di public_html/
    FTP/SFTPBanyak file, perlu update rutinFileZilla → sync folder
    Softaculous/InstallerCMS (WordPress, dll.)Software → Installatron → pilih aplikasi → install
    Git/rsync (SSH)Developergit pull / rsync dari terminal
    # Contoh deploy via rsync dari laptop ke hosting (SSH) rsync -avz --delete ./dist/ namaakun@server:public_html/

    ✅ Cek Pemahaman — Modul 3

    1. Folder mana yang menjadi document root situs utama di cPanel?

    Jawaban: public_html/ (atau www/).

    2. Mengapa sebaiknya memakai SFTP daripada FTP polos?

    Jawaban: SFTP (port 22) mengenkripsi seluruh transfer termasuk password; FTP polos mengirim data/teks terang dan mudah disadap.

    3. Bagaimana mengubah izin file di File Manager?

    Jawaban: Klik kanan file → Change Permissions (atau Edit di beberapa versi). Standar: file 644, folder 755.

    4. Apa kelebihan Softaculous dibanding upload manual?

    Jawaban: Instalasi CMS (WordPress dll.) otomatis: membuat file, database, user database, dan konfigurasi — tanpa langkah manual & rawan salah.

    🧪 Lab 3 — Situs Pertamamu Online

    1. Buat folder test di public_html (dari Lab 2).
    2. Upload file index.html berisi "<h1>Halo cPanel!</h1>" lewat File Manager.
    3. Buka http://test.instansicontoh.id — halaman harus tampil.
    4. Buat akun FTP terbatas ke public_html/test di Files → FTP Accounts.
    5. Konek dengan FileZilla/WinSCP dan upload satu file lagi untuk membuktikan SFTP bekerja.

    Modul 4 — Database & AplikasiMySQL di cPanel, phpMyAdmin, dan menghubungkan aplikasi

    4.1 MySQL di cPanel

    Hampir semua situs dinamis (WordPress, aplikasi web) menyimpan data di database. Di cPanel, database dielola lewat Databases → MySQL Databases. Alurnya tiga langkah wajib:

    1. Create a New Database — mis. akunku_db.
    2. Create a New User — mis. akunku_user + password.
    3. Add User to Database — beri hak (ALL PRIVILEGES) untuk user ke database.
    Nama database & user di shared hosting biasanya diberi awalan username akun (mis. akunku_db). Kamu tidak bisa membuat database dengan nama sembarang — harus memakai awalan itu.
    Hubungan database ↔ aplikasi memakai 4 hal: nama database, user, password, dan host database (umumnya localhost). Simpan 4 nilai ini — akan diminta saat instalasi CMS atau konfigurasi aplikasi.
    Jangan beri hak lebih dari perlu. Untuk aplikasi biasa, ALL PRIVILEGES pada satu database saja sudah cukup. Gunakan password kuat (mix huruf, angka, simbol) dan simpan di password manager.

    4.2 phpMyAdmin

    Databases → phpMyAdmin adalah antarmuka web untuk mengelola MySQL: melihat tabel, menjalankan SQL, mengimpor/ekspor data. Berguna untuk:

    # Import database besar via terminal (SSH) lebih cepat dari phpMyAdmin mysql -u akunku_user -p akunku_db < backup.sql
    Hati-hati mengubah data di phpMyAdmin — tidak ada "undo". Export dulu sebelum menjalankan UPDATE/DELETE. Jangan pernah mengubah tabel wp_users Word Press tanpa backup.
    Untuk database besar (mis. >50MB), phpMyAdmin sering timeout. Gunakan BigDump atau import via SSH: mysql -u user -p db < file.sql.

    4.3 Software / Installer

    Menu Software → Software Installer (mis. Installatron / Softaculous) menginstal aplikasi populer (WordPress, Joomla, dll.) dengan beberapa klik. Ia membuat file, database, dan konfigurasi secara otomatis.

    # Saat menginstal WordPress lewat installer, data yang diminta: Software: WordPress Domain: instansicontoh.id Directory: (kosongkan untuk root public_html) Site Name: Instansi Contoh Admin User / Admin Pass / Admin Email Database: (biarkan otomatis — installer membuat DB sendiri)
    Pilih versi aplikasi & versi PHP yang didukung. Catat username/email & password admin yang dibuat installer — itu login admin aplikasi, bukan login cPanel.

    4.4 Menghubungkan Aplikasi ke DB

    Aplikasi yang kamu install manual biasanya meminta konfigurasi database saat setup:

    DB_NAME: akunku_db DB_USER: akunku_user DB_PASSWORD: (password user database) DB_HOST: localhost
    Kalau aplikasi "tidak bisa terhubung ke database", periksa: (1) nama database/user sudah memakai awalan akun; (2) user sudah ditambahkan ke database dengan hak; (3) host = localhost; (4) password benar. Ketiga langkah di MySQL Databases wajib lengkap.

    ✅ Cek Pemahaman — Modul 4

    1. Sebutkan 3 langkah wajib membuat database di cPanel.

    Jawaban: (1) Buat database, (2) buat user, (3) tambahkan user ke database dengan hak akses (ALL PRIVILEGES).

    2. Mengapa nama database di shared hosting memakai awalan username?

    Jawaban: Karena satu server dipakai banyak akun; awalan menjaga nama database unik antar-akun dan mencegah tabrakan.

    3. Alat web untuk mengelola database di cPanel?

    Jawaban: phpMyAdmin (Databases → phpMyAdmin).

    4. Bagaimana mengimpor database besar yang bikin phpMyAdmin timeout?

    Jawaban: Via SSH: mysql -u user -p db < file.sql, atau alat seperti BigDump.

    🧪 Lab 4 — Database + Aplikasi

    1. Buat database akunku_db dan user akunku_user di MySQL Databases, beri ALL PRIVILEGES.
    2. Buka phpMyAdmin, buat satu tabel uji sederhana (mis. pesan dengan kolom isi).
    3. Export database itu ke file .sql.
    4. Buat database kedua akunku_db2, import file .sql tadi untuk membuktikan round-trip.
    5. (Opsional) Instal WordPress lewat Software Installer di domain/subdomain uji.

    Modul 5 — EmailAkun email domain sendiri, webmail, dan keamanan email

    5.1 Akun Email

    Dengan cPanel kamu bisa punya email @instansicontoh.id — lebih profesional daripada @gmail. Buat di Email → Email Accounts: pilih domain, username (mis. admin), password, dan kuota.

    # Contoh akun email yang dibuat admin@instansicontoh.id # admin situs info@instansicontoh.id # info umum support@instansicontoh.id # dukungan
    Gunakan email cadangan untuk recovery cPanel (menu Preferences → Contact Information). Kalau lupa password cPanel, email ini dipakai verifikasi.

    5.2 Webmail & Klien

    Email bisa dibaca lewat webmail (buka domain:2096 atau /webmail) atau klien desktop/mobile (Outlook, Thunderbird) dengan IMAP/SMTP:

    # Pengaturan klien email (IMAP) Incoming (IMAP): mail.instansicontoh.id port 993, SSL Outgoing (SMTP): mail.instansicontoh.id port 465, SSL User: admin@instansicontoh.id Password: (password akun email)
    IMAP menyimpan email di server & sinkron di semua perangkat (disarankan). POP3 mengunduh & menghapus dari server (tidak disarankan untuk multi-perangkat). SMTP untuk mengirim.
    Beberapa ISP memblokir port 25/465. Jika tidak bisa kirim dari klien, cek dokumentasi penyedia — kadang ada SMTP relay khusus (mis. menggunakan hostname server, bukan domain).

    5.3 Forwarder & Autoresponder

    # Forwarder — terusan ke email lain info@instansicontoh.id → budi@gmail.com # Autoresponder — balasan otomatis (mis. cuti) support@instansicontoh.id → "Terima kasih, kami akan membalas dalam 2 hari kerja…"

    Menu: Email → Forwarders dan Email → Autoresponders. Forwarder berguna memusatkan email ke satu kotak; autoresponder untuk balasan saat tidak bisa membalas cepat.

    5.4 SPF, DKIM & DMARC

    Email dari servermu mudah dipalsukan. Tiga record TXT melindungi reputasi & keamanan email: SPF (siapa boleh kirim atas nama domain), DKIM (tanda tangan digital), DMARC (kebijakan bila email gagal verifikasi).

    # Contoh record TXT di Zone Editor TXT instansicontoh.id "v=spf1 include:spf.hosting.com ~all" TXT default._domainkey "v=DKIM1; k=rsa; p=MIIB…" # dari cPanel DKIM TXT _dmarc.instansicontoh.id "v=DMARC1; p=quarantine; rua=mailto:admin@instansicontoh.id"
    cPanel umumnya otomatis mengelola SPF & DKIM bila email di-host di sana (lihat Email Deliverability). DMARC sering perlu dibuat manual. Tanpa SPF/DKIM, email bisa masuk spam.
    Uji email setelah setup: kirim ke Gmail/Outlook lalu cek header "Received". Gunakan Email Deliverability di cPanel untuk melihat status SPF/DKIM/DMARC dan memperbaikinya.

    ✅ Cek Pemahaman — Modul 5

    1. Di menu cPanel mana membuat akun email @domain sendiri?

    Jawaban: Email → Email Accounts.

    2. Protokol mana yang menyimpan email di server dan sinkron antar perangkat?

    Jawaban: IMAP (port 993). POP3 mengunduh & menghapus dari server.

    3. Apa fungsi record SPF?

    Jawaban: Menyatakan server mana yang berhak mengirim email atas nama domain — membantu mencegah pemalsuan (spoofing) dan masuk spam.

    4. Bagaimana mengatur balasan otomatis saat cuti?

    Jawaban: Email → Autoresponders — buat autoreply untuk akun email.

    🧪 Lab 5 — Email Domainmu

    1. Buat akun admin@instansicontoh.id di Email Accounts.
    2. Buka webmail (domain:2096), kirim email ke Gmail & cek sampai.
    3. Buat forwarder info@instansicontoh.id → email pribadimu.
    4. Buka Email Deliverability dan periksa status SPF/DKIM/DMARC domain.
    5. Kirim email uji & pastikan tidak masuk folder Spam (cek header "Authentication-Results").

    Modul 6 — SSL & KeamananHTTPS, proteksi direktori, dan pertahanan dasar

    6.1 SSL/TLS & AutoSSL

    SSL/TLS mengenkripsi koneksi browser↔server. Tanpa HTTPS (gembok di browser), pengunjung — dan Google — tidak akan percaya situsmu. cPanel biasanya menyediakan AutoSSL (sertifikat gratis otomatis, umumnya dari Sectigo/Let's Encrypt).

    # Cek status SSL domain di cPanel Security → SSL/TLS Status → pastikan status "green" untuk semua domain. # Paksa HTTPS Domains → domain → Force HTTPS (atau via .htaccess)
    Alur SSL di cPanel: (1) SSL/TLS Status — pastikan sertifikat aktif; (2) Force HTTPS — semua trafik diarahkan ke https; (3) cek dengan https://domainmu & lihat gembok hijau. AutoSSL mengurus perpanjangan otomatis.
    Setelah SSL aktif, beri tahu mesin pencari lewat Google Search Console agar mengindeks versi HTTPS. Hati-hati mixed content (halaman HTTPS memuat aset HTTP) — itu memunculkan peringatan gembok.

    6.2 Sertifikat Manual

    Untuk sertifikat khusus (mis. Wildcard atau dari CA tertentu), upload ke Security → SSL/TLS → Install and Manage SSL. Kamu perlu tiga hal: sertifikat (.crt), kunci privat (.key), dan rantaian CA (bundle).

    Sertifikat punya masa berlaku (umumnya 90 hari–1 tahun). Catat tanggal kedaluwarsa dan perbarui sebelum habis — AutoSSL biasanya menangani ini otomatis untuk sertifikat gratisnya.

    6.3 Proteksi Direktori

    Untuk melindungi folder admin dengan password (mis. folder staging/ atau panel-admin/), gunakan Security → Directory Privacy:

    1. Pilih folder yang mau dilindungi (mis. public_html/staging).
    2. Beri nama proteksi (mis. "Staging Area").
    3. Buat username & password untuk akses.
    Directory Privacy menambahkan HTTP Basic Auth (file .htpasswd). Pengunjung harus login sebelum melihat isi folder — cara cepat mengunci halaman percobaan agar tidak terbaca publik.

    6.4 Hotlink, IP Blocker & Bot

    # Hotlink Protection — cegah situs lain mencuri filemu (gambar) Security → Hotlink Protection → izinkan domain sendiri saja # IP Blocker — blokir alamat tertentu Security → IP Blocker → tambah IP/rentang IP # Bot/akses lewat .htaccess (File Manager) Deny dari alamat tertentu atau atur User-Agent di file .htaccess
    Jangan asal blokir IP — ISP sering memakai IP bersama. Gunakan IP Blocker hanya untuk IP yang jelas-jelas menyerang (dari log error), dan pikirkan rentang dampaknya.
    Perbarui rutin: ganti password secara berkala, aktifkan 2FA, gunakan SSL, dan jangan pasang plugin/aplikasi dari sumber tak jelas. Keamanan adalah proses, bukan sekali pasang.

    ✅ Cek Pemahaman — Modul 6

    1. Apa fungsi AutoSSL?

    Jawaban: Menginstal & memperpanjang sertifikat SSL gratis secara otomatis untuk domain, sehingga situs punya HTTPS tanpa setup manual.

    2. Bagaimana memaksa semua trafik memakai HTTPS?

    Jawaban: Di cPanel: Domains → domain → Force HTTPS (atau aturan redirect di .htaccess).

    3. Menu untuk melindungi folder dengan password?

    Jawaban: Security → Directory Privacy (HTTP Basic Auth via .htpasswd).

    4. Apa itu hotlink protection?

    Jawaban: Mencegah situs lain menampilkan/mencuri aset (mis. gambar) dengan memuat langsung dari servermu — menghemat bandwidth.

    🧪 Lab 6 — Amankan Situs

    1. Buka Security → SSL/TLS Status. Pastikan semua domain bersertifikat (AutoSSL).
    2. Aktifkan Force HTTPS untuk domain utama.
    3. Buka situs dengan https://domainmu & periksa gembok di browser.
    4. Lindungi folder public_html/test dengan Directory Privacy; coba akses http://test.domainmu — harus minta login.
    5. Buka Hotlink Protection & aktifkan untuk domain sendiri.

    Modul 7 — Backup & RestoreJangan pernah kehilangan situsmu

    7.1 Backup di cPanel

    Files → Backup menyediakan Backup Wizard: full backup (seluruh akun), backup home, backup database, atau backup email. Full backup menghasilkan file .tar.gz berisi seluruh akun — perlu disimpan di luar server.

    # Pilihan backup di Backup Wizard Full Backup # seluruh akun (.tar.gz) — simpan ke komputer/GDrive Backup home directory # semua file (public_html, dll) Download MySQL backup # database saja (.sql) Download email backup # mailbox
    Aturan emas backup: 3-2-1 — 3 salinan, 2 media berbeda, 1 di luar server. Sertifikat AutoSSL & password tidak ikut dalam file backup — simpan terpisah. Uji restore secara berkala, bukan cuma saat darurat.

    7.2 Restore

    # Restore lewat cPanel Files → Backup → Restore → pilih file backup → Restore # Database Files → Backup → Restore MySQL → upload .sql (atau import via phpMyAdmin)
    Restore menimpa kondisi saat ini. Sebelum restore, pastikan kamu sudah punya backup kondisi sekarang (kalau-kalau). Restore ke akun lain di server yang sama umumnya harus lewat WHM (penyedia hosting) — hubungi support bila butuh.
    Jadwalkan backup otomatis: banyak penyedia menawarkan backup harian (tanyakan ke support / cek fitur "Backup" akun). Untuk kontrol penuh, buat cron yang memakai cPanel backup script atau arsip database & public_html ke penyimpanan eksternal via FTP/SFTP.

    7.3 Strategi Backup

    DataFrekuensiCara
    DatabaseHariancron: mysqldump → simpan ke luar server
    File situsMingguan / sebelum perubahanBackup Wizard / rsync
    EmailBulananBackup email / IMAP sync
    Konfigurasi (.htaccess, .env)Setiap perubahanGit repo pribadi
    # Contoh cron backup database (bila SSH tersedia) 0 3 * * * mysqldump -u akunku_user -p'PASSWORD' akunku_db | gzip > /home/akunku/db-$(date +\%F).sql.gz

    ✅ Cek Pemahaman — Modul 7

    1. Apa isi file full backup di cPanel?

    Jawaban: Seluruh akun: file situs (public_html), database, email, dan konfigurasi akun dalam satu arsip .tar.gz.

    2. Mengapa backup harus disimpan di luar server?

    Jawaban: Bila server rusak/diretas/akun dihapus, backup di dalam server ikut hilang. Salinan di luar (komputer, cloud) tetap aman.

    3. Bagaimana restore database dari file .sql?

    Jawaban: Files → Backup → Restore MySQL, atau import lewat phpMyAdmin, atau mysql -u user -p db < file.sql via SSH.

    4. Aturan backup 3-2-1 adalah?

    Jawaban: 3 salinan data, di 2 media berbeda, 1 di luar server/lokasi.

    🧪 Lab 7 — Latihan Backup & Restore

    1. Buka Files → Backup.
    2. Download backup home directory dan MySQL backup ke komputermu.
    3. Download full backup (bila ukuran wajar) dan simpan di luar server.
    4. Uji restore: buat database baru, import file .sql yang tadi diunduh.
    5. Tulis jadwal backupmu (harian database, mingguan file) dan tempel catatannya di BACKUP-NOTES.txt di luar server.

    Modul 8 — Performa & TroubleshootingMemantau sumber daya, membaca log, dan mempercepat situs

    8.1 Metrics & Resource

    Shared hosting membatasi sumber daya (CPU, RAM, proses, entri). Metrics → Resource Usage menunjukkan pemakaian nyata. Kalau situs melambat, di sinilah petunjuknya.

    # Area yang diperiksa di Resource Usage CPU usage # pemakaian prosesor Physical memory # RAM Entry processes # jumlah proses EP (entry processes) & I/O # beban baca/tulis
    Perhatikan pola harian: puncak pemakaian biasanya sore/malam. Jika terus di batas, kemungkinan ada skrip berat atau serangan (bot scraping). Baca Metrics → Raw Access Logs untuk melihat trafik sebenarnya.

    8.2 Error Log & Diagnosa

    # Log yang tersedia di cPanel Metrics → Errors # error PHP/aplikasi (default view) Metrics → Error Log # error server web Metrics → Raw Access Logs # log akses lengkap

    Alur diagnosa sederhana saat situs "error 500" atau kosong:

    1. Buka Metrics → Errors — cari pesan terbaru (PHP fatal error, path salah).
    2. Cek Error Log server web — arah ke file/folder bermasalah.
    3. Periksa izin file & folder (File Manager → Permissions).
    4. Uji langsung: buka file phpinfo atau test.php sederhana.
    Error 500 = server gagal memproses (biasanya file konfigurasi .htaccess salah, izin salah, atau skrip fatal). 404 = file tak ditemukan (path salah / belum upload). 403 = dilarang akses (izin/hotlink).
    Setelah memperbaiki, selalu bersihkan cache (aplikasi/browser) dan uji ulang. Jika situs tak kunjung pulih, nonaktifkan plugin satu per satu (untuk CMS) — biasanya penyebabnya plugin yang bentrok.

    8.3 Optimasi Situs

    # Cara mempercepat situs di cPanel 1. Aktifkan caching: aplikasi + hosting (mis. LiteSpeed Cache / Redis bila tersedia) 2. Kompresi gambar sebelum upload (WebP/optimasi) 3. Aktifkan gzip di .htaccess 4. Gunakan CDN untuk aset statis 5. Batasi plugin/aplikasi yang berat # Contoh .htaccess gzip <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/css application/javascript </IfModule>
    Ukur sebelum & sesudah optimasi dengan PageSpeed Insights atau GTmetrix. Target praktis: TTFB < 1 detik, gambar teroptimasi, cache aktif. Cek juga Metrics → Resource Usage setelah optimasi — harus turun.
    Performa = pengalaman pengguna + SEO. Mulai dari hal murah: gambar dioptimasi, cache aktif, plugin minimum. Naik ke VPS/lebih besar hanya bila sudah yakin bottleneck-nya sumber daya, bukan konfigurasi.

    ✅ Cek Pemahaman — Modul 8

    1. Menu cPanel untuk melihat pemakaian CPU/RAM?

    Jawaban: Metrics → Resource Usage.

    2. Apa arti HTTP error 500?

    Jawaban: Server gagal memproses permintaan — umumnya karena .htaccess salah, izin file salah, atau fatal error skrip/aplikasi.

    3. Sebutkan 3 cara mempercepat situs di cPanel.

    Jawaban: Contoh: aktifkan caching, optimasi gambar, kompresi gzip, gunakan CDN, atau kurangi plugin.

    4. Bagaimana melihat log PHP error situs?

    Jawaban: Metrics → Errors menampilkan error PHP/aplikasi; untuk detail server web gunakan Metrics → Error Log.

    🧪 Lab 8 — Amati & Optimalkan

    1. Buka Metrics → Resource Usage dan catat pemakaian selama beberapa menit.
    2. Buka Metrics → Errors — adakah error yang belum kamu perbaiki?
    3. Ukur situsmu di PageSpeed Insights (bila sudah online) dan catat skornya.
    4. Aktifkan caching & gzip (bila CMS mendukung plugin cache, aktifkan).
    5. Ulangi pengukuran dan bandingkan skor sebelum/sesudah.

    Referensi & KomunitasSumber resmi untuk melangkah lebih jauh

    Lampiran — Proyek AkhirChecklist peluncuran & cara migrasi antar host

    Checklist Launch

    Sebelum situs resmi "naik", pastikan semua ini:

    Migrasi & Pindah Host

    Pindah ke penyedia lain? Ikuti langkah aman ini:

    1. Backup full backup + database dari cPanel lama.
    2. Di host baru, restore via Files → Backup → Restore (atau minta support melakukan cPanel migration — banyak penyedia melakukannya gratis).
    3. Buat ulang akun email & set SPF/DKIM/DMARC di host baru.
    4. Uji situs di host baru (tanpa mengubah DNS dulu — gunakan hosts file atau URL sementara).
    5. Setelah yakin, ubah nameserver ke host baru.
    6. Jangan nonaktifkan akun lama sampai propagasi selesai & semua (termasuk email) berfungsi di host baru.
    Email adalah bagian migrasi yang paling sering gagal. Karena email terikat MX record & SPF/DKIM, pastikan sudah dibuat & terverifikasi di host baru sebelum memindahkan DNS. Kalau email masih di host lama, biarkan MX menunjuk ke sana selama transisi.

    cPanel DrillSoal acak untuk menguji pemahaman — kerjakan sampai streak tinggi

    Benar 0 · Salah 0 · Streak terbaik 0

    Cheat Sheet cPanelLokasi menu & hal penting — klik untuk menyalin

    KategoriTugasLokasi menu
    LoginPanel cPanelhttps://domainmu:2083
    LoginWebmailhttps://domainmu:2096
    LoginGanti password cPanelPreferences → Change Password
    LoginKeamanan loginPreferences → Two-Factor Authentication
    FileKelola fileFiles → File Manager
    FileUpload lewat FTPFiles → FTP Accounts
    FileBackup akunFiles → Backup
    FileSSH aktifSecurity → SSH Access
    DomainDomain utamaDomains → Domains
    DomainBuat subdomainDomains → Subdomains
    DomainEdit record DNSDomains → Zone Editor
    DomainForce HTTPSDomains → (domain) → Force HTTPS
    DatabaseBuat DB/userDatabases → MySQL Databases
    DatabaseKelola DB via webDatabases → phpMyAdmin
    DatabaseBackup DBFiles → Backup → Download MySQL backup
    EmailBuat akun emailEmail → Email Accounts
    EmailTerusan emailEmail → Forwarders
    EmailBalasan otomatisEmail → Autoresponders
    EmailCek SPF/DKIM/DMARCEmail → Email Deliverability
    KeamananSSL statusSecurity → SSL/TLS Status
    KeamananProteksi folderSecurity → Directory Privacy
    KeamananBlokir IPSecurity → IP Blocker
    KeamananCegah hotlinkSecurity → Hotlink Protection
    SoftwareInstal aplikasi (CMS)Software → Software Installer
    MetricsPemakaian sumber dayaMetrics → Resource Usage
    MetricsError aplikasiMetrics → Errors
    MetricsLog server webMetrics → Error Log
    MetricsLog akses lengkapMetrics → Raw Access Logs