WHM adalah halaman administrator yang digunakan untuk mengelola server berbasis cPanel. Dengan WHM, Anda dapat membuat akun cPanel, mengkonfigurasi keamanan, hingga menginstal versi PHP sesuai kebutuhan. Dalam artikel ini, kami akan membahas tutorial WHM secara detail, mulai dari konfigurasi dasar hingga cara mengoptimalkan VPS cPanel.
Sebagai seorang sysadmin, memahami fungsi dan fitur WHM sangat diperlukan agar server yang Anda kelola dapat berjalan dengan baik, serta anda dapat melakukan troubleshooting ketika mengalami kendala penggunaan.
Dalam artikel ini, kami akan memberikan tutorial WHM mulai dari fitur, konfigurasi dasar fitur, hingga cara meningkatkan performa server dengan mengatur rules dan starndart keamanan pada server. Simak informasi berikut ini.
Persiapan Sistem
Untuk mengikuti tutorial WHM berikut, pastikan bahwa VPS cPanel Anda telah aktif dan Anda memiliki akses root untuk mengelola servernya. Berikut list persiapan sistem yang perlu Anda siapkan.
- VPS KVM Almalinux yang sudah terinstall cPanel
- Akses root SSH
- Lisensi cPanel Solo
Pada panduan ini, kami berfokus pada konfigurasi dasar WHM untuk pemula. Apabila layanan VPS cPanel Anda baru saja aktif, maka Anda bisa mengikuti panduan berikut untuk melakukan konfigurasi dasarnya.
Basic Configuration
Section ini digunakan untuk mengatur konfigurasi awal cPanel seperti path, nameserver, dan tweak.
Basic Webhost Setup
Menu ini digunakan untuk melakukan konfigurasi dasar WHM, seperti direktori dan nameserver. Untuk mengakses menu ini, silahkan Anda login ke WHM lalu klik menu Basic Webhost manager.
- Direktori home: Secara default, directory cPanel terletak pada /home/usercpanel. Namun, kita dapat mengubah root dir menjadi path lain seperti /homedata atau /newhome sesuai kebutuhan.
- TTL: secara default, TTL DNS pada WHM di setting pada 14400. Apabila ingin lebih cepat, kita dapat mengubah TTL ke angka 3600.
- Log apache dapat memilih metode common, untuk mempermudah pembacaan log Apache.
- Nameserver : Pada bagian bawah menu, kita akan menemukan opsi nameserver. Bagi pengguna layanan VPS, kita dapat mengisi dengan private nameserver sendiri seperti ns1.domainsaya.com dan ns2.domainsaya.com.
Sebelum mengisi kolom nameserver, pastikan telah mengikuti panduan pembuatan Private Nameserver berikut.
Server TIme
Menu ini digunakan untuk mengatur timezone atau waktu server secara general. Anda bisa menyesuaikan server time sesuai dengan zone waktu yang dibutuhkan. Dalam contoh ini, kami akan menggunakan waktu WIB atau Asia/Jakarta.
Setelah mengubah waktu server, jangan lup klik pada sync time untuk melakukan singkronisasi waktunya.
Tweak Settings
Menu Tweak setting penting untuk Anda pahami. Tweak setting berfungsi untuk mengatur batasan-batasan yang ada di dalam server cPanel seperti menaikkan limit, hingga menetapkan aturan pada server.
Menu tweak dibagi menjadi beberapa section seperti domain, mail, compression, hingga security. Dalam artikel ini, kita akab belajar melakukan konfigurasi pada tiap bagiannya sesuai standart Rumahweb untuk mengoptimalkan performa server.
Compression
Gzip compression level : 7
Number of pigz processes : 16
Domains
Allow Remote Domains : On
Allow unregistered domains : On
Mail
Max hourly emails per domain : 200
Email delivery retry time : 90m
Maximum percentage of failed or deferred : 125%
Enable BoxTrapper spam trap : Off
PHP
cPanel PHP max execution time : 300
cPanel PHP memory limit : 256M
cPanel PHP max POST size : 512M
cPanel PHP max upload size : 512M
cPanel PHP loader : IONCUBE (checklist)
Security
Allow autocomplete for login screens : Off
Hide login password from cgi scripts : On
Cookie IP validation : disabled
System
Max HTTP submission size : 512M
(Batas upload di cpanel, dapat diisi 512 atau unlimited)
Apabila semua opsi Tweak telah disesuaikan, selanjutnya klik tombol save untuk penyimpanan. Setelah itu, cPanel akan otomatis melakukan restart service cpsrvd untuk menerapkan perubahan.
EasyApache
Menu selanjutnya yang akan kami bahas pada tutorial WHM kali ini adalah EasyApache. Menu EasyApache berisi semua package atau sistem yang berjalan di cPanel. Di menu ini, kita dapat menambahkan versi PHP, menambahkan mod, hingga melakukan custom PHP.
Dalam artikel ini, kami akan mencoba melakukan optimasi performa dan keamanan server dengan melakukan install Mod webserver. Langkahnya, silahkan klik menu Software > Easyapache 4. Klik Customize untuk melakukan custom.
Sesuaikan dengan konfigurasi berikut agar performa webserver berjalan maksimal. Pastikan checklist sesuai saran kami.
- Apache MPM
mod_mpm_event
- Apache Modules
mod_asis , mod_brotli , mod_cache , mod_deflate , mod_expires , mod_headers , mod_http2 , mod_lsapi , mod_pagespeed , mod_remoteip , mod_security2, mod_suexec , mod_suphp
- PHP Versions
Selain melakukan konfigurasi apache pada server, EasyApache juga bisa digunakan untuk menginstall versi php yang Anda butuhkan. Panduan install versi php bisa Anda pelajari lebih detail melalui artikel berikut.
Apabila semua poin telah disesuaikan, langkah selanjutnya masuk pada menu Review lalu lakukan PROVISIONING dan tunggu hingga proses selesai.
Security Center
Menu ini digunakan untuk mengatur keamanan pada server dan website yang ada di dalamnya. Pada panduan ini, kita akan belajar melakukan konfigurasi server WHM dengan tingkat keamanan yang cukup tinggi, agar server WHM lebih aman dari kemungkinan ancaman atau serangan.
Apache mod_userdir Tweak
Pada bagian ini, kami sarankan agar Anda mengaktifkan fitur mod_userdir Protection dan mendisable DefaultHost atau nobody. Berikut adalah contohnya :
ModSecurity Protection
Pada installasi mod_security kali ini, kita akan menggunakan vendor dari Imunify360 untuk ruleset/WAF. Untuk proses penambahannya dapat dilakukan melalui Terminal/SSH, dengan menjalankan command berikut :
/usr/local/cpanel/scripts/modsec_vendor add https://files.imunify360.com/static/modsec/v2/meta_imunify360-minimal-apache.yaml
Apabila berhasil ditambahkan melalui terminal, akan tampil pada menu modsec vendor seperti gambar berikut.
Selanjutnya, kita dapat melakukan konfigurasi menu lain yang ada di WHM Security Center.
Other Menu
# SMTP Restriction > enable
# CPHulk Bruteforce > Matikan/Disable
# Shell Fork Bomb > enable
# Password Strength > Ubah menjadi 80
Service Configuration
Menu selanjutnya pada tutorial WHM kali ini adalah Service Configuration yang penting untuk Anda pahami. Menu ini digunakan sebagai konfigurasi utama pada service web server, ftp, cPanel mailserver, dan menaikkan limit pada server atau tuning. Berikut penjelasan masing-masing.
Apache Configuration
Apache Config berisi konfigurasi webserver. Pada menu ini, kita dapat menaikkan limit proses apache, jumlah request, dan keamanan apache. Nilai pada panduan ini dapat di kustom sesuai kebutuhan dan spesifikasi server. Semakin server memiliki RAM + CPU yang besar, maka limit dapat dinaikkan lebih besar.
Berikut saran untuk pengguna RAM 4 – 8 GB dengan minimal CPU 2 core. Jika spesifikasi server anda dibawah ini, maka dapat menurunkan angka di bawah batas saran berikut.
Apache > Global Configuration
SSL Use Stapling : Off
Minimum Spare Servers : 10
Maximum Spare Servers : 30
Server Limit : 756
Max Request Workers : 512
Max Keep-Alive Requests : 400
Timeout : 200
Exim Configuration Manager
Menu ini digunakan untuk mengatur rule mailserver. Pada menu ini, Kita cukup menambahkan daftar RBL untuk meningkatkan keamanan email dari kemungkinan spamming.
Send mail from the account’s IP address : On
Use the reverse DNS entry for the mail HELO/EHLO if available : On
EXPERIMENTAL: Rewrite From: header to match actual sender : all
RBL: bl.spamcop.net : On
RBL: zen.spamhaus.org : On
Pada layanan VPS KVM, secara default port 25 di disable untuk alasan keamanan. Karenanya jika Anda akan menggunakan email di layanan VPS KVM, Anda perlu membuat tiket bantuan untuk membuka port 25 beserta penyesuaian PTR record pada IP VPS Anda. Tiket bisa dibuat melalui halaman Clientzone pada menu Trouble ticket.
FTP Server Selection
Menu ini digunakan untuk memilih opsi ftp pada server. Secara default, WHM akan menonaktifkan fungsi FTP, sehingga jika Anda membutuhkan koneksi melalui FTP, maka Anda perlu mengubah service FTP server selection menjadi Pure-FTPd.
Setelah mengubah FTP server selection, selanjutnya klik tombol save. Secara otomatis, WHM akan melakukan instalasi FTPd dan melakukan restart pada service FTP. Proses ini mungkin membutuhkan waktu dalam beberapa menit.
Packages
Menu packages digunakan untuk mengatur batasan pada akun cPanel. Selengkapnya tentang cara membuat packages di WHM dapat Anda pelajari pada artikel berikut : cara membuat hosting sendiri
Hal yang perlu diperhatikan pada saat membuat packages adalah fitur di dalam cPanel. Secara default, fungsi dns seperti TXT, AAAA, Dmarc dan lainnya akan di disable, maka perlu diaktifkan dahulu sebagai berikut :
Centang pada kedua opsi berikut ini.
Database
Secara Default, limit database di cPanel akan mengikuti nilai bawaan non tuning dengan performa rendah. Oleh karena itu, Anda perlu melakukan peningkatan limit sesuai dengan spesifikasi server dan kebutuhan masing masing.
Masuk ke menu Database Services > Edit Database Configuration.
Ikuti saran spesifikasi mysqltuner dari cPanel dengan menekan button review suggestion. Setujui perubahan pada Database dengan nilai yang disarankan.
Max Connection Database
Secara default, nilai dari max koneksi database adalah 151. Kita dapat meningkatkan kebutuhan koneksi sesuai kebutuhan. Pada panduan ini, kami akan mencoba menaikkan max_connection_database menjadi 252.
Apabila nilai telah diubah, lakukan save ulang untuk menyimpan perubahan dan merestart service database secara otomatis.
Software
Menu ini digunakan untuk mengatur software default atau handler pada service PHP. Anda dapat mengubah default versi PHP yang dibutuhkan. Caranya, Masuk pada menu MultiPHP Manager, lalu ubah togle PHP-FPM seperti gambar berikut.
Pilih versi default PHP pada server cPanel yang Anda gunakan dan nonaktifkan PHP-FPM seperti gambar berikut.
Selanjutnya, geser pada menu dibawah PHP-FPM, dan ubah semua handler php menjadi LSAPI sebagai berikut.
Lsapi membantu meningkatkan performa eksekusi php, agar proses PHP berjalan lebih cepat tanpa membebani banyak proses php-fpm.
Konfigurasi Plugin Tambahan Keamanan
Poin terakhir pada tutorial WHM kali ini adalah Plugin. Menu ini terletak di bagian paling bawah pada sidebar WHM. Di menu service cPanel, terdapat banyak aplikasi pihak ketiga yang dapat Anda install, dimana setiap aplikasi memiliki fungsi masing-masing.
Opsi ini bersifat tambahan yang artinya tidak wajib. Anda dapat memilih untuk menginstal aplikasi sesuai dengan kebutuhan Anda.
- ConfigServer Security & Firewall : Digunakan untuk Firewall, mencegah serangan ke port/flooding.
- ConfigServer MailQueues : Untuk mengatur Antrian email/mencegah spamming
- Immunify360 (Berbayar) : Sebagai Antivirus/Malware di cpanel, dan mencegah serangan menggunakan WAF.
Berikut kami sampaikan panduan install CSF Firewall dan ConfigServerMailQueues melalui terminal SSH.
Install CSF
ConfigServer Firewall yang disingkat menjadi CSF adalah script konfigurasi firewall yang dibuat untuk memberikan keamanan yang lebih baik bagi web server. Untuk install CSF, Anda bisa mengikuti command berikut melalui SSH.
# cd /usr/src
# wget https://download.configserver.com/csf.tgz
# tar -xzf csf.tgz
# cd csf
# sh install.sh
Panduan konfigurasi CSF Firewall dapat mengikuti panduan berikut > Panduan CSF
Install ConfigServer MailQueues
ConfigServer Mail Queues digunakan untuk mengatur antrian email server serta mengurangi terjadinya spamming pada server karena malware atau virus. Untuk install ConfigServer Mail Queues , Anda bisa mengikuti command berikut melalui SSH.
# cd /usr/src
# wget https://download.configserver.com/cmq.tgz
# tar -xzf cmq.tgz
# cd cmq
# sh install.sh
Install Imunify
Imunify adalah salah satu platform keamanan server dari Cloudlinux yang dibuat untuk meningkatkan keamanan pada web server, baik serangan melalui malware hingga DDoS. Ada 2 versi Imunify, yakni ImunifyAV (Free) dan Imunify360 (berbayar),
Selengkapnya tentang apa itu Imunify360 bisa Anda pelajari pada artikel berikut: Imunify360
Demikian tutorial WHM untuk pemula dari Rumahweb. Semoga tutorial ini dapat membantu Anda untuk mengelola server hingga mengoptimasi server agar dapat berjalan secara lebih efisien. Semoga bermanfaat.