prosody setup bg

Membuat Server XMPP pada Ubuntu: Anti Mainstream!

Membuat server XMPP tidaklah sulit selama ada Prosody yang mampu memudahkan keinginan kita. Mari kita bahas cara membuat server XMPP.

Membuat Server XMPP dengan Prosody

Prosody adalah program sumber terbuka yang berfokus pada komunikasi dalam protokol XMPP. Pengembang mendesain program untuk berjalan tanpa memakan sumber daya dan mudah dikonfigurasi.

Saat ini, saya menjalankan layanan XMPP dengan Prosody berbarengan program lain, seperti MariaDB, WordPress, Docker, dan lain-lain pada peladen yang berspesifikasi biasa saja, yaitu 1 vCPU dan 1 GB RAM. Saya tidak punya keluhan selama menggunakannya.

Cara Membuat Server XMPP

Pasang paket Prosody melalui paket manajer APT.

$ sudo apt install prosody

Nyalakan layanan Prosody dengan perintah systemctl.

$ sudo systemctl start prosody

Periksa apakah Prosody sudah berjalan atau belum.

$ sudo systemctl status prosody

Jika berjalan, seharusnya kamu mendapatkan seperti ini.

● prosody.service - Prosody XMPP Server
     Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor prese>
     Active: active (running) since Tue 2023-06-13 00:41:20 UTC; 2 weeks 1 day >
       Docs: https://prosody.im/doc
    Process: 451828 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/S>
   Main PID: 676 (lua5.2)
      Tasks: 1 (limit: 1035)
     Memory: 11.6M
        CPU: 7min 39.591s
     CGroup: /system.slice/prosody.service
             └─676 lua5.2 /usr/bin/prosody -F
Code language: JavaScript (javascript)

Tetapkan domain yang digunakan untuk XMPP dengan menyunting konfigurasi Prosody.

$ sudo vim /etc/prosody/prosody.cfg.lua

Ganti nilai pada VirtualHost menjadi domain milik kamu.

VirtualHost "contoh.com"Code language: JavaScript (javascript)

Kita bikin konfiguras Nginx juga untuk domainnya.

$ sudo vim /etc/nginx/nginx.conf

Buat pengaturan seperti ini dan jangan lupa sesuaikan kebutuhanmu.

server {
      listen 80;
      listen [::]:80;
      server_name domain.com;

      root /var/www/html/;

      location ~ /.well-known/acme-challenge {
         allow all;
      }
}Code language: JavaScript (javascript)

Kita ubah kepemilikan direktori agar NGINX mampu membaca direktori tersebut.

sudo chown www-data:www-data /var/www/html/Code language: JavaScript (javascript)

Kita reset Nginx agar memuat perubahan yang dibuat.

sudo systemctl reload nginx

Buatlah sertifikat SSL domain kamu dengan perintah certbot.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email contoh@domain.com -d domain.comCode language: CSS (css)

Sunting kembali berkas untuk mengatur letak sertifikat SSL pada konfigurasi Prosody

sudo vim /etc/prosody/prosody.cfg.lua

Ketik lokasi sertifikat SSL domain kamu.

ssl = {
      key = "/etc/letsencrypt/live/radhitya.org/privkey.pem";
     certificate = "/etc/letsencrypt/live/radhitya.org/fullchain.pem";
}Code language: JavaScript (javascript)

Tambahkan pengguna XMPP baru.

sudo prosodyctl adduser contoh@domain.comCode language: CSS (css)

Atur kata sandi untuk akun tersebut.

sudo prosodyctl passwd contoh@domain.comCode language: CSS (css)

Periksa lagi apakah pengaturan Prosody sudah benar atau belum.

sudo prosodyctl check config

Jika dirasa cukup, silahkan reset Prosody.

sudo systemctl restart prosody

Artikel Terkait

Leave a Reply

Your email address will not be published. Required fields are marked *