Printfriendly

4:03:00 PM

Installing MQTT Broker (EMQX) with Web Dashboard on VPS


السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Setelah sebelumnya memposting cara instalasi MQTT Broker dengan HiveMQ dan ActiveMQ di platform windows,pada postingan kali ini akan dijelaskan cara instalasi MQTT broker dari Emqx dengan web dashboard di VPS debian 8. VPS yang digunakan kali ini menggunakan http://console.idcloudhost.com

Sebelumnya lihat kembali postingan install ubuntu di idcloudhost Seri VPS-nodered #1: Membuat VPS Ubuntu di Idcloudhost

  1. Buka SSH di dashboard idcloudhost (https://console.idcloudhost.com) yang sebelumnya telah dibuat
  2. Ketik yes kemudian tombol enter dan masukkan password ubuntu 


  3. Buka tab baru browser link berikut https://www.emqx.com/en/try?product=broker 
    klik pada On-Promises EMQ X Locally dan pilih EMQ X Broker, pilih version 4.x (terbaru) kemudian OS pilih Ubuntu 20.04 dan klik  Download

  4. Pilih deb dan amd64

  5. Maka muncul perintah yang didapat, copy langkah 1 dan paste di SSH VPS

  6. Paste command yang didapat (CTR+V) dan Enter

  7. Kemudian install file .deb yang didownload dengan perintah
    sudo dpkg -i emqx*.deb


  8. Kemudian jalankan emqx dengan perintah
    sudo emqx start

  9. Tunggu sampai selesai, dan buka IP VPS atau domain VPS ditambah :18083
    port tersebut adalah port dashboard broker emqx yang dapat melihat client mana saja yg terhubung dan topic apa saja yg terpublish dan tersubscribe


  10. Masukkan default
    Username : admin
    Password : public

  11. Maka akan muncul dashboard seperti dibawah

  12. Untuk mengganti background,klik menu setting
Contoh client yang tersambung seperti gambar dibawah
Untuk dokumentasi tentang cara install dapat melihat disini https://developer.emqx.io/docs/tutorial/en/quick_start/precondition.html

Broker mqtt siap digunakan, bisa mengetes dengan app MQTT X

Good Luck
وَعَلَيْكُمْ السَّلاَمُ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ



Seri VPS-nodered #8: Redirect ke https dengan certbot

  السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Lanjut dari tutorial sebelumnya Seri VPS-nodered #1: Membuat VPS Ubuntu di Idcloudhost
Seri VPS-nodered  #2: Install Node-red di Ubuntu dan akses npm tanpa root 
Seri VPS-nodered #3: Auto start node-red ketika startup dengan pm2 
Seri VPS-nodered #4: Buka dashboard node-red tanpa /ui.
Seri VPS-nodered #5: Set password node-red ketika membuka editor
Seri VPS-nodered #6: Daftar domain dan pointing ke IP VPS
Seri VPS-nodered #7: Reverse Proxy dengan web server nginx

Jika sebelumnya setiap membuka URL node-red yang sudah terinstall di vps dengan menambahkan :1880 maka kita akan menggunakan reverse proxy dari nginx (pronounced "engine X" /ˌɛndʒɪnˈɛks/ EN-jin-EKS) sehingga cukup menggunakan nama domain saja, bahkan bisa membuat subdomain seperti sub.domain-anda.my.id

Selanjutnya web node-red yang dibuka, otomatis redirect dari http ke https, tool yang digunakan yaotu certbot

  1. Buka SSH di dashboard idcloudhost (https://console.idcloudhost.com) yang sebelumnya telah dibuat
  2. Ketik yes kemudian tombol enter dan masukkan password ubuntu  
  3. Instal certbot dengan perintah
    sudo apt-get install certbot python3-certbot-nginx

  4. Ketikkan perintah
    sudo certbot --nginx -d domain-anda.com --redirect
    masukkan domain (tanpa www) sesuai setingan nginx pada post sebelumnya (Seri VPS-nodered #7: Reverse Proxy dengan web server nginx, lihat langkah 12)
    dan masukkan alamat email anda, alamat email ini akan dikirim pesan jika certificate akan expired

  5. Ketik Y dan Enter

  6. Pilih No aja, jadi ketik N dan Enter

  7. Setelah selesai, setingan nginx akan berubah, dan setiap orang yang mengetikkan alamt URL meskipun dengan http akan dialihkan ke https, ketik perintah dibawah
    sudo nano /etc/nginx/sites-available/default

  8. Cari seperti ini (tekan tanda panah ke bawah), dan tambahkan tanda # seperti dibawah

  9. Kemudian save, tekan tombol CTRL+X

  10. Tekan Enter


  11. Kemudian restart nginx dengan perintah
    sudo nginx -s reload

  12. Kita tes dengan membuat tab baru dan mengetik domain anda, maka akan selalu dilihkan ke https seperti gambar dibawah

Jika muncul seperti ini, ketik 1 atau 2 (bebas, sesuai kebutuhan)

Mengatasi Challenge failed for domain xxx.xxx
Error ini muncul ketika nama yang dimasukkan dengan perintah sudo certbot --nginx -d domainsaya.com --redirect tidak ada di setingan server_name nginx (/etc/nginx/sites-available/default) silahkan cek kembali

Good Luck
وَعَلَيْكُمْ السَّلاَمُ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Seri VPS-nodered #7: Reverse Proxy dengan web server nginx

 السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Lanjut dari tutorial sebelumnya Seri VPS-nodered #1: Membuat VPS Ubuntu di Idcloudhost
Seri VPS-nodered  #2: Install Node-red di Ubuntu dan akses npm tanpa root 
Seri VPS-nodered #3: Auto start node-red ketika startup dengan pm2 
Seri VPS-nodered #4: Buka dashboard node-red tanpa /ui.
Seri VPS-nodered #5: Set password node-red ketika membuka editor
Seri VPS-nodered #6: Daftar domain dan pointing ke IP VPS

Jika sebelumnya setiap membuka URL node-red yang sudah terinstall di vps dengan menambahkan :1880 maka kita akan menggunakan reverse proxy dari nginx (pronounced "engine X" /ˌɛndʒɪnˈɛks/ EN-jin-EKS) sehingga cukup menggunakan nama domain saja, bahkan bisa membuat subdomain seperti sub.domain-anda.my.id


Untuk reverse proxy dengan nginx maka kita akan menginstal dan konfigurasi nginx. Buka console.idcloudhost.com dan login dengan akun anda
  1. Buka SSH di dashboard idcloudhost (https://console.idcloudhost.com) yang sebelumnya telah dibuat
  2. Ketik yes kemudian tombol enter dan masukkan password ubuntu  
  3. Install nginx dengan perintah
    sudo apt-get install nginx

  4. Jika muncul seperti ini, klik Enter, jika tidak muncul, langsung ke langkah ke 7

  5. Tekan tombol Tab dan klik Enter

  6. Setelah selesai, cukup restart OS VPS dengan perintah 
    sudo reboot

  7. Setelah selesai install nginx, kita test terlebih dahulu dengan membuka domain yang sebelumnya telah terdaftar

  8. Jika tidak muncul, silahkan cek kembali IP VPS yang ada di dns management, apakah sudah benar, dan propagasi DNS apakah sudah 1x24 jam
  9. Selanjutnya kita setting pada nginx dengan perintah, sebelumnya buka kembali SSH pada dahsboard http://console.idcloudhost.com
  10. Ketik perintah
    sudo nano /etc/nginx/sites-available/default

  11. Tambahkan karakter # (sharp) pada setiap tulisan berwarna putih, tujuannya agar dianggap comment sehingga tidak dianggap, dan akan kita tambahkan konfgurasi pada akhir


  12. Pada akhir, tambahkan konfigurasi seperti berikut, ganti     modbus-community.my.id www.modbus-coomunity.my.id dengan domain anda
    jika anda tidak menggunakan domain, ganti server_name menjadi
    server_name _;
    copy text dibawah

  13. server {
       listen 80;
       server_name modbus-community.my.id www.modbus-community.my.id;
       location / {
            proxy_pass         http://127.0.0.1:1880;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection "Upgrade";
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
    }

  14. Tekan tombol CTRL+X dan tekan tombol Y

  15. Kemudian Enter

  16. Cek konfigurasi yang tadi dibuat dengan perintah
    sudo nginx -t
    Jika ok, maka muncul seperti ini

  17. Jika muncul errot seperti ini, cek pada baris nomor yang tertera

  18. Kemudian restart nginx dengan perintah
    sudo nginx -s reload

  19. Mari kita cek dengan membuka domain yang kita buat tanpa tambahan url :1880

  20. Dengan nginx, kita bisa reverse proxy yang tadinya port 1880 ke port 80 (http), bahkan bisa membuat multiple node-red dan membuat subdomain seperti app1.modbus-community.my.id atau app2.modbus-community.my.id dan sebagainya
    Selanjutnya kita menggunakan certbot untuk membuat node-red dengan https

    Good Luck
    وَعَلَيْكُمْ السَّلاَمُ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ