Skip to main content

Panduan Install WhatsApp API Whapi di Linux Ubuntu

Panduan instalasi Whapi di VPS Linux Ubuntu, mencakup persiapan Node.js dan Nginx, instalasi aplikasi, konfigurasi reverse proxy untuk akses tanpa port, dan optimasi RAM menggunakan Jemalloc.

Prasyarat

  • VPS dengan OS Ubuntu 20.04 atau lebih baru
  • Akses root ke VPS
  • Koneksi internet stabil

Langkah 1: Instal Node.js dan Nginx

Login ke VPS sebagai root, lalu jalankan:

curl -sL https://deb.nodesource.com/setup_22.x | sudo -E bash - && \
sudo apt update && \
sudo apt install git -y && \
sudo apt install nodejs && \
sudo apt-get install -y nginx && \
node --version && \
git --version

Perintah ini melakukan lima hal sekaligus: menambahkan repositori Node.js, memperbarui daftar paket, install git, instal Node.js, dan instal Nginx. Perintah terakhir menampilkan versi Node.js dan git sebagai konfirmasi instalasi berhasil.

Langkah 2: Unduh dan Instal Aplikasi Whapi

Unduh Aplikasi

Kunjungi halaman unduhan, masukkan license key, nama, dan email:

Download Aplikasi

Buat Direktori dan Upload File

mkdir whapi-v4 && cd whapi-v4

Upload file .zip yang sudah diunduh ke direktori whapi-v4 menggunakan SFTP atau pscp dari PuTTY. Setelah terupload, ekstrak file:

unzip nama_file.zip

Ganti nama_file.zip dengan nama file yang diunduh.

Instal Dependensi

npm install pm2 -g && npm install

Pastikan koneksi internet stabil selama proses ini.

Jalankan Aplikasi

pm2 start

Jika pm2 belum terinstal, jalankan npm install pm2 -g terlebih dahulu.

Sumber dan panduan tambahan:

Panduan Menjalankan Aplikasi Whapi

Langkah 3: Konfigurasi Nginx - Akses Tanpa Port (Opsional)

Secara default Whapi berjalan di port 3000. Konfigurasi Nginx berikut memungkinkan akses langsung via domain atau IP tanpa menuliskan port.

Edit Konfigurasi Nginx

sudo nano /etc/nginx/sites-available/default

Temukan blok location / yang berisi try_files dan ganti dengan konfigurasi proxy berikut:

location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

Sesuaikan nilai port 3000 jika port Whapi sudah diubah di .env.

Uji dan Restart Nginx

sudo nginx -t
sudo service nginx restart

Setelah konfigurasi berhasil, Whapi dapat diakses langsung melalui domain atau IP VPS tanpa menuliskan port.

Langkah 4: Instal Jemalloc untuk Optimasi RAM (Opsional)

Jemalloc adalah library manajemen memori yang dapat mengurangi penggunaan RAM Node.js hingga 70–80%. Cocok untuk server dengan traffic tinggi.

Instal Jemalloc

sudo apt-get update -y && sudo apt-get install -y libjemalloc-dev

Hapus Aplikasi

pm2 delete whapi

Temukan Lokasi Library

sudo find / -name "*jemalloc*"

Cari path yang berakhiran libjemalloc.so, contoh:

/usr/lib/x86_64-linux-gnu/libjemalloc.so

Library Jemalloc

Load Library dan Jalankan Kembali

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so
pm2 start

Sesuaikan path dengan hasil yang ditemukan di langkah sebelumnya.

Verifikasi Jemalloc Aktif

Dapatkan PID proses Whapi dengan pm2 list, lalu jalankan:

sudo cat /proc/<PID>/smaps | grep jemalloc

Ganti <PID> dengan PID aplikasi dari pm2 list.

PID aplikasi

Jika output menampilkan data jemalloc, library sudah aktif:

Tes Library

Error Umum dan Solusinya

KondisiPenyebabSolusi
npm install gagalKoneksi tidak stabil atau Node.js versi lamaPeriksa koneksi dan jalankan node --version untuk verifikasi
Error saat nginx -tKesalahan sintaks di konfigurasiPeriksa kembali blok location / di file konfigurasi Nginx
Aplikasi tidak bisa diakses tanpa portNginx belum direstartJalankan sudo service nginx restart
Jemalloc tidak terdeteksiPath library salahJalankan ulang sudo find / -name "*jemalloc*" dan gunakan path yang benar

Selesai. Bandingkan penggunaan RAM sebelum dan sesudah menggunakan Jemalloc untuk melihat perbedaan.