Ringkasan
Administrasi Linux server pada dasarnya bukan soal menghafal ratusan command. Yang lebih penting adalah tahu command mana yang dipakai untuk melihat kondisi, mana yang aman untuk mengubah konfigurasi, dan bagaimana memeriksa hasilnya. Tutorial ini membahas alur kerja yang biasa dipakai saat menangani server: cek akses, cari file, pantau resource, kelola service, baca log, sampai troubleshooting jaringan.
Prasyarat
- Akses SSH ke server dan akun yang dapat memakai
sudo. - Terminal di Linux, macOS, atau Windows Terminal.
- Pemahaman dasar bahwa command yang diawali
sudopunya dampak ke sistem. Jangan jalankan dari artikel ini secara membabi buta di server produksi.

Langkah-langkah
Masuk ke server dan pastikan identitas akun
Login memakai SSH, lalu cek siapa pengguna aktif dan server mana yang sedang Anda pegang.
ssh admin@ip-server whoami hostnamectl pwdwhoamimencegah salah asumsi soal hak akses.hostnamectlberguna ketika Anda mengelola banyak server yang nama atau IP-nya mirip. Ini kelihatan sepele, tapi salah server adalah insiden yang sangat mudah terjadi.Lihat isi direktori dan ruang disk
Gunakan
lsuntuk melihat file, laludfuntuk kapasitas filesystem.
Gunakan checklist pengaturan agar setiap langkah penting diperiksa secara berurutan dan tidak ada konfigurasi yang terlewat. ls -lah cd /var/log ls -lah df -h du -sh /var/log/* 2>/dev/null | sort -hOpsi
-hmembuat ukuran lebih enak dibaca. Kalau disk penuh, jangan langsung menghapus file. Cari dulu direktori terbesar dengandu; sering kali sumber masalahnya log yang membengkak, cache paket, atau backup lama.Mencari file dan teks konfigurasi
finddipakai untuk mencari file berdasarkan lokasi atau nama. Untuk mencari isi teks, andalkangrep.find /etc -name '*.conf' 2>/dev/null grep -Rni 'listen' /etc/nginx 2>/dev/null grep -Rni --exclude='*.log' 'DB_HOST' /var/www 2>/dev/null-nmenampilkan nomor baris, sedangkan-imengabaikan huruf besar-kecil. Saat mencari konfigurasi, nomor baris mempercepat kerja karena Anda bisa langsung membuka bagian yang relevan dengan editor.Membaca file dan log tanpa merusak apa pun
Untuk file pendek, pakai
cat. Untuk file panjang, lebih nyaman memakailess. Log aktif biasanya dipantau dengantail -f.less /etc/ssh/sshd_config tail -n 100 /var/log/syslog tail -f /var/log/nginx/error.logTekan
quntuk keluar dariless, danCtrl+Cuntuk menghentikantail -f. Hindari membuka log besar dengan editor kalau tujuannya cuma inspeksi; itu lebih lambat dan rawan perubahan tidak sengaja.Memantau CPU, memori, dan proses bermasalah
Saat aplikasi terasa lambat, cek kondisi server sebelum restart service. Restart kadang hanya menutupi gejala.
uptime free -h ps aux --sort=-%mem | head ps aux --sort=-%cpu | head topuptimememberi gambaran load average.free -hmembantu melihat tekanan memori, sedangkanpsmenunjukkan proses yang paling boros. Di banyak distro,htopjuga tersedia dan lebih nyaman, tetapi jangan mengandalkannya sebagai satu-satunya alat.Mengelola service dengan systemd
Mayoritas distro modern memakai
systemctl. Biasakan cek status dan log sebelum melakukan restart.sudo systemctl status nginx sudo systemctl restart nginx sudo systemctl enable nginx sudo journalctl -u nginx -n 100 --no-pagerenablemembuat service aktif lagi setelah reboot. Commandjournalctlsering jadi pembeda antara troubleshooting cepat dan tebak-tebakan, terutama ketika file log aplikasi tidak menjelaskan penyebab service gagal start.Mengecek port, koneksi, dan jaringan
Kalau aplikasi tidak bisa diakses, pisahkan masalahnya: service tidak berjalan, port tidak membuka, firewall menutup akses, atau DNS salah arah.
ip addr ip route ss -tulpn curl -I http://127.0.0.1 ping -c 4 8.8.8.8 getent hosts contoh-domain.comss -tulpnmenunjukkan port yang sedang listen beserta prosesnya. Ujicurlke127.0.0.1dulu untuk memastikan aplikasi lokal hidup. Kalau lokal sukses tetapi dari luar gagal, fokus ke firewall, security group, reverse proxy, atau routing.Mengelola permission dan kepemilikan file
Permission yang keliru sering muncul sebagai error 403, aplikasi gagal menulis cache, atau service tidak bisa membaca sertifikat.
ls -lah /var/www/aplikasi stat /var/www/aplikasi/.env sudo chown -R www-data:www-data /var/www/aplikasi/storage sudo chmod -R u+rwX,g+rwX /var/www/aplikasi/storageJangan menjadikan
chmod -R 777sebagai solusi. Itu memang kadang membuat error hilang, tetapi membuka akses terlalu lebar dan membuat audit keamanan berantakan. Beri izin minimum yang benar untuk user atau grup service.Mengelola paket dengan aman
Di Debian atau Ubuntu gunakan APT. Di RHEL, Rocky, AlmaLinux, atau Fedora biasanya memakai DNF.
sudo apt update apt list --upgradable sudo apt install curl sudo dnf check-update sudo dnf install curlDi production, cek dulu paket yang akan berubah dan jadwalkan update yang berpotensi me-restart service. Update keamanan penting, tetapi tetap perlu melihat dampaknya terhadap dependency dan waktu downtime.
Menggunakan pipe, redirect, dan command lanjutan
Pipe mengalirkan output satu command ke command lain. Redirect menyimpan output ke file. Ini sangat berguna untuk investigasi cepat.
journalctl -u nginx --since '1 hour ago' | grep -i error ss -tulpn | grep ':443' df -h > /tmp/disk-report.txt sudo find /var/log -type f -size +500M -printPerhatikan beda
>dan>>: tanda pertama menimpa isi file, sedangkan yang kedua menambahkan baris baru. Untuk laporan sementara, simpan di/tmpdan beri nama yang jelas.Menjadwalkan pekerjaan memakai cron
Untuk tugas sederhana seperti backup atau pembersihan file sementara, cron masih praktis.
crontab -e 0 2 * * * /usr/local/bin/backup-db.sh >> /var/log/backup-db.log 2>&1Contoh tersebut menjalankan backup setiap pukul 02.00 dan menyimpan output maupun error ke log. Selalu gunakan path absolut di cron karena environment-nya lebih minim dibanding shell interaktif.
Cara cek hasil
- Setelah mengubah service: jalankan
sudo systemctl status nama-servicedan cek log denganjournalctl -u nama-service -n 100. - Setelah membuka atau mengubah aplikasi web: uji dari lokal memakai
curl -I http://127.0.0.1, lalu uji dari jaringan yang memang berhak mengaksesnya. - Setelah mengubah permission: jalankan aplikasi atau service terkait, lalu cek log error. Permission yang benar dibuktikan oleh proses yang berhasil bekerja, bukan hanya output
ls. - Setelah pekerjaan cron: periksa file log yang diarahkan pada command cron dan pastikan timestamp-nya baru.
Kalau masih gagal
Mulai dari data paling dekat dengan masalah. Service gagal start? Buka systemctl status dan journalctl. Website tidak terbuka? Cek proses, port listen, uji localhost, baru firewall dan DNS. Disk penuh? Cari direktori besar dulu, jangan langsung bersih-bersih.
Kalau perlu perubahan konfigurasi, buat backup kecil sebelum mengedit:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bakLalu validasi konfigurasi sebelum reload. Contohnya untuk Nginx:
sudo nginx -t
sudo systemctl reload nginxreload lebih ramah daripada restart untuk perubahan konfigurasi yang valid karena koneksi aktif biasanya tidak langsung diputus.
Tips operasional
- Simpan command penting dan hasil investigasi di tiket atau catatan insiden. Memori teknisi tidak selalu cukup saat kejadian berulang dua bulan kemudian.
- Gunakan
historyuntuk melihat command sebelumnya, tetapi jangan pernah mengetik secret di command line karena bisa tersimpan di history. - Biasakan mode baca dulu:
status,ps,ss,df, dan log. Ubah sesuatu setelah hipotesisnya cukup kuat. - Untuk server production, jalankan command berisiko pada satu node lebih dulu jika arsitekturnya memungkinkan.
Penutup
Command Linux yang paling berguna bukan selalu yang paling panjang. Admin yang rapi biasanya unggul karena urutan diagnosisnya benar: lihat gejala, kumpulkan bukti, lakukan perubahan sekecil mungkin, lalu verifikasi. Kuasai command di atas sebagai fondasi; setelah itu, troubleshooting Nginx, database, Docker, maupun aplikasi internal akan jauh lebih enak diurai.