Pendahuluan
NodeJS adalah runtime JavaScript berbasis V8 (mesin yang sama dengan Google Chrome) yang memungkinkan Anda menjalankan JavaScript di sisi server. Dengan NodeJS, Anda bisa membangun API, bot, layanan real‑time, hingga aplikasi web penuh hanya dengan satu bahasa pemrograman. Artikel ini membahas panduan lengkap cara memasang NodeJS di Debian 13 (Trixie) lewat beberapa metode, memverifikasi instalasi, membuat aplikasi pertama, dan mendaftarkannya sebagai layanan systemd.
Mengapa Menggunakan NodeJS?
- Satu Bahasa Ujung ke Ujung: Pakai JavaScript baik di browser maupun di server.
- Event‑Driven & Asinkron: Cocok untuk aplikasi yang melayani banyak koneksi secara efisien.
- Ekosistem npm: Ribuan paket siap pakai melalui manajer paket
npm. - Lintas Platform: Berjalan di Linux, macOS, dan Windows.
- Komunitas Besar: Dokumentasi dan dukungan sangat luas.
Persiapan
Sebelum memulai, pastikan Anda sudah memiliki:
- VPS atau server dengan Debian 13 yang terinstal.
- Akses root atau user dengan hak
sudo. - Koneksi internet untuk mengunduh paket.
Perbarui sistem terlebih dahulu agar paket yang diinstal mutakhir:
sudo apt update && sudo apt upgrade -yMetode 1: NodeSource (Rekomendasi)
NodeSource menyediakan paket NodeJS resmi yang selalu menyertakan versi LTS (Long Term Support) terbaru, berbeda dengan repository bawaan Debian yang kadang lebih lambat mengikuti rilis. Cara ini adalah yang paling disarankan untuk produksi.
- Instal prasyarat dan impor kunci GPG NodeSource:bash
sudo apt install -y ca-certificates curl gnupg sudo mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg - Tambahkan repositori NodeSource. Ganti
22dengan versi mayor yang diinginkan (misalnya20atau24):bashNODE_MAJOR=22 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list - Perbarui indeks paket lalu instal NodeJS:bash
sudo apt update sudo apt install -y nodejs
Perintah di atas sekaligus menginstal npm (manajer paket NodeJS).
Metode 2: Repository Bawaan apt
Jika Anda cukup puas dengan versi yang disertakan Debian, cukup gunakan apt. Kelebihannya simpel, namun versinya biasanya lebih lama dari rilis LTS terbaru:
sudo apt install -y nodejs npmUntuk mengecek versi yang tersedia di repository Debian:
apt-cache policy nodejsMetode 3: NVM (Node Version Manager)
Jika Anda perlu menjalankan beberapa versi NodeJS secara bergantian (misalnya untuk menguji kompatibilitas aplikasi), gunakan NVM. NVM terinstal di direktori user, bukan sistem.
- Unduh dan jalankan skrip pemasangan NVM:bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash - Muat NVM ke shell sesi ini:bash
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" - Instal versi NodeJS yang diinginkan lalu aktifkan:bash
nvm install 22 nvm use 22
Dengan NVM, setiap versi terpasang terisolasi dan mudah diubah lewat nvm use <versi>.
Verifikasi Instalasi
Cek versi NodeJS dan npm untuk memastikan keduanya terpasang dengan benar:
node -v
npm -vJika perintah di atas menampilkan nomor versi (misalnya v22.x.x dan 10.x.x), instalasi berhasil.
Membuat Aplikasi Pertama (Hello World)
Buat folder proyek dan file app.js:
mkdir ~/hello-node && cd ~/hello-node
nano app.jsIsi app.js dengan server HTTP sederhana:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
res.end('Halo dari NodeJS di Debian 13!\n');
});
const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server berjalan di http://localhost:${PORT}`);
});Jalankan aplikasi:
node app.jsBuka http://localhost:3000 di browser (atau curl http://localhost:3000 di server) untuk melihat hasilnya. Hentikan server dengan menekan Ctrl+C.
Menjalankan sebagai Layanan systemd
Untuk menjalankan aplikasi secara otomatis saat boot dan tetap hidup jika proses berhenti, daftarkan sebagai layanan systemd.
- Buat file unit:bash
sudo nano /etc/systemd/system/node-hello.service - Isi dengan konfigurasi berikut (sesuaikan
UserdanWorkingDirectory):ini[Unit] Description=Layanan NodeJS Hello World After=network.target [Service] Type=simple User=sugeng WorkingDirectory=/home/sugeng/hello-node ExecStart=/usr/bin/node app.js Restart=on-failure Environment=NODE_ENV=production [Install] WantedBy=multi-user.target - Muat ulang systemd lalu aktifkan dan jalankan layanan:bash
sudo systemctl daemon-reload sudo systemctl enable node-hello sudo systemctl start node-hello - Pastikan statusnya aktif:bash
sudo systemctl status node-hello
Reverse Proxy dengan Caddy (Opsional)
Agar aplikasi dapat diakses lewat domain dengan HTTPS otomatis, Anda dapat memasang Caddy dan menjadikannya reverse proxy ke NodeJS di port 3000. Panduannya tersedia di artikel Memasang Caddy Web Server di Debian 13. Cuplikan Caddyfile‑nya:
https://domain-anda.com {
reverse_proxy localhost:3000
}Firewall
Jika menggunakan UFW, pastikan port 80 dan 443 terbuka (NodeJS biasanya berada di balik reverse proxy seperti Caddy, sehingga cukup dua port tersebut):
sudo ufw allow http
sudo ufw allow https
sudo ufw enablePemecahan Masalah
node: command not found
Pastikan PATH sudah memuat direktori bin NodeJS. Untuk instalasi sistem, jalankan source ~/.bashrc atau buka terminal baru. Untuk NVM, pastikan nvm use sudah dijalankan.
npm warn setuid/setgid
Peringatan npm warn saat instalasi global biasanya aman diabaikan. Hindari menjalankan npm sebagai root untuk paket yang tidak terpercaya; gunakan direktori user atau NVM.
EACCES: permission denied
Jika npm install -g gagal karena hak akses, jangan gunakan sudo secara sembarangan. Lebih baik atur prefix npm ke direktori user:
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATHPort sudah digunakan
Jika muncul error EADDRINUSE, porta sudah dipakai proses lain. Cek dengan:
sudo ss -ltnp | grep :3000Hentikan proses pengguna port tersebut, atau ubah PORT di aplikasi Anda.
Kesimpulan
NodeJS di Debian 13 sangat mudah dipasang, baik lewat NodeSource untuk versi LTS terbaru, apt bawaan untuk kemudahan, maupun NVM bila Anda butuh banyak versi. Setelah terinstal, verifikasi dengan node -v, buat aplikasi pertama, lalu daftarkan sebagai layanan systemd agar selalu berjalan. Dengan paduan ini, server Debian 13 Anda siap menjadi fondasi aplikasi JavaScript yang handal.