Cara Install NodeJS di Almalinux 8 Menggunakan Package Manager.
Agar bisa membuat website dan aplikasi bebasis javascript perlu install NodeJS agar bisa mengeksekusi javascript di server. Dengan adanya NodeJS developer website dan aplikasi bisa menggunakan npm sebuah package manager untuk library yang akan digunakan javascript kalian.
Prasyarat Instalasi.
- AlmaLinux atau RockyLinux versi 8
Install NodeJS melalui dnf package manager.
Pertama update sistem dengan perintah berikut ini.
# dnf updateCheck module versi NodeJS yang tersedia di repository Appstream.
# dnf module list nodejsLast metadata expiration check: 0:03:01 ago on Tue 15 Aug 2023 06:01:35 AM EDT.
AlmaLinux 8 - AppStream
Name Stream Profiles Summary
nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime
nodejs 12 common [d], development, minimal, s2i Javascript runtime
nodejs 14 common [d], development, minimal, s2i Javascript runtime
nodejs 16 common [d], development, minimal, s2i Javascript runtime
nodejs 18 common [d], development, minimal, s2i Javascript runtime
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Pilih versi NodeJS yang ingin di install.
Dalam contoh menggunakan versi NodeJS 18, gunakan perintah berikut ini untuk enable versi 18
# dnf module enable nodejs:18 -yLast metadata expiration check: 0:03:12 ago on Tue 15 Aug 2023 06:01:35 AM EDT.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Enabling module streams:
nodejs 18
Transaction Summary
================================================================================
Complete!
Setelah itu install NodeJS.
# dnf install nodejs
Setelah slesai check kembali hasil instalasi untum memastikan.
# node -v[root@alma8 ~]# node -v
v18.16.1Sampai Di sini instalasi sudah selelsai bisa ke tahap selanjutnya.
Alternatif Instalasi melalui repository nodesource
Alternatif Instalasi adalah melakukan instalasi melalui repository khusus nodejs seperti nodesource
# curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -setelah proses penambahan repostiru selesai,
# dnf makecacheUntuk instalasinya harus diharuskan menghapus terlebih dahulu nodejs sebelumnya jika terinstall baru install melalui dnf secara normal.
//menghapus nodejs sebelum instalasi jika ada
# dnf remove nodejs
//instalasi nodejs 20 melalui repost nodesource
# dnf install nodejs -y
check hasil instalasi
# node -v[root@alma8 ~]# node -v
v20.5.1
Sampai disini instalasi NodeJS 20 melalui repository nodesource sudah selesai.
Running NodeJS
Untuk menjalankan aplikasi NodeJS pertama buat file helloword.js dilokasi direktori /home/hello.
Buat direktori dengan perintah dibawah ini
# mkdir /home/hello && chmod 777 /home/hello
# cd /home/hello Gunakan editor teks seperti vi untuk membuat file dan isikan dengan script code dibawah ini
# vi helloword.jsconst http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World! Node.JS is working Perfectly!');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});Port yang digunakan adalah 3000.
Untuk menjalankan atau running diperlukan minimal tools berikra gcc-c++ dan make jika belum tersedia install dengan perintah dibawah ini.
# dnf install gcc-c++ make -y
//atau jika ingin paket full
# yum groupinstall 'Development Tools'Open port 3000 menggunakan firewalld, ikuti pperintah dibawah ini.
# firewall-cmd --zone=public --add-port=3000/tcp --permanent
# firewall-cmd --reloadJalankkan atau Running aplikasi helloworld.js dengan perintah dibawah ini.
# node helloworld.js
Tampilan gambar diatas adalah tanda aplikasi sedang running, untuk stop nya bisa meggunakan CTRL + C. Tapi jangan di stop terlebih dahulu sampai melihat hasilnya.
Untuk melihat hasilnya bisa melalui browser akses http://IP_Address:3000

Tampilan diatas menandakan NodeJS berhasil dijalankan. Sampai disini sudah siap digunakan
Install PM2 untuk management NodeJS dan startup systemd
Untuk manajemen aplikasi NodeJS agar siap dijalankan dibackground dengan mudah ada tools bernama PM2.
Instalais PM2 dilakukan melalui npm yang didapatkan ketika instalasi NodeJS.
# npm install -g pm2Membuat file config ecosystem, file yang digunakan oleh pm2 berisi path lokasi aplikasi.
# vi /home/hello/ecosystem.config.jsIsikan dengan contoh konfigurais berikut.
# module.exports = {
apps : [{
name : "Helloworld",
script : "/home/hello/helloworld.js"
}]
}Lalu coba start pm2 menggunakan file ecosystem.
# pm2 start /home//hello/ecosystem.config.js
Sampai disini pm2 sudah bisa dijalankan dan aplikasi NodeJS sudah berjalan di background, kalian juga bisa melihat hasilnya dengan mengakses browser seperti contoh sebelumnya.
Demi keamanan ada baiknya pm2 ini dijalankan ada dinisialiasi systemd sebagai user non root. Pada contoh dibawah ini menggunakan user hello dengan path direktori /home/hello
# useradd hello
# passwd hello
# usermod -a -G wheel helloBerlih ke user hello
# su hellojalankan
$ pm2 startup
untuk menonaktfikan startup systemd bisa gunakan perintah
# pm2 unstartup systemd
# pm2 unstartup
Jalankan perintah setup enviroment yang diberikan.
$ sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u hello --hp /home/hello
Lanjutkan dengan start ecosystem terlebih dahulu.
$ pm2 start /home/hello/ecosystem.config.js
Lalu save, hal ini pernting karena nantinya ketika reboot pm2 akan menjalankan proses list yang di save oleh pm2.
$ pm2 save
lalu reboot system. Ketika login jika di check pm2 sudah berjalan dengan user hello seperti gambar dibawah.

Dengan begini pm2 sudah lebih aman ketika berjalan sebagai user non root.
Kata Penutup
Dengan mengiktui langkah demi langkah artikel ini diharapkan kalian bisa melakukan instalasi NodeJS di OS almalinux 8 atau RockyLinux 8. Jika ada yang kurang dipahami silahkan ditanyakan dikolom komentar. Admin akan mencoba membantu sebisa mungkin.










