Panduan Deploy Agc Nodejs V3.0

Untuk vps dalam tutorial ini, saya menggunakan spek vps sebagai berikut :
  1. OS ubuntu 22.04 (LTS).
  2. Ram 1gb.
  3. Cpu 1 core.
  4. Beli di digital ocean.
Berikut cara deploy agc nodejs v3.0 di vps :

[A]. Install nodejs di vps

Buat yang sudah meng-install nodejs di vps-nya, silahkan lewati bagian ini. Namun, jika vps kamu belum ter-install nodejs, silahkan ikuti panduan berikut :
  • Pastikan kamu telah masuk dalam mode root.
  • Lakukan update vps dengan perintah berikut :
sudo apt update

sudo apt upgrade
  • Jalankan perintah berikut :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

source ~/.bashrc

nvm list-remote

  • Setelah itu akan muncul pilihan variasi versi nodejs yang dapat kamu pilih untuk di install, lebih kurang akan muncul seperti gambar berikut :
Gambar pilihan variasi versi nodejs

  • Disini saya akan meng-install nodejs versi v16.15.0. Jalankan perintah berikut untuk menginstall nodejs versi v16.15.0 :
nvm install v16.15.0

  • Silahkan restart vps kamu. Lalu login kembali.
reboot
  • Selesai.

[B]. Install PM2

Setelah kamu berhasil meng-install nodejs, selanjutnya silahkan install PM2. Untuk menginstall PM2, silahkan jalankan perintah berikut :
npm install pm2 -g

Untuk mengecek apakah pm2 berhasil ter-install atau belum, silahkan jalankan perintah berikut :
pm2 -v

Jika berhasil, maka tampilan akan seperti gambar berikut :

Gambar tampilan versi pm2

[C]. Upload File "UPDATE AGC V3.0.zip" Ke VPS

Kamu bisa meng-upload file "UPDATE AGC V3.0.zip" ke vps dengan 2 cara, yaitu :
2 cara tersebut akan saya jelaskan di bawah ini. Silahkan pilih mana cara yang menurut kamu paling mudah.

[C1]. Upload File Agc Menggunakan Software WinSCP

  • Silahkan download softwarenya DISINI.
  • Install lalu buka softwarenya.
  • Silahkan pilih menu "New Session". Lihat gambar berikut :
menu new session winscp

  • Setelah itu akan muncul form login seperti gambar berikut:
tampilan form login winscp
  • Masukkan hostname, username, dan password vps yang kamu miliki.
isian form login winscp.jpg
  • Setelah itu klik tombol "Login". Jika berhasil, maka kamu akan dibawa ke tampilan seperti berikut :
tampilan dashboard setelah login winscp.jpg
  • Setelah itu, silahkan buat sebuah folder di dalam "area directory vps". Disini saya membuat sebuah folder bernama "agc". Caranya pada "area directory vps" silahkan "Klik kanan" => "Pilih mmenu new" => "Pilih menu directory".
menu membuat folder winscp.jpg


  • Atau kamu juga bisa membuat sebuah folder dengan menekan tombol "F7".
  • Setelah itu akan muncul form isian untuk memberi nama folder seperti gambar berikut :
form isian membuat folder winscp

  • Setelah itu klik "Ok". Maka folder-pun akan terbuat.
folder yang telah terbuat di software winscp


  • Selanjutnya masuk ke dalam folder yang telah kita buat tadi dengan cara klik dua kali (double klik) pada folder tersebut.
  • Silahkan upload file "UPDATE AGC V3.0.zip" ke dalam folder ini. Caranya silahkan tarik file yang ada di pc kamu ke area directory vps tersebut atau kamu juga melakukan copy paste (Copy file yang ada di pc kamu lalu pastekan di area directory vps tersebut).
  • Jika berhasil maka file "UPDATE AGC V3.0.zip" akan ter-upload.
file yang telah terupload di software winscp

[C2]. Upload File Agc menggunakan perintah SCP

Untuk perintah secara default adalah seperti berikut :
scp -r "Lokasi_directory_file_yang_mau_di_upload + nama_file" username_vps@ip_vps:/lokasi_directory_tujuan_upload

Jika bingung, silahkan ikuti panduan berikut :
  • Pada vps silahkan buat sebuah folder dengan perintah berikut :
mkdir AGC
  • Sebelumnya kita harus tau lokasi folder tempat file agc yang ingin kita upload yang berada di pc kita. Disini (pada pc saya) saya melihat bahwa lokasi file agc berada pada directory :
D:\UPDATE AGC V3.0

keterangan nama directory dan file yang ingin di upload ke vps

  • Selanjutnya saya menyalin nama file yang ingin di upload, dalam hal ini "UPDATE AGC V3.0.zip". Sehingga keseluruhan lokasi file adalah seperti berikut :
D:\UPDATE AGC V3.0\UPDATE AGC V3.0.zip

  • Nah, sampai disini format perintah menjadi seperti berikut :
scp -r "D:\UPDATE AGC V3.0\UPDATE AGC V3.0.zip" username_vps@ip_vps:/lokasi_directory_tujuan_upload

  • Dengan menggunakan username dan ip vps yang saya miliki, format perintah menjadi seperti berikut :
scp -r "D:\UPDATE AGC V3.0\UPDATE AGC V3.0.zip" root@167.172.69.54:/lokasi_directory_tujuan_upload

  • Selanjutnya saya ingin meng-upload file agc ini di vps, dimana lokasi directory vps yang saya tuju untuk menyimpan file agc adalah pada directory :
/root/AGC

  • Sehingga keseluruhan format perintah menjadi seperti berikut :
scp -r "D:\UPDATE AGC V3.0\UPDATE AGC V3.0.zip" root@167.172.69.54:/root/AGC

  • Nah kode perintah inilah yang akan kita eksekusi di terminal cmd.
  • Buka terminal cmd, lalu eksekusi kode ini.
  • Masukkan perintah "yes".
  • Lalu masukkan password login vps kamu.
  • Tunggu sampai proses upload selesai.
proses upload file upload ke vps menggunakan scp


[D]. Extract File "UPDATE AGC V3.0.zip" yang Telah di upload Ke VPS.

Setelah file agc ter-upload, selanjutnya kita akan melakukan extract file agc tersebut. Silahkan ikuti panduan berikut :
 
  • Jalankan perintah cd (change directory) ke lokasi folder tempat kita meng-upload file agc sebelumnya di vps. Karena sebelumnya saya telah mengupload di lokasi folder "/root/AGC", jadi saya akan melakukan cd ke lokasi folder ini dengan perintah.
cd /root/AGC
  • Install unzip.
sudo apt install unzip

  • Extract file "UPDATE AGC V3.0.zip"
unzip "UPDATE AGC V3.0.zip"

  • Install package
npm install

  • Selesai.

[E]. Menajalankan aplikasi AGC NODEJS

Untuk menjalankan aplkiasi, kamu bisa meng-eksekusi kode berkut :
npm start

Ketika kamu mengakses ip vps kamu (dalam hal ini saya memiliki ip vps 167.172.69.54), dimana kamu akan mendapatkan tampilan "Access prohibited!". Lihat gambar berikut :

tampilan akses di block agc nodejs

Hal ini terjadi karena belum memberikan akses ip vps ke dalam file "allow-host.json". Untuk itu silahkan ikuti panduan berikutnya di bawah ini.

[E]. Setting file "allow-host.json"

Pada file ini kita wajib meng-input list host domain atau ip yang di beri izin untuk meng-akses aplikasi agc yang telah kita deploy. Hal ini penting, karena pada versi sebelumnya domain atau ip siapa saja dapat melakukan propagsi ke aplikasi agc kita. Jadi pada versi terbaru ini, kita bisa menentukan domain atau ip yang bisa melakukan propagasi ke aplikasi agc kita.

Untuk meng-input list domain atau ip yang kita beri izin, silahkan ikuti panduan berikut :
  • Silahkan buka file "allow-host.json" yang ada di vps.
  • Isi file secara default adalah sebagai berikut :
[
    "localhost",
    "www.domain-1.com",
    "www.domain-2.com"
]

  • Selanjutnya silahkan masukkan ip atau domain yang ingin kita beri izin untuk mengakses aplikasi nodejs yang telah berjalan. Karena disini saya memiliki ip vps 167.172.69.54, jadi saya meng-inputkan ip ini ke dalam file, sehingga formatnya menjadi seperti berikut :
[
    "167.172.69.54",
    "localhost",
    "www.domain-1.com",
    "www.domain-2.com"
]

Setelah itu, jalankan ulang aplikasi nodejs-nya.
npm stop && npm start

Jika berhasil, maka ip dapat di akses. Lihat gambar berikut :

tampilan berhasil memberi akses ip agc nodejs

  • Jika kamu melakukan pengait-an ke domain, maka domain ini wajib kamu input juga ke dalam file "allow-host.json" ini. Setelah itu jangan lupa jalankan ulang alikasi nodejs.