HOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIAHOSTING CEPATDOMAIN MURAHSSL GRATISSUPPORT 24/7UPTIME 99.9%SERVER INDONESIA
Tutorial

Cara Setup VPS CentOS/AlmaLinux: Panduan Administrasi Server Linux 2026

Tim HostingEkspres|12 Juni 2026|14 menit baca
centosalmalinuxvps setuplinux serverrocky linuxrheladministrasi server
Cara Setup VPS CentOS/AlmaLinux: Panduan Administrasi Server Linux 2026
📚 Baca juga: Cara Monitoring Server | Apa itu Vps | Cara Membuat Website

CentOS, AlmaLinux, dan Rocky Linux: Panduan untuk Era Post-CentOS 8

Dunia server Linux enterprise telah berubah drastis sejak Red Hat mengumumkan penghentian CentOS 8 pada akhir 2021 dan mengalihkan fokus ke CentOS Stream (versi rolling release). Keputusan ini mendorong komunitas membuat dua fork enterprise yang kompatibel sepenuhnya dengan RHEL (Red Hat Enterprise Linux): AlmaLinux dan Rocky Linux. Keduanya menawarkan kompatibilitas biner 1:1 dengan RHEL, dukungan keamanan jangka panjang, dan didukung oleh komunitas yang aktif serta sponsor korporat yang kuat.

Disclosure: Beberapa link di artikel ini mengarah ke layanan HostingEkspres atau partner kami. Jika Anda melakukan pembelian melalui link tersebut, kami mungkin menerima komisi tanpa biaya tambahan untuk Anda. Konten dan rekomendasi di artikel ini independen dan didasarkan pada pengujian serta pengalaman tim kami.

Panduan setup VPS ini berlaku untuk CentOS 7 (masih banyak digunakan hingga 2024), AlmaLinux 8/9, dan Rocky Linux 8/9 - karena ketiganya menggunakan manajemen paket yum/dnf yang sama dan filosofi administrasi yang serupa. Dalam panduan ini, kita akan menggunakan AlmaLinux 9 sebagai referensi utama.

Mengapa Memilih AlmaLinux/Rocky Linux daripada Ubuntu?

CentOS/AlmaLinux/Rocky Linux memiliki keunggulan tersendiri dibandingkan Ubuntu untuk konteks tertentu:

cara setup vps centos
Ilustrasi cara setup vps centos
  • Kompatibilitas RHEL: Binary compatible dengan Red Hat Enterprise Linux - sangat penting untuk lingkungan enterprise dan software yang hanya mendukung RHEL.
  • Stabilitas ekstrem: Paket yang lebih konservatif dan telah diuji secara mendalam. Perubahan breaking jauh lebih jarang terjadi.
  • SELinux bawaan: Security-Enhanced Linux sudah terintegrasi dan aktif secara default, memberikan lapisan keamanan tambahan yang sangat kuat.
  • Standar industri hosting: Banyak panel kontrol hosting populer (cPanel/WHM, DirectAdmin, Plesk) secara historis mendukung CentOS/RHEL sebagai platform utama.
  • Dukungan jangka panjang: AlmaLinux 9 mendapat dukungan hingga 2032.

Langkah 1: Koneksi SSH dan Update Awal

# Koneksi ke VPS
ssh root@IP_ADDRESS_VPS

# Update semua paket sistem
dnf update -y

# Atau untuk CentOS 7 (menggunakan yum):
# yum update -y

# Install tools yang sering dibutuhkan
dnf install -y wget curl vim nano git htop net-tools bind-utils

# Verifikasi versi OS
cat /etc/os-release
uname -r

Langkah 2: Konfigurasi Hostname dan Timezone

# Set hostname yang deskriptif
hostnamectl set-hostname nama-server-anda.namadomain.com

# Verifikasi
hostnamectl status

# Set timezone ke WIB (Jakarta)
timedatectl set-timezone Asia/Jakarta

# Aktifkan NTP untuk sinkronisasi waktu otomatis
timedatectl set-ntp true

# Verifikasi waktu
timedatectl status

# Edit /etc/hosts untuk menambahkan mapping hostname lokal
nano /etc/hosts
# Tambahkan baris: 127.0.0.1  nama-server-anda.namadomain.com nama-server-anda

Langkah 3: Membuat User Non-Root dengan Sudo

# Buat user baru
useradd namauser
passwd namauser

# Tambahkan user ke grup wheel (setara sudo di RHEL/AlmaLinux)
usermod -aG wheel namauser

# Verifikasi
id namauser
groups namauser

# Test akses sudo (pindah ke user baru)
su - namauser
sudo dnf update  # Masukkan password user, bukan root

# Kembali ke root
exit

Langkah 4: Konfigurasi SSH yang Aman

Setup SSH Key Authentication

# Di komputer LOKAL, generate SSH key (jika belum ada):
ssh-keygen -t ed25519 -C "your-email@domain.com"

# Copy key ke server
ssh-copy-id namauser@IP_ADDRESS_VPS

# Atau manual:
mkdir -p /home/namauser/.ssh
chmod 700 /home/namauser/.ssh
# Paste isi public key Anda ke /home/namauser/.ssh/authorized_keys
nano /home/namauser/.ssh/authorized_keys
chmod 600 /home/namauser/.ssh/authorized_keys
chown -R namauser:namauser /home/namauser/.ssh

Hardening Konfigurasi SSH

nano /etc/ssh/sshd_config

# Konfigurasi yang disarankan:
Port 2244                     # Ganti port default
AddressFamily inet            # IPv4 saja (opsional)
PermitRootLogin no            # Larang login root
PasswordAuthentication no     # Matikan login password
ChallengeResponseAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
MaxAuthTries 3
LoginGraceTime 20
X11Forwarding no
PrintLastLog yes
ClientAliveInterval 300
ClientAliveCountMax 2

# Restart SSH service
systemctl restart sshd

# Verifikasi dari terminal LAIN sebelum menutup sesi ini
# ssh -p 2244 namauser@IP_ADDRESS_VPS

Langkah 5: Konfigurasi Firewall dengan firewalld

AlmaLinux/CentOS menggunakan firewalld (bukan UFW seperti Ubuntu) sebagai firewall management tool:

# Pastikan firewalld aktif
systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

# Cek zone yang aktif
firewall-cmd --get-active-zones
firewall-cmd --list-all

# Izinkan service berdasarkan nama
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

# Izinkan port SSH kustom (ganti 2244 dengan port Anda)
firewall-cmd --permanent --add-port=2244/tcp

# Hapus service SSH default (port 22) jika sudah diganti
firewall-cmd --permanent --remove-service=ssh

# Reload untuk menerapkan perubahan
firewall-cmd --reload

# Verifikasi
firewall-cmd --list-all
cara setup vps centos
Ilustrasi cara setup vps centos

Langkah 6: Memahami dan Mengelola SELinux

SELinux adalah salah satu keunikan utama distribusi berbasis RHEL. Jangan menonaktifkannya - pahami dan kelola dengan benar:

# Cek status SELinux
sestatus
getenforce

# Tiga mode SELinux:
# Enforcing  - aktif dan memblokir pelanggaran (mode produksi)
# Permissive - aktif tapi hanya mencatat, tidak memblokir (untuk debugging)
# Disabled   - dinonaktifkan sepenuhnya (TIDAK DISARANKAN)

# Ubah ke mode Permissive sementara (untuk debugging, tanpa reboot):
setenforce 0

# Kembali ke Enforcing:
setenforce 1

# Untuk mengubah secara permanen (edit file config):
nano /etc/selinux/config
# SELINUX=enforcing  ← jangan ubah ini kecuali sangat terpaksa

# Cek log pelanggaran SELinux
ausearch -m avc -ts today | audit2why

# Install tools SELinux tambahan
dnf install -y policycoreutils-python-utils setroubleshoot

# Izinkan service/port yang diblokir SELinux
# Contoh: izinkan Nginx menggunakan port 8080
semanage port -a -t http_port_t -p tcp 8080

Langkah 7: Instalasi Web Server Nginx

# Install Nginx
dnf install -y nginx

# Aktifkan dan start Nginx
systemctl enable nginx
systemctl start nginx
systemctl status nginx

# Izinkan Nginx di firewall (sudah dilakukan di langkah sebelumnya)
# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https

# Konfigurasi konteks SELinux untuk direktori website
mkdir -p /var/www/namadomain.com/html
chown -R nginx:nginx /var/www/namadomain.com
chmod -R 755 /var/www/namadomain.com

# Atur SELinux context untuk direktori web
chcon -Rt httpd_sys_content_t /var/www/namadomain.com

# Buat konfigurasi virtual host
nano /etc/nginx/conf.d/namadomain.com.conf

# Isi file konfigurasi:
server {
    listen 80;
    server_name namadomain.com www.namadomain.com;
    root /var/www/namadomain.com/html;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    access_log /var/log/nginx/namadomain.com-access.log;
    error_log /var/log/nginx/namadomain.com-error.log;
}

# Test konfigurasi
nginx -t

# Reload Nginx
systemctl reload nginx

Langkah 8: Instalasi PHP 8.3 via Remi Repository

# Install EPEL repository
dnf install -y epel-release

# Install Remi repository (sumber PHP versi terbaru)
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

# Aktifkan modul PHP 8.3
dnf module reset php
dnf module enable php:remi-8.3

# Install PHP dan ekstensi umum
dnf install -y php php-fpm php-mysqlnd php-curl php-gd php-mbstring     php-xml php-zip php-bcmath php-intl php-opcache php-imagick

# Konfigurasi PHP-FPM untuk user nginx
nano /etc/php-fpm.d/www.conf
# Ubah: user = apache → user = nginx
# Ubah: group = apache → group = nginx
# Ubah: listen.owner = apache → listen.owner = nginx
# Ubah: listen.group = apache → listen.group = nginx

# Aktifkan dan start PHP-FPM
systemctl enable php-fpm
systemctl start php-fpm

Langkah 9: Instalasi MariaDB

# Install MariaDB
dnf install -y mariadb-server mariadb

# Aktifkan dan start MariaDB
systemctl enable mariadb
systemctl start mariadb

# Jalankan wizard keamanan
mysql_secure_installation
# Jawab Y untuk semua pertanyaan keamanan

# Buat database dan user untuk website
mysql -u root -p

CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'PasswordKuat123!';
GRANT ALL PRIVILEGES ON dbname.* TO 'dbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Langkah 10: SSL dengan Let's Encrypt

# Install Certbot via EPEL
dnf install -y certbot python3-certbot-nginx

# Dapatkan sertifikat SSL (pastikan domain sudah diarahkan ke IP VPS)
certbot --nginx -d namadomain.com -d www.namadomain.com

# Test pembaruan otomatis
certbot renew --dry-run

# Cek timer systemd untuk pembaruan otomatis
systemctl status certbot-renew.timer

Langkah 11: Konfigurasi Fail2ban

# Install Fail2ban
dnf install -y fail2ban

# Buat file konfigurasi lokal
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

# Konfigurasi di bagian [DEFAULT]:
# bantime = 1h
# findtime = 10m
# maxretry = 3
# backend = systemd  ← penting untuk AlmaLinux/CentOS 8+

# Konfigurasi jail SSH:
# [sshd]
# enabled = true
# port = 2244
# filter = sshd
# backend = systemd
# maxretry = 3

# Aktifkan dan start Fail2ban
systemctl enable fail2ban
systemctl start fail2ban

# Verifikasi
fail2ban-client status
fail2ban-client status sshd

Perbedaan Utama Administrasi CentOS/AlmaLinux vs Ubuntu

AspekAlmaLinux/CentOSUbuntu
Package managerdnf / yumapt
Firewall defaultfirewalldUFW
SELinuxAktif (Enforcing)AppArmor (lebih longgar)
Init systemsystemdsystemd
Manajemen servicesystemctlsystemctl
Direktori config Nginx/etc/nginx/conf.d//etc/nginx/sites-available/
User default web servernginx / apachewww-data
Repositori extraEPEL + RemiPPA (add-apt-repository)

Baca Juga:

FAQ: Setup VPS CentOS/AlmaLinux

Apa perbedaan CentOS, AlmaLinux, dan Rocky Linux?

Ketiganya adalah distribusi Linux binary-compatible dengan RHEL. CentOS 7 adalah versi lama (EOL 2024). AlmaLinux dan Rocky Linux adalah pengganti CentOS yang dibuat komunitas, keduanya sangat setara dalam fitur dan stabilitas.

Apakah CentOS 7 masih bisa digunakan setelah EOL?

Tidak disarankan. CentOS 7 mencapai EOL Juni 2024, tidak ada pembaruan keamanan. Segera migrasi ke AlmaLinux 9 atau Rocky Linux 9.

Mengapa SELinux sering dibilang menyulitkan administrasi server?

SELinux memblokir operasi yang tidak sesuai policy, menyebabkan error yang membingungkan pemula. Namun ini adalah lapisan keamanan yang sangat kuat. Gunakan mode Permissive untuk debugging, identifikasi masalah dengan audit2why, lalu buat policy yang tepat.

Apakah AlmaLinux cocok untuk menjalankan cPanel/WHM?

Ya, AlmaLinux adalah platform yang paling direkomendasikan untuk cPanel/WHM dengan dukungan resmi penuh dari cPanel Inc.

Bagaimana cara menginstal Docker di AlmaLinux?

Tambahkan repo Docker, install docker-ce dan docker-compose-plugin via dnf, aktifkan dengan systemctl enable --now docker, tambahkan user ke grup docker.

Mana yang lebih baik untuk VPS baru: AlmaLinux atau Ubuntu Server?

AlmaLinux untuk cPanel, kompatibilitas RHEL, dan lingkungan enterprise. Ubuntu Server untuk pemula, ekosistem package yang lebih luas, dan tools modern berbasis Docker.

Butuh Hosting untuk Website Anda?

Dapatkan hosting cepat, aman, dan terpercaya dengan harga terjangkau. Gratis domain, SSL, dan support 24/7.

Jangan Ketinggalan Promo!

Subscribe newsletter kami dan dapatkan diskon hingga 50% untuk pembelian pertama kamu.

Gratis, tanpa spam. Bisa unsubscribe kapan saja.