Artikel ini merupakan lanjutan dari tutorial sebelumnya tentang Membangun Instant Messenger Sendiri menggunakan Jabber/XMMP. Disini akan dibahas mengenai bagaimana cara Instalasi server Instant Messenger yang lebih dikhususkan dengan menggunakan aplikasi ejabberd. Karena pada saat artikel ini dibuat versi Sistem Operasi dan aplikasi yang digunakan masih versi lama, untuk itu harap sesuaikan dengan versi yang lebih baru.
Instalasi Server Instant Messengger
Ada beberapa program yang dapat dijadikan Server yang digunakan pada sistem Instant Messaging ini. Yang pertama adalah ejabberd yang dikembangkan menggunakan bahasa pemrograman Erlang dan jive messenger yang berbasis java serta menggunakan database mysql. Selain itu, dapat pula menggunakan jabberd.
Setelah mencoba menginstall dan membandingkan beberapa program tersebut, penulis memilih untuk menggunakan ejabberd karena kemudahan instalasi dan administrasi serta sangat stabil untuk digunakan dalam skala besar. Namun, penulis juga menyarankan untuk mencoba menggunakan jive messenger yang sangat mudah di instal dan administrasi yang mudah dengan berbasis web, namun karena menggunakan java sehingga membutuhkan resource yang cukup besar. Selain itu karena database yang digunakan menggunakan mysql, maka kita dapat melakukan modifikasi dengan menggunakan bahasa pemrograman PHP. Untuk daftar server selengkapnya dapat dilihat di http://www.jabber.org/software/servers.shtml
Sebelum melakukan instalasi ejabberd, dibutuhkan beberapa paket yang harus di instal terlebih dahulu. Tanpa program ini, ejabberd tidak akan berjalan dengan baik atau tidak akan berjalan sama sekali. Dalam perancangan sistem Instant Messaging ini, Ejabberd diinstal menggunakan Sistem Operasi Redhat 9. Paket yang dibutuhkan antara lain :
- GNU Make
- GCC
- libexpat 1.95 atau versi diatasnya
- Erlang/OTP R8B atau versi diatasnya
- OpenSSL 0.9.6 atau versi diatasnya (opsional).
Setelah semua paket terinstal, download source ejabberd di sini. Ambil versi yang terbaru (pada saat ini dibuat masih versi 9.8.0). Setelah itu ekstrak file ejabberd dengan perintah :
tar xzvf ejabberd-0.9.8.tar.gz
Setelah di ekstrak, masuk ke direktori ejabberd dengan mengetikkan perintah
cd ejabberd-0.9.8
Tahap selanjutnya yaitu kompilasi file source yang telah di ekstrak tadi. Perintah yang digunakan yaitu :
./configure
make
make install (harus dengan root)
Proses ini akan menginstal ejabberd dalam direktori /var/lib/ejabberd, sedangkan file ejabberd.cfg akan di instal di direkori /etc/ejabberd. Lalu akan dibuat direkotori /var/log/ejabberd untuk file log.
Test program hasil kompilasi :
erl -pa /var/lib/ejabberd/ebin -name ejabberd -s ejabberd
Apabila ingin dijalankan sebagai background (daemon) tambahkan perintah –detached
erl -pa /var/lib/ejabberd/ebin -name ejabberd -s ejabberd -detached
Cara yang terbaik untuk menjalankan ejabberd adalah dengan membuat file dengan konfigurasi tertentu. Contohnya dengan membuat sebuah file yang diberi nama ejabberd dan diberi permission untuk dieksekusi (755). Isi file tersebut adalah :
!#/bin/bash
# script sederhana untuk menjalankan ejabberd dengan konfigurasi
# tertentu
erl -pa /var/lib/ejabberd/ebin
-sname ejabberd \
-s ejabberd \
-ejabberd config \”/etc/ejabberd/ejabberd.cfg\” \
log_path \”/var/log/ejabberd/ejabberd.log\” \
-sasl sasl_error_logger \{file,\”/var/log/ejabberd/sasl.log\”\}\
-mnesia dir \”/var/lib/ejabberd/spool\” \
-detached
Untuk dapat melakukan koneksi lebih dari 1024 user, maka variable ERL_MAX_PORTS harus di set sebagai berikut.
export ERL_MAX_PORTS=32000
Konfigurasi ejabberd
Untuk melakukan konfigurasi, maka file ejabberd.cfg yang terdapat dalam direktori /etc/ejabberd harus di edit. Untuk mengeditnya, gunakan editor vi atau yang lainnya.
vi /etc/ejabberd/ejabberd.cfg
Hal yang perlu di edit :
· Host Names
Opsi hosts mendifiniskan nama domain jabber yang digunakan oleh ejabberd sebagai server. Misalkan nama server yang digunakan adalah i2.co.id, maka ganti baris berikut :
% Host name(s):
{hosts, ["localhost"]}.
Dengan
{hosts, ["chaidirabadi.org"]}.
· Akses admin
Untuk memberikan akses admin kepada user, maka edit baris seperti contoh berikut :
% Users that have admin access. Add line like one of the following after you
% will be successfully registered on server to get admin access:
{acl, admin, {user, “chaidir”}}.
%{acl, admin, {user, “lintar”}}.
Jangan lupa menghilangkan tanda % agar tidak dikenali sebagai comment. Pada contoh diatas user chaidir mendapatkan akses sebagai admin, sedangkan user lintar belum mendapatkan akses admin karena masih baris tersebut masih di comment. Akses admin ini sangat berguna untuk melakukan administrasi via web.
· Welcome message
Setiap user yang beru mendaftar akan mendapatkan welcome message. Untuk mengganti welcome message, maka edit baris berikut :
% After successful registration user will get message with following subject
% and body:
{welcome_message,
{“Welcome!”,
“Selamat datang di aCh Messenger
. “
“Untuk informasi lebih lanjut silakan lihat di http://chaidirabadi.org”}}.
% Replace them with ‘none’ if you don’t want to send such message:
%{welcome_message, none}.
Ganti welcome message sesuai dengan keinginan kita.
Untuk konfigurasi selebihnya dapat dilihat pada file /etc/ejabberd/ejabberd.cfg
Administrasi via web
-Untuk administrasi via web, kita dapat mengkasesnya dengan alamat http://namaserver:5280/admin. Lalu login dengan user yang mempunyai akses admin (dalam contoh diatas user chaidir). Jangan lupa login dengan “@” (contoh : chaidir@chaidirabadi.org).
Client Instant Messenger
Untuk mencoba server yang telah dibuat, kita dapat menggunakan client Instant Messenger yang mendukung protokol jabber, antara lain Gaim, Exodus, Psi untuk Windows serta Adium untuk Mac OS. Apabila ingin membuat client sendiri, anda dapat memodifikasi program yang berbasis Open Source seperti Exodus. Exodus menggunakan bahasa pemrograman Delphi menggunakan Borland Delphi 7 sehingga dapat dimodifikasi dengan mudah. Berikut adalah contoh tampilan client Instant Messenger hasil modifikasi Exodus :
Gambar tampilan utama i2Messenger
Gambar jendela chat
Update : Sekarang anda dapat menginstall ejabberd dengan sangat mudah. Dengan waktu 3 menit kini anda dapat menginstall ejabberd. Silahkan lihat Video Tutorial cara menginstall ejabber dalam 180 detik http://www.process-one.net/tutorials/ejabberd_setup_linux_en_viewlet_swf.html.
Referensi :
1. http://www.jabber.org “What Is jabber,” www page, 2003,.
2. Iain Shigeoka, Instant Messaging in Java The Jabber Protocols, Manning Publications Co., 2002.
3. J. Miller P. Saint-Andre, “XMPP Core Draft-IETF-XMPP-Core-12” www page, May 2003, Expire on November 2, 2003.



gOOd work, nice research, just keep movin
Saya ada pertanyaan nih, untuk menjalankan programme ejabberd apa saya harus menggunakan OS Linux atau saya bisa bekerja pake OS windows XP? Sebab, saya liat untuk ekstrak file ejabberd dan untuk melakukan hal2x lain nya, kamu menggunakan command Linux sama script Linux.
Sebelumnya terima kasih
to FITRIANSYAH :
anda dapat menjalankan ejabberd di Linux ataupun di Windows atau bahkan di MacOSX sekalipun
Sekarang pun untuk menginstall ejabberd itu sangat teramat mudah
tinggal klik, trus jalan deh… silahkan liat Video tutorial cara menginstall ejabberd dalam 3 menit disini http://www.process-one.net/tutorials/ejabberd_setup_linux_en_viewlet_swf.html
Mas anda punya source exodus yang untuk delphi7? saya download dari jabberstudio.org kok error terus ya kalau di jalanin pake delphi 7? mau di debug juga banyak sekali errornya?
anda punya source yang versi sebelumnya? atau yang mas modifikasi itu versi berapa bisa minta sourcenya mas?
terima kasih ya
source code exodus dapat didownload disini http://exodus.jabberstudio.org/exodus-src.zip
yang udah saya modifikasi.. udah lupa ditaro mana
)
modif lewat source codenya aja langsung… ga susah-susah banget ko.. (klo cuma ganti tampilannya aja
mas klo mo nganalisa paket error/ paket lossnya, time delay dan lain2 tu pake apaan?
ada softwaenya g?
maklum mas aq orang baru didunia ginian… kurang pengetahuan.
thanx
hi, apakah sudah dicoba sytstem cluster? sy ada pertanyaan sedikit:
yg sudah kami test, dua server ejabber dgn 1 virtual name akan terisolasi 1 sama lain apabila koneksi antara keduanya terputus lebih dr 5 menit, meskipun setelah itu koneksi telah kembali, keduanya tetap terisolasi dan tidak saling mereplicate data sebelum salah satunya direstart, ada solusi dr rekan2 untuk kasus ini??
thx
omm aplikasi ini untuk smwa OS atau hanya tertentu dan klo centos 5 bisa nggak di install applikasi kayak begini
saya lebih milih memakai openfire sbg server
mas saya sdh install ejabberd di slaware 12,
saat ini suah bisa diakses lewat web interface di port 5280,
saya ada permasalahan saat test di client menggunakan gaim,
saya coba pake gaim dan bikin user id tapi gak bisa regiter. kira-kira apa yang harus saya oprek lagi mas. dan gimana caranya saya tahu bahwa jabber server saya sudah running.
saya sudah namp localhost gak ada port yang listen untuk ejabberd
sekian dan terima kasih atas bantuannya
RPC failed on the node ejabberd@multimedia: nodedown
itu kenapa ya om, bantu saya dong
mas punya source code program sederhana yang ditulis pake bahasa erlang ga??? mhn bantuannya.. thanks.. email me.
Mas… ada ndak ya, server untuk Yahoo Messenger? maksudku kita menggunakan yahoo! messenger tanpa harus ke server yahoo, tapi ke server buatan kita sendiri
Waduh baru ketemu nih jabber author indonesia ….
sekedar ngasih tau, selain ejaberd ada juga kok server lainnya kaya openfire n jabber XCP klo gw pake yang XCP karena buat skala Enterprise
Massss …. ada gak source code buat video streaming untuk jabber???
Plizzz inform me okey ???
haloo mas…..wahhh saya ada idea ne buat jabber trus ada video streamingnya….gmana y caranya bisa di jelaskan dengan lengkap…klo ada tutornya kirim k email ya mas plissss…
Thanks!,
Maaf kk kk smwnya boleh g saya minta Download link yang GNU itu, sampe OpenSSLnya (paket buat ejabberd)…
Oh iya buat windows XP
THX B4
Mas,,,link tutorial exodus ma pandion dunk,,dapetna dmn yah (yang indonesian geto,rada ga mudenk kalo english, lol ) Thx b4
salam kenal mas,
mas saya mau tanya? klo clientnya menggunakan j2me gimana mas, bisa gak? kan ada tu client yang buat di hape juga..
oya klo misal mau membuat messenger client sendiri dari jabber yang menggunakan j2me bisa gak? klo ada boleh minta referensinya ?
makasih
om…ada gak tutor nya setting ejabberd pada winxp?? dan paket apa aja yg diperlukan di win xp tsb?? tq