Lewati ke isi

Server & Infrastruktur

Panduan Lengkap Mengelola Server Linux untuk Bisnis

Dasar mengelola server Linux untuk bisnis: memilih distro, user dan SSH, update paket, service, log, cron, storage, backup, dan hardening dasar.

Terbit 8 menit baca

Jawaban singkat

Mengelola server Linux untuk bisnis berarti menguasai beberapa kebiasaan inti: pilih distro yang didukung lama, pakai user biasa dengan sudo dan SSH key, rutin memperbarui paket, paham systemd dan log, jadwalkan tugas dengan cron, pantau disk, uji backup, dan kunci akses yang tidak perlu.

Daftar isi
  1. Distro Linux mana yang cocok untuk server?
  2. Akses pertama: user, sudo, dan SSH
  3. Satu orang, satu akun
  4. Memperbarui paket dengan aman
  5. Mengelola service dengan systemd
  6. Membaca log saat ada masalah
  7. Menjadwalkan tugas dengan cron
  8. Storage: memantau ruang dan inode
  9. Backup: rencanakan pemulihan, bukan hanya penyalinan
  10. Hardening dasar yang wajib
  11. Kapan sebaiknya memakai layanan terkelola?
  12. Pertanyaan yang sering diajukan

Kamu baru saja menerima alamat IP, nama user, dan password root untuk server Linux pertama di kantormu. Layarnya hitam, kursornya berkedip, dan tidak ada tombol "pengaturan". Dari mana memulai?

Jawaban singkatnya: kelola server dengan beberapa kebiasaan inti yang diulang terus. Pilih distribusi yang didukung lama, masuk dengan user biasa dan SSH key, perbarui paket secara rutin, kenali service dan log, jadwalkan tugas dengan cron, pantau ruang disk, buat backup yang teruji, dan tutup akses yang tidak perlu. Panduan ini ditulis untuk pemilik usaha dan admin junior yang mengelola VPS atau server sendiri, dengan perintah yang berlaku di distribusi populer.

Distro Linux mana yang cocok untuk server?

Distribusi (distro) adalah paket lengkap Linux beserta pengelola paket, jadwal rilis, dan masa dukungannya. Untuk server bisnis, yang terpenting bukan fitur terbaru, melainkan dukungan pembaruan keamanan yang panjang dan dokumentasi yang mudah dicari.

DistroKeluargaPengelola paketCocok untuk
Ubuntu Server LTSDebianaptPemula, banyak tutorial, aplikasi web modern
Debian stableDebianaptServer yang ingin stabil dan minimalis
AlmaLinuxRHELdnfLingkungan yang terbiasa dengan RHEL, panel hosting tertentu
Rocky LinuxRHELdnfSama seperti AlmaLinux, kompatibel dengan RHEL

Pilih versi rilis jangka panjang (LTS atau stable) dan catat kapan dukungannya berakhir, lalu rencanakan upgrade sebelum tanggal itu. Server dengan versi yang sudah tidak didukung tidak lagi mendapat tambalan keamanan.

Kalau aplikasi yang akan dipasang punya rekomendasi distro tertentu, ikuti rekomendasi itu. Panel hosting dan software komersial sering hanya mendukung beberapa distro. Untuk memilih kapasitas server, lihat memilih spesifikasi VPS.

Akses pertama: user, sudo, dan SSH

Login sebagai root untuk pekerjaan sehari-hari berisiko: satu perintah salah bisa merusak sistem, dan semua tindakan tercatat atas nama yang sama. Langkah pertama di server baru biasanya:

  1. Masuk sebagai root, lalu perbarui paket sistem.
  2. Buat user biasa, misalnya adduser budi.
  3. Beri hak sudo: usermod -aG sudo budi di Ubuntu atau Debian, usermod -aG wheel budi di AlmaLinux atau Rocky.
  4. Pasang SSH key milik user tersebut di ~/.ssh/authorized_keys.
  5. Uji login dengan user baru dan key dari jendela terminal kedua.
  6. Setelah berhasil, matikan login root dan login password di /etc/ssh/sshd_config (PermitRootLogin no, PasswordAuthentication no), lalu muat ulang service SSH.

Jangan menutup sesi root yang sedang terbuka sebelum langkah 5 berhasil, supaya kamu tidak terkunci di luar server. Periksa juga folder /etc/ssh/sshd_config.d/: file di sana bisa menimpa pengaturan di file utama, misalnya file bawaan cloud-init yang mengaktifkan login password. Perintah sudo sshd -T | grep -i -E 'permitrootlogin|passwordauthentication' menampilkan nilai yang benar-benar berlaku. Alasan kenapa SSH key lebih aman dari password dijelaskan di SSH key vs password.

Satu orang, satu akun

Bila server dikelola beberapa orang, buat akun dan key terpisah untuk masing-masing. Dengan begitu, log mencatat siapa melakukan apa, dan saat seseorang keluar dari tim, cukup hapus akun dan key-nya tanpa mengganti akses orang lain.

Memperbarui paket dengan aman

Banyak celah keamanan di server ditutup lewat pembaruan paket. Perintah dasarnya:

  • Ubuntu dan Debian: sudo apt update && sudo apt upgrade
  • AlmaLinux dan Rocky: sudo dnf upgrade

Untuk pembaruan keamanan otomatis, Ubuntu dan Debian punya paket unattended-upgrades, sedangkan keluarga RHEL punya dnf-automatic. Aktifkan setidaknya untuk pembaruan keamanan.

Beberapa pembaruan, terutama kernel, baru aktif setelah reboot. Jadwalkan jendela perawatan rutin, misalnya sebulan sekali di jam sepi, untuk reboot dan memeriksa layanan setelahnya. Sebelum upgrade besar, seperti pindah versi distro, buat backup atau snapshot terlebih dulu.

Mengelola service dengan systemd

Hampir semua distro server modern memakai systemd untuk menjalankan service seperti web server, database, dan SSH. Perintah yang paling sering dipakai:

PerintahFungsi
systemctl status nginxMelihat apakah service berjalan dan pesan terakhirnya
systemctl restart nginxMenjalankan ulang service
systemctl reload nginxMemuat ulang konfigurasi tanpa memutus koneksi (bila didukung)
systemctl enable nginxMenjalankan otomatis saat server menyala
systemctl list-units --failedMenampilkan service yang gagal
journalctl -u nginx --since todayMembaca log service tertentu

Biasakan menguji konfigurasi sebelum memuat ulang, misalnya nginx -t untuk Nginx. Kesalahan ketik di file konfigurasi bisa membuat service gagal menyala setelah restart.

Membaca log saat ada masalah

Log adalah catatan apa yang terjadi di server. Lokasi yang perlu kamu kenal:

  • journalctl untuk log systemd dan sebagian besar service.
  • /var/log/ untuk file log tradisional, seperti /var/log/nginx/, /var/log/auth.log (Debian, Ubuntu), atau /var/log/secure (keluarga RHEL).
  • Log aplikasi di folder masing-masing, misalnya log PHP atau log framework.

Saat ada keluhan "website error", urutannya biasanya: cek status service, baca log error web server, lalu log aplikasi. Log juga tempat melihat tanda serangan, seperti percobaan login berulang atau pemindaian. Panduan praktisnya ada di membaca log server untuk deteksi serangan.

Pastikan logrotate aktif agar file log dipotong dan dikompres berkala. Tanpa itu, log bisa memenuhi disk.

Menjadwalkan tugas dengan cron

Cron menjalankan perintah otomatis sesuai jadwal: backup harian, membersihkan file sementara, memperbarui sertifikat, atau mengirim laporan. Edit jadwal user dengan crontab -e. Formatnya lima kolom waktu (menit, jam, tanggal, bulan, hari dalam minggu), lalu perintahnya.

# Setiap hari pukul 02.30, jalankan skrip backup dan simpan lognya
30 2 * * * /opt/skrip/backup.sh >> /var/log/backup.log 2>&1

Beberapa kebiasaan yang mencegah masalah:

  • Tulis path lengkap untuk perintah dan file, karena lingkungan cron lebih minim dari terminal biasa.
  • Arahkan keluaran ke file log supaya kegagalan bisa dilacak.
  • Perhatikan zona waktu server, terutama bila tim dan server berada di zona berbeda.
  • Sebagai alternatif, systemd timer menyediakan log terpusat lewat journalctl dan bisa mengejar jadwal yang terlewat saat server mati bila diberi opsi Persistent=true.

Storage: memantau ruang dan inode

Disk penuh adalah penyebab gangguan yang umum, dan biasanya bisa dicegah. Perintah dasar:

  • df -h untuk melihat sisa ruang tiap partisi.
  • df -i untuk melihat inode. Disk bisa "penuh" karena terlalu banyak file kecil walau ruangnya masih ada.
  • du -sh /var/* | sort -h untuk mencari folder terbesar.

Penyebab yang sering muncul adalah log yang tidak dirotasi, backup lokal yang menumpuk, cache aplikasi, dan image atau volume container yang tidak terpakai. Pasang peringatan ketika pemakaian disk melewati batas tertentu, misalnya lewat alat monitoring yang sudah kamu pakai.

Kalau server punya disk tambahan, pasang lewat /etc/fstab memakai UUID, bukan nama perangkat seperti /dev/sdb, karena nama perangkat bisa berubah setelah reboot.

Backup: rencanakan pemulihan, bukan hanya penyalinan

Backup yang baik menjawab dua pertanyaan: berapa banyak data yang boleh hilang, dan berapa lama layanan boleh mati. Untuk server bisnis, biasanya yang perlu dicadangkan adalah:

  • data aplikasi dan file unggahan pengguna;
  • dump database (bukan hanya salinan folder data saat database berjalan);
  • file konfigurasi di /etc dan konfigurasi aplikasi;
  • daftar paket dan catatan cara membangun ulang server.

Simpan backup di luar server utama, simpan beberapa versi ke belakang, dan uji pemulihan secara berkala ke server uji. Snapshot dari penyedia VPS praktis untuk rollback cepat, tapi sebaiknya tidak menjadi satu-satunya backup. Pengaturan otomatisnya dibahas di backup website otomatis.

Hardening dasar yang wajib

Selain SSH yang dikunci, beberapa langkah dasar menutup banyak celah umum:

  • Firewall dengan ufw (Ubuntu) atau firewalld (keluarga RHEL). Buka hanya port yang dipakai.
  • Fail2ban atau sejenisnya untuk memblokir sementara IP yang berulang kali gagal login.
  • Matikan service yang tidak dipakai, dan pastikan database tidak mendengarkan di IP publik bila hanya dipakai lokal.
  • Pembaruan keamanan otomatis, seperti di bagian sebelumnya.
  • Waktu server tersinkron lewat NTP, supaya log dan sertifikat konsisten.

Daftar langkah yang lebih rinci untuk server baru ada di cara mengamankan VPS baru.

Kapan sebaiknya memakai layanan terkelola?

Mengelola server sendiri memberi kendali penuh, tapi juga tanggung jawab penuh: pembaruan, pemantauan, backup, dan penanganan gangguan di luar jam kerja. Kalau tim belum punya orang yang bisa menangani hal ini secara rutin, server yang dikelola penyedia bisa lebih masuk akal. Perbandingan untung ruginya ada di managed VPS vs unmanaged.

Apa pun pilihannya, tulis catatan operasional: cara login, service apa yang berjalan, lokasi backup, jadwal cron, dan langkah pemulihan. Catatan ini menyelamatkan tim saat orang yang biasa mengurus server sedang tidak ada.

Sebagai pegangan, rutinitas sederhana ini mencakup pekerjaan rutin admin:

  • Harian: cek peringatan monitoring dan pastikan backup semalam berhasil.
  • Mingguan: tinjau pembaruan paket, sisa disk, dan log login yang gagal.
  • Bulanan: reboot terjadwal bila ada pembaruan kernel, uji pemulihan satu backup, dan tinjau daftar user serta SSH key.
  • Tahunan: cek tanggal akhir dukungan distro, rencanakan upgrade, dan perbarui catatan operasional.

Pertanyaan yang sering diajukan

Distro mana yang paling cocok untuk pemula?

Ubuntu Server LTS sering dipilih pemula karena tutorialnya sangat banyak. Debian juga ramah dan stabil. Yang terpenting, pilih versi dengan masa dukungan panjang dan sesuaikan dengan rekomendasi aplikasi yang akan dipasang.

Seberapa sering server perlu diperbarui?

Pembaruan keamanan sebaiknya otomatis atau minimal mingguan. Pembaruan yang butuh reboot, seperti kernel, bisa dijadwalkan dalam jendela perawatan bulanan. Pembaruan besar versi distro direncanakan terpisah dengan backup lebih dulu.

Apakah perlu panel kontrol seperti cPanel?

Tidak wajib. Panel memudahkan pengelolaan hosting banyak website dan email, tapi menambah biaya lisensi dan komponen yang harus diperbarui. Untuk satu atau dua aplikasi, banyak admin memilih mengelola langsung lewat SSH.

Apa beda cron dan systemd timer?

Keduanya menjalankan tugas terjadwal. Cron lebih sederhana dan dikenal luas. Systemd timer terintegrasi dengan log journalctl dan bisa menjalankan tugas yang terlewat saat server mati (dengan opsi Persistent=true).

Bagaimana kalau terkunci di luar server setelah mengubah SSH?

Gunakan konsol darurat dari panel penyedia VPS untuk masuk dan memperbaiki konfigurasi. Untuk mencegahnya, selalu uji login baru di jendela terpisah sebelum menutup sesi yang sedang terbuka.

Baca juga