15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
31.10.2024
1 +1

Instalasi dan Konfigurasi Komponen Ubuntu: Panduan Lengkap

Ubuntu tetap menjadi salah satu distribusi Linux paling populer di dunia — dan ada alasan yang baik untuk itu. Fleksibilitasnya, ekosistem paket yang kuat, dan dukungan komunitas yang solid menjadikannya platform ideal bagi pengembang, administrator sistem, dan bisnis. Baik Anda menyiapkan mesin pengembangan lokal atau menyediakan lingkungan VPS Hosting di cloud, mengetahui cara menginstal dan mengonfigurasi komponen Ubuntu dengan benar adalah keterampilan dasar yang memberikan hasil di setiap tingkat infrastruktur Anda.

Panduan komprehensif ini memandu Anda melalui setiap langkah penting: memperbarui sistem, menginstal paket penting, mengonfigurasi firewall, menyiapkan server database, mengoptimalkan kinerja, dan banyak lagi. Pada akhirnya, sistem Ubuntu Anda akan diperkuat, efisien, dan siap untuk beban kerja produksi.

Daftar Isi

  1. Memperbarui Ubuntu Sebelum Menginstal Apa Pun
  2. Menginstal Komponen Penting
  3. Mengonfigurasi Repositori Perangkat Lunak
  4. Menginstal dan Mengonfigurasi Firewall dengan UFW
  5. Menginstal dan Mengonfigurasi Server Database
  6. Menginstal Alat dan Utilitas Tambahan
  7. Menyesuaikan Pengaturan Sistem Ubuntu
  8. Menyiapkan Cadangan Otomatis
  9. Pemantauan Sistem dan Optimasi Kinerja
  10. Tips Akhir untuk Sistem Ubuntu yang Siap Produksi

1. Memperbarui Ubuntu Sebelum Menginstal Apa Pun

Sebelum menyentuh satu paket pun, selalu bawa sistem Anda sepenuhnya terbaru. Ini memastikan Anda bekerja dengan patch keamanan terbaru, perbaikan bug, dan peningkatan kompatibilitas perangkat lunak.

sudo apt update && sudo apt upgrade -y

Apa yang dilakukan ini:

  • apt update — Menyegarkan indeks paket lokal dari semua repositori yang dikonfigurasi.
  • apt upgrade -y — Meningkatkan semua paket yang diinstal ke versi terbaru mereka yang tersedia, secara otomatis mengonfirmasi prompt.

> Pro Tip: Di server yang baru disediakan — terutama jika Anda menjalankan Ubuntu di Dedicated Server — langkah ini tidak dapat ditawar. Paket yang ketinggalan zaman adalah salah satu vektor paling umum untuk pelanggaran keamanan.

Setelah meningkatkan, mulai ulang jika kernel diperbarui:

sudo reboot

2. Menginstal Komponen Penting

Kekuatan Ubuntu terletak pada ekstensibilitasnya. Bagian-bagian berikut mencakup paket paling penting untuk setiap penerapan Ubuntu yang serius.

2.1. Build Essentials

Paket build-essential menginstal serangkaian alat yang dikurasi untuk mengompilasi perangkat lunak dari sumber, termasuk GCC (GNU Compiler Collection), Make, dan perpustakaan C/C++ standar.

sudo apt install build-essential -y

Verifikasi instalasi:

gcc --version
make --version

Paket ini adalah prasyarat untuk banyak alat dan runtime bahasa lainnya (misalnya, ekstensi Python, Ruby gems, modul native Node.js).

2.2. Git — Sistem Kontrol Versi

Git adalah alat standar industri untuk manajemen kode sumber, pengembangan kolaboratif, dan pipeline penerapan.

sudo apt install git -y

Setelah instalasi, konfigurasikan identitas global Anda:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Verifikasi konfigurasi Anda:

git config --list

Opsional tetapi direkomendasikan: Atur nama cabang default Anda ke main untuk selaras dengan konvensi modern:

git config --global init.defaultBranch main

2.3. Alat Jaringan: curl dan wget

Utilitas ini sangat diperlukan untuk mengunduh file, menguji API, dan men-debug konektivitas jaringan langsung dari baris perintah.

sudo apt install curl wget -y

Contoh penggunaan cepat:

# Download a file with wget
wget https://example.com/file.tar.gz

# Test an API endpoint with curl
curl -I https://example.com

Alat diagnostik jaringan yang berguna tambahan:

sudo apt install net-tools dnsutils traceroute -y
  • net-tools — Menyediakan ifconfig, netstat, dan perintah terkait.
  • dnsutils — Mencakup dig dan nslookup untuk pemecahan masalah DNS.
  • traceroute — Melacak jalur jaringan ke host jarak jauh.

2.4. Editor Teks

Setiap administrator sistem membutuhkan editor teks baris perintah yang andal. Ubuntu mendukung beberapa opsi tergantung pada preferensi dan alur kerja Anda.

Nano (ramah pemula):

sudo apt install nano -y

Vim (kuat, sangat dapat dikonfigurasi):

sudo apt install vim -y

Emacs (kaya fitur, dapat diperluas):

sudo apt install emacs -y

> Rekomendasi: Untuk lingkungan server, Vim adalah opsi yang paling tersedia secara universal dan mampu. Investasikan waktu untuk mempelajari perintah intinya — ini akan secara signifikan mempercepat alur kerja Anda.

2.5. Instalasi Server Web

Server web sangat penting untuk hosting situs web, aplikasi web, dan API. Dua pilihan dominan di Ubuntu adalah Nginx dan Apache.

#### Menginstal Nginx (Direkomendasikan untuk Kinerja Tinggi)

sudo apt install nginx -y

Mulai dan aktifkan Nginx untuk diluncurkan secara otomatis saat boot:

sudo systemctl start nginx
sudo systemctl enable nginx

Verifikasi bahwa itu berjalan:

sudo systemctl status nginx

Uji konfigurasi Anda sebelum memuat ulang:

sudo nginx -t

#### Menginstal Apache

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2

Nginx vs. Apache — Mana yang Harus Anda Pilih?

FiturNginxApache
Kinerja di bawah bebanSangat baik (berbasis acara)Baik (berbasis proses/thread)
Penyajian file statisSangat cepatCepat
Dukungan .htaccessTidakYa
Ekosistem modulBerkembangLuas
Penggunaan memoriLebih rendahLebih tinggi

Untuk sebagian besar penerapan modern — terutama di lingkungan cloud VPS Hosting — Nginx adalah pilihan yang disukai karena penanganannya yang superior terhadap koneksi bersamaan dan jejak memori yang lebih rendah.

3. Mengonfigurasi Repositori Perangkat Lunak

Instalasi default Ubuntu hanya mengaktifkan repositori Main dan Restricted. Untuk mengakses jangkauan perangkat lunak yang jauh lebih luas, Anda harus mengaktifkan repositori Universe dan Multiverse.

Metode 1: Menggunakan GUI (Desktop Ubuntu)

  1. Buka Software & Updates dari menu aplikasi.
  2. Di bawah tab Ubuntu Software, centang kotak untuk Universe dan Multiverse.
  3. Klik Close dan muat ulang daftar paket saat diminta.

Metode 2: Menggunakan Baris Perintah (Direkomendasikan untuk Server)

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt update

Ikhtisar Repositori:

RepositoriKonten
MainPerangkat lunak sumber terbuka yang didukung secara resmi
RestrictedDriver proprietary dengan dukungan resmi
UniversePerangkat lunak sumber terbuka yang dirawat komunitas
MultiversePerangkat lunak dengan pembatasan lisensi

Menambahkan PPA Pihak Ketiga

Untuk perangkat lunak yang tidak tersedia di repositori resmi, Anda dapat menambahkan Personal Package Archives (PPA):

sudo add-apt-repository ppa:repository-name/ppa
sudo apt update
sudo apt install package-name

> Catatan Keamanan: Hanya tambahkan PPA dari sumber yang terpercaya dan terkenal. Repositori pihak ketiga dapat memperkenalkan perangkat lunak yang tidak diverifikasi ke sistem Anda.

4. Menginstal dan Mengonfigurasi Firewall dengan UFW

Ubuntu dilengkapi dengan UFW (Uncomplicated Firewall), antarmuka yang ramah pengguna untuk iptables. Mengonfigurasi firewall Anda dengan benar adalah salah satu langkah keamanan paling penting untuk server apa pun yang menghadap internet.

Aktifkan UFW

sudo ufw enable

Izinkan Layanan Penting

Selalu izinkan SSH sebelum mengaktifkan firewall untuk menghindari penguncian diri Anda:

sudo ufw allow ssh

Atau tentukan port secara eksplisit:

sudo ufw allow 22/tcp

Izinkan lalu lintas HTTP dan HTTPS untuk server web:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Izinkan profil aplikasi tertentu:

sudo ufw allow 'Nginx Full'
# or
sudo ufw allow 'Apache Full'

Periksa Status Firewall

sudo ufw status verbose

Perintah UFW Tambahan

# Deny a specific port
sudo ufw deny 8080/tcp

# Delete a rule
sudo ufw delete allow 8080/tcp

# Reset all rules
sudo ufw reset

# Disable UFW
sudo ufw disable

> Praktik Terbaik: Ikuti prinsip hak istimewa paling sedikit — hanya buka port yang secara eksplisit diperlukan untuk layanan Anda. Setiap port terbuka yang tidak perlu adalah permukaan serangan potensial.

5. Menginstal dan Mengonfigurasi Server Database

Database adalah tulang punggung dari hampir setiap aplikasi web. Ubuntu mendukung semua sistem database relasional dan NoSQL utama melalui repositori paketnya.

5.1. Menginstal MySQL

MySQL adalah database relasional sumber terbuka yang paling banyak digunakan di dunia.

sudo apt install mysql-server -y

Setelah instalasi, jalankan skrip pengerasan keamanan:

sudo mysql_secure_installation

Skrip interaktif ini akan:

  • Atur kata sandi root (atau validasi kekuatan kata sandi)
  • Hapus pengguna anonim
  • Larang login root jarak jauh
  • Hapus database uji
  • Muat ulang tabel hak istimewa

Mulai dan aktifkan MySQL:

sudo systemctl start mysql
sudo systemctl enable mysql

Verifikasi layanan berjalan:

sudo systemctl status mysql

Terhubung ke shell MySQL:

sudo mysql -u root -p

5.2. Menginstal MariaDB (Alternatif Kompatibel MySQL)

MariaDB adalah fork yang dikembangkan komunitas dari MySQL dengan kinerja yang ditingkatkan dan fitur tambahan:

sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
sudo systemctl enable --now mariadb

5.3. Menginstal PostgreSQL

PostgreSQL adalah sistem database objek-relasional tingkat enterprise yang kuat yang dikenal karena kepatuhan standar dan ekstensibilitasnya.

sudo apt install postgresql postgresql-contrib -y

Mulai dan aktifkan PostgreSQL:

sudo systemctl start postgresql
sudo systemctl enable postgresql

Beralih ke pengguna administratif PostgreSQL dan buka shell:

sudo -i -u postgres
psql

Buat database dan pengguna baru:

CREATE DATABASE myapp_db;
CREATE USER myapp_user WITH ENCRYPTED PASSWORD 'strong_password';
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO myapp_user;
q

6. Menginstal Alat dan Utilitas Tambahan

Selain yang penting, alat-alat berikut secara dramatis meningkatkan produktivitas, visibilitas sistem, dan kemampuan penerapan Anda.

Docker — Container Runtime

Docker memungkinkan Anda untuk mengemas aplikasi dan dependensinya ke dalam kontainer portabel, memastikan konsistensi di seluruh lingkungan pengembangan, staging, dan produksi.

sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

Tambahkan pengguna Anda ke grup Docker untuk menjalankan perintah tanpa sudo:

sudo usermod -aG docker $USER
newgrp docker

Verifikasi Docker berfungsi:

docker run hello-world

Untuk penerapan produksi, pertimbangkan juga menginstal Docker Compose:

sudo apt install docker-compose -y

htop — Interactive Process Viewer

htop menyediakan tampilan real-time berwarna dari proses sistem, penggunaan CPU, konsumsi memori, dan banyak lagi — jauh lebih unggul dari perintah top standar.

sudo apt install htop -y
htop

Pintasan htop kunci:

  • F6 — Urutkan proses berdasarkan kolom
  • F9 — Bunuh proses
  • F10 — Keluar
  • / — Cari proses

Tmux — Terminal Multiplexer

Tmux memungkinkan Anda membuat, mengelola, dan mempertahankan beberapa sesi terminal dalam satu koneksi SSH — sangat berharga untuk tugas-tugas yang berjalan lama di server jarak jauh.

sudo apt install tmux -y

Perintah Tmux penting:

# Start a new session
tmux new -s mysession

# Detach from session (keeps it running)
Ctrl+B, then D

# List all sessions
tmux ls

# Reattach to a session
tmux attach -t mysession

Utilitas Tambahan yang Direkomendasikan

# fail2ban — Intrusion prevention system
sudo apt install fail2ban -y

# unzip — Extract ZIP archives
sudo apt install unzip -y

# tree — Display directory structure
sudo apt install tree -y

# ncdu — Disk usage analyzer
sudo apt install ncdu -y

# jq — JSON processor for the command line
sudo apt install jq -y

7. Menyesuaikan Pengaturan Sistem Ubuntu

7.1. Mengaktifkan Pembaruan Keamanan Otomatis

Menjaga sistem Anda tetap dipatch sangat penting — terutama di server yang dapat diakses publik. Paket unattended-upgrades Ubuntu mengotomatisasi proses ini.

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

Untuk menyesuaikan perilaku, edit file konfigurasi:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Pengaturan kunci untuk ditinjau:

  • Unattended-Upgrade::Allowed-Origins — Tentukan repositori mana yang memicu pembaruan otomatis.
  • Unattended-Upgrade::Automatic-Reboot — Atur ke true untuk memungkinkan reboot otomatis setelah pembaruan kernel.
  • Unattended-Upgrade::Mail — Konfigurasikan notifikasi email untuk aktivitas pembaruan.

7.2. Mengelola Aplikasi Startup (Desktop Ubuntu)

Mengontrol aplikasi mana yang diluncurkan saat login membantu mengurangi waktu boot dan menghemat sumber daya sistem.

  1. Cari Startup Applications di menu aplikasi GNOME.
  2. Tinjau daftar program startup yang diaktifkan.
  3. Matikan aplikasi apa pun yang tidak Anda butuhkan saat login.
  4. Gunakan tombol Add untuk mendaftarkan skrip startup atau aplikasi baru.

Untuk lingkungan server, kelola layanan dengan systemd:

# Disable a service from starting at boot
sudo systemctl disable service-name

# Enable a service at boot
sudo systemctl enable service-name

# List all enabled services
sudo systemctl list-unit-files --state=enabled

7.3. Mengonfigurasi Zona Waktu Sistem

Konfigurasi zona waktu yang benar sangat penting untuk akurasi log, tugas terjadwal, dan validasi sertifikat SSL.

# Check current timezone
timedatectl

# List available timezones
timedatectl list-timezones

# Set timezone
sudo timedatectl set-timezone Europe/London

7.4. Mengonfigurasi SSH untuk Akses Jarak Jauh yang Aman

Jika Anda mengelola server jarak jauh, mengeraskan konfigurasi SSH adalah yang terpenting.

sudo nano /etc/ssh/sshd_config

Pengaturan keamanan yang direkomendasikan:

# Disable root login
PermitRootLogin no

# Disable password authentication (use SSH keys instead)
PasswordAuthentication no

# Change default SSH port (optional but reduces automated scanning)
Port 2222

# Limit login attempts
MaxAuthTries 3

Setelah membuat perubahan, mulai ulang SSH:

sudo systemctl restart sshd

> Penting: Selalu uji konfigurasi SSH baru Anda di sesi terminal terpisah sebelum menutup koneksi saat ini untuk menghindari terkunci.

8. Menyiapkan Cadangan Otomatis

Kehilangan data adalah bencana. Baik Anda menjalankan proyek pribadi atau aplikasi yang penting untuk bisnis, cadangan otomatis tidak dapat ditawar.

Menggunakan Alat Cadangan Bawaan Ubuntu (Desktop)

  1. Cari Backups (Déjà Dup) di menu aplikasi.
  2. Konfigurasikan tujuan cadangan Anda: drive eksternal, berbagi jaringan, atau penyimpanan cloud.
  3. Atur jadwal cadangan di bawah tab Scheduling.
  4. Aktifkan Automatic Backup dan konfigurasikan periode retensi.

Cadangan Baris Perintah dengan rsync (Direkomendasikan untuk Server)

rsync adalah standar emas untuk cadangan file yang efisien dan inkremental di server Linux.

# Basic local backup
rsync -avz /source/directory/ /backup/destination/

# Remote backup over SSH
rsync -avz -e ssh /local/directory/ user@remote-server:/backup/path/

# Exclude specific directories
rsync -avz --exclude='*.log' --exclude='tmp/' /source/ /destination/

Mengotomatisasi Cadangan dengan Cron

crontab -e

Tambahkan pekerjaan cadangan harian pada pukul 2:00 pagi:

0 2 * * * rsync -avz /var/www/ /backup/www/ >> /var/log/backup.log 2>&1

Praktik Terbaik Cadangan

  • Ikuti aturan 3-2-1: 3 salinan data, pada 2 jenis media berbeda, dengan 1 salinan offsite.
  • Secara teratur uji cadangan Anda dengan melakukan latihan pemulihan.
  • Enkripsi data cadangan yang sensitif.
  • Pantau log cadangan untuk kegagalan.

9. Pemantauan Sistem dan Optimasi Kinerja

Alat Pemantauan Bawaan

GNOME System Monitor (Desktop):

Menyediakan gambaran grafis tentang CPU, memori, I/O disk, dan penggunaan jaringan. Luncurkan dari menu aplikasi atau melalui:

gnome-system-monitor

htop (Baris Perintah):

htop

vmstat — Virtual Memory Statistics:

vmstat 1 10

iostat — CPU and I/O Statistics:

sudo apt install sysstat -y
iostat -x 1 5

free — Memory Usage:

free -h

df — Disk Space Usage:

df -h

netstat / ss — Network Connections:

ss -tuln

9.1. Menyiapkan Pemantauan Sistem dengan Prometheus dan Node Exporter

Untuk lingkungan produksi, tumpukan pemantauan yang tepat menyediakan data historis, peringatan, dan dasbor.

# Install Node Exporter for system metrics
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-*.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
sudo cp node_exporter-*/node_exporter /usr/local/bin/
sudo systemctl enable --now node_exporter

10. Mengoptimalkan Kinerja Sistem

10.1. Nonaktifkan Layanan Startup yang Tidak Perlu

Identifikasi dan nonaktifkan layanan yang tidak Anda butuhkan:

# List all running services
sudo systemctl list-units --type=service --state=running

# Disable a specific service
sudo systemctl disable --now bluetooth.service
sudo systemctl disable --now cups.service

10.2. Konfigurasikan dan Aktifkan Ruang Swap

Ruang swap bertindak sebagai memori overflow ketika RAM habis. Di server dengan RAM terbatas, swap yang dikonfigurasi dengan benar dapat mencegah crash kehabisan memori.

# Create a 2GB swap file
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Make swap permanent across reboots
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Sesuaikan swappiness (nilai lebih rendah = pertukaran kurang agresif):

sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai