Panduan Lengkap: Setup Server Linux Profesional
Pendahuluan
Membangun server Linux adalah langkah fundamental bagi banyak infrastruktur digital, mulai dari hosting situs web, database, hingga layanan komputasi awan. Linux menawarkan stabilitas, keamanan, dan fleksibilitas yang tak tertandingi, menjadikannya pilihan utama para profesional. Panduan ini akan memandu Anda melalui proses setup server Linux dari awal hingga siap beroperasi, dengan fokus pada praktik terbaik dan keamanan.
Prasyarat
- Hardware Fisik atau Virtual Machine (VM): Server fisik atau VM dengan spesifikasi memori, CPU, dan penyimpanan yang memadai untuk beban kerja yang diinginkan.
- Koneksi Jaringan: Koneksi internet yang stabil dan akses ke router/switch jika server fisik.
- Media Instalasi: USB drive bootable atau file ISO untuk instalasi OS.
- Akses SSH Client: PuTTY (Windows) atau terminal (Linux/macOS) untuk akses remote.
- Pengetahuan Dasar Linux: Familiaritas dengan baris perintah Linux akan sangat membantu.
Memilih Distribusi Linux
Pilihan distribusi adalah langkah krusial. Beberapa yang populer untuk server:
- Ubuntu Server: Sangat populer, dokumentasi melimpah, komunitas besar. Ideal untuk pemula dan profesional.
- CentOS Stream / RHEL: Pilihan kuat untuk lingkungan enterprise karena stabilitas, keamanan, dan siklus hidup panjang. Membutuhkan pengetahuan lebih dalam.
- Debian: Fondasi bagi banyak distribusi lain (termasuk Ubuntu). Dikenal karena stabilitas dan keamanan yang ekstrem.
Untuk panduan ini, kami akan menggunakan contoh yang umum di Ubuntu Server, namun prinsip dasarnya berlaku universal.
Proses Instalasi Sistem Operasi
1. Membuat Media Instalasi Bootable
Unduh file ISO distribusi pilihan Anda dari situs resminya. Gunakan Rufus (Windows), Etcher (cross-platform), atau perintah dd (Linux/macOS) untuk membuat USB bootable.
sudo dd if=/path/to/your.iso of=/dev/sdX bs=4M status=progress
Ganti /path/to/your.iso dengan lokasi file ISO dan /dev/sdX dengan path USB drive Anda (misalnya /dev/sdb), berhati-hatilah agar tidak salah memilih drive.
2. Booting dan Instalasi Awal
Masukkan media bootable ke server dan nyalakan. Masuk ke BIOS/UEFI dan atur urutan boot agar memprioritaskan USB drive atau CD/DVD drive. Ikuti petunjuk instalasi di layar:
- Bahasa dan Keyboard: Pilih preferensi Anda.
- Jaringan: Konfigurasi alamat IP (DHCP secara default, atau statis jika diperlukan). Pastikan server memiliki konektivitas internet.
- Disk Partitioning:
- Otomatis: Biasanya cukup untuk sebagian besar kasus, installer akan membuat partisi yang direkomendasikan.
- Manual: Untuk kontrol lebih. Direkomendasikan untuk membuat partisi terpisah untuk
/(root),/home(jika ada pengguna interaktif),/var(untuk log dan data aplikasi), danswap.
- User Creation: Buat pengguna non-root dengan hak sudo. Jangan gunakan pengguna root untuk aktivitas sehari-hari.
- Pilihan Software: Beberapa installer menawarkan untuk menginstal paket dasar seperti SSH server. Pastikan untuk memilihnya.
Setelah instalasi selesai, cabut media bootable dan reboot server.
Konfigurasi Pasca-Instalasi dan Pengamanan Awal
1. Update Sistem
Segera setelah boot pertama, perbarui semua paket sistem untuk memastikan Anda memiliki versi terbaru dan patch keamanan.
sudo apt update && sudo apt upgrade -y # Untuk Debian/Ubuntu
sudo dnf update -y # Untuk CentOS/RHEL/Fedora
2. Mengamankan SSH
SSH adalah pintu masuk utama ke server Anda. Amankan dengan langkah-langkah berikut:
- Ganti Port Default (Opsional tapi Direkomendasikan): Ubah port 22 ke port non-standar lainnya (misal: 2222).
sudo nano /etc/ssh/sshd_config
Cari baris #Port 22, hilangkan tanda # dan ganti 22 dengan port pilihan Anda. Contoh: Port 2222.
Di file sshd_config yang sama, cari baris #PermitRootLogin prohibit-password atau PermitRootLogin yes. Ubah menjadi:
PermitRootLogin no
- Buat Pasangan Kunci di Komputer Lokal Anda:
ssh-keygen -t rsa -b 4096 - Salin Kunci Publik ke Server:
ssh-copy-id username@your_server_ip - Nonaktifkan Autentikasi Sandi (Setelah Kunci Berfungsi): Di
sshd_config:PasswordAuthentication no
Setelah perubahan, restart layanan SSH:
sudo systemctl restart sshd
Pastikan Anda bisa login dengan kunci SSH sebelum menonaktifkan autentikasi sandi.
3. Konfigurasi Firewall
Firewall adalah garis pertahanan pertama server Anda. Aktifkan dan konfigurasikan.
- Untuk Ubuntu (UFW - Uncomplicated Firewall):
sudo ufw enable
sudo ufw allow ssh # Atau port SSH kustom Anda, misal: sudo ufw allow 2222
sudo ufw allow http # Port 80
sudo ufw allow https # Port 443
sudo ufw status verbose
sudo systemctl enable firewalld --now
sudo firewall-cmd --permanent --add-service=ssh # Atau port SSH kustom Anda, misal: --add-port=2222/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
4. Mengatur Zona Waktu (NTP)
Sinkronisasi waktu sangat penting untuk logging dan keamanan.
sudo timedatectl set-timezone Asia/Jakarta # Ganti dengan zona waktu Anda
sudo apt install ntp -y # Untuk Debian/Ubuntu
sudo dnf install ntp -y # Untuk CentOS/RHEL
sudo systemctl enable ntpd --now # Untuk CentOS/RHEL
5. Instalasi Paket Esensial (Opsional)
Bergantung pada peran server, Anda mungkin ingin menginstal beberapa paket dasar:
- Web Server (Nginx/Apache):
sudo apt install nginx -y - Database Server (MySQL/PostgreSQL):
sudo apt install mysql-server -y - Alat Pemantauan (htop, glances):
sudo apt install htop glances -y
Kesimpulan
Anda kini telah berhasil menyiapkan server Linux dasar yang aman dan siap untuk deployment aplikasi atau layanan. Ingatlah bahwa keamanan adalah proses berkelanjutan; pastikan untuk selalu menjaga sistem Anda tetap terbarui, memantau log, dan menerapkan praktik keamanan terbaru. Dengan fondasi yang kuat ini, server Linux Anda siap menjadi tulang punggung infrastruktur digital Anda.