Membangun Server Chating Sendiri dengan Ejabberd. Ejabberd adalah aplikasi chat server atau xmpp server atau jabber server yang handal, stabil dan scalable. Dibuat menggunakan bahasa pemograman erlang yang awalnya hanya bisa dijalankan di sitem operasi unix seperti linux, bsd, mac os. dan kini ejabberd sudah bisa dijalan di windows server 2012 dan diatasnya. Tujuan penulisan artikel ini adalah untuk memandu Anda cara instalasi ejabberd di server linux ubuntu.
# apt-get install ejabberd
# echo "192.168.10.120 im.example.com" >> /etc/hosts
Selanjutnya anda harus membuat akun admin ejabberd untuk localhost dan domain anda
# ejabberdctl register admin localhost password
# ejabberdctl register admin im.example.com password
Selanjutnya edit konfigurasi ejabberd pada file /etc/ejabberd/ejabberd.yml dengan menggunakan test editor kesayangan anda, kalau saya biasanya pakai nano atau vi editor.
# nano /etc/ejabberd/ejabberd.yml
Dan tambahkan acl untuk memberi akses kepada akun admin yang tadi kita buat, lihat tampilan dibawah ini:
acl:
admin:
user:
- "admin": "localhost"
- "admin": "im.example.com"
dan tambahkan im.example.com dibawah baris hosts:
hosts:
- "localhost"
- "im.example.com"
dan inilah contoh 2 user yang saya buat untuk testing
Kemudian kita instal xmpp client di komputer pakai gajim, atau pakai ebuddy untuk android. pada contoh ini kebetulan saya pakai Gajim xmpp client. Anda boleh pakai alternatif lainnya seperti gaim, pidgin, ebuddy, xabber sesuai selera anda. So, jika anda ingin menggunakan komputer dalam pengujian ini maka ikuti perintah dibawah ini untuk menginstal gajim di sistem operasi ubuntu desktop. Jika anda pakai windows 7,8,10 anda sesuaikan saja.
# apt-get install gajim
Terus masukkan masing-masing akun diatas ke dalam menu account aplikasi Gajim
Lalu tambahkan akun lawan chat nya (tadi, user rahul) pada menu Actions >> Add Contact, dan tambahkan kontak, ini akan memerlukan approval dari user lawan chat-nya. Jika permintaan disetujui oleh lawan chat maka lawan chat akan muncul di contact list.
dan terakhir, silakan saling berkirim pesan diatara kedua user tersebut.
$ sudo ejabberdctl change_password admin localhost 123456
atau
$ sudo ejabberdctl change_password admin im.example.com 123456
im.example.com = sesuaikan dengan nama domain anda
Instalasi Ejabberd
Secara default, packages ejabberd sudah tersedia di dalam system repository ubuntu, Anda tinggal menjalankan perinstah apt-get maka ia akan terdownload dan terinstall secara otomatis. Perintah ini sekaligus menyertakan paket bahasa pemrograman Erlang juga akan terinstall kedalam server kita.# apt-get install ejabberd
Konfigurasi Ejabberd
Pada instalasi kali ini saya akan menggunakan nama domain im.example.com dalam dalam konfigurasi host. Anda boleh cukup menggunakan localhost sebagai nama mesin anda, namun jika anda ingin lebih mudah menghapal alamat server saat remote ke mesin server anda maka diperlukan domain atau sub-domain sebagai penghubung. So, pertama.. kita akan memberikan nama domain dulu sebagai pengganti ip address server ejabberd# echo "192.168.10.120 im.example.com" >> /etc/hosts
Selanjutnya anda harus membuat akun admin ejabberd untuk localhost dan domain anda
# ejabberdctl register admin localhost password
# ejabberdctl register admin im.example.com password
Selanjutnya edit konfigurasi ejabberd pada file /etc/ejabberd/ejabberd.yml dengan menggunakan test editor kesayangan anda, kalau saya biasanya pakai nano atau vi editor.
# nano /etc/ejabberd/ejabberd.yml
Dan tambahkan acl untuk memberi akses kepada akun admin yang tadi kita buat, lihat tampilan dibawah ini:
acl:
admin:
user:
- "admin": "localhost"
- "admin": "im.example.com"
dan tambahkan im.example.com dibawah baris hosts:
hosts:
- "localhost"
- "im.example.com"
OK, silakan simpan dulu dengan mengikuti kaidah penyimpanan aplikasi text editor anda.
Lalu restart service ejabberd
# service ejabberd restart
Akses ke Web Panel Ejabberd
web panel ejabber secara default berkerja pada port 5280. maka tambahkan port itu pada alamat domain ejabber anda diikuti /admin, lengkapnya begini:
http://im.example.com:5280/admin
masukkan username admin dan passwordnya, jangan sampai lupa ya nanti jadi pusing :)
apabila username dan password yang anda masukkan benar maka tampilan akan muncul seperti dibawah ini...
admin panel - ejabberd |
Pengujian Ejabberd
Untuk menguji keberhasilan dalam instalasi ejabberd, saya akan menggunakan aplikasi xmpp client (gaim, gajim, ebuddy, xabber) dan login menggunakan 2 user yang berbeda kemudian mencoba chat / saling kirim messaging diantara kedua user tersebut.
dan inilah contoh 2 user yang saya buat untuk testing
rahul@im.example.com
andrew@im.example.com
menambah user - ejabber |
# apt-get install gajim
Terus masukkan masing-masing akun diatas ke dalam menu account aplikasi Gajim
Lalu tambahkan akun lawan chat nya (tadi, user rahul) pada menu Actions >> Add Contact, dan tambahkan kontak, ini akan memerlukan approval dari user lawan chat-nya. Jika permintaan disetujui oleh lawan chat maka lawan chat akan muncul di contact list.
dan terakhir, silakan saling berkirim pesan diatara kedua user tersebut.
Update:
Lupa password admin ejabberd, begini cara reset nya:$ sudo ejabberdctl change_password admin localhost 123456
atau
$ sudo ejabberdctl change_password admin im.example.com 123456
im.example.com = sesuaikan dengan nama domain anda
thanks tutornya sangat membantu..
BalasHapusoh iya request tutor untuk diakses publicnya donk min? sya sdh coba Forward ke ip public dengan mikrotik selalu gagal :(