Membangun Instant Messenger Sendiri menggunakan Jabber/XMMP (bagian 2)

26 01 2007

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).

ejabberd

 

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 :

i2messenger.JPG i2messenger1.JPG

Gambar tampilan utama i2Messenger

 

i2messenger31.JPG

 

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.orgWhat 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.


Actions

Information

29 responses

30 01 2007
Fadly

gOOd work, nice research, just keep movin

6 02 2007
FITRIANSYAH

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😉

6 02 2007
chaidir

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

7 02 2007
Ricky

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

7 02 2007
chaidir

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😛 )

19 02 2007
erick

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

1 03 2007
didi

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

1 09 2007
sarif

omm aplikasi ini untuk smwa OS atau hanya tertentu dan klo centos 5 bisa nggak di install applikasi kayak begini😀

9 10 2007
Little_star

saya lebih milih memakai openfire sbg server😀

7 12 2007
maby

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

24 12 2007
dev

RPC failed on the node ejabberd@multimedia: nodedown

itu kenapa ya om, bantu saya dong

23 01 2008
ikky

mas punya source code program sederhana yang ditulis pake bahasa erlang ga??? mhn bantuannya.. thanks.. email me.

30 01 2008
agus

Mas… ada ndak ya, server untuk Yahoo Messenger? maksudku kita menggunakan yahoo! messenger tanpa harus ke server yahoo, tapi ke server buatan kita sendiri

16 09 2008
adyxtry

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

19 09 2008
4ginThea

Massss …. ada gak source code buat video streaming untuk jabber???
Plizzz inform me okey ???

13 11 2008
dipta

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…

13 12 2008
Uxefqwln

Thanks!,

26 02 2009
andree4faith

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

27 02 2009
Quuen Mary

Mas,,,link tutorial exodus ma pandion dunk,,dapetna dmn yah (yang indonesian geto,rada ga mudenk kalo english, lol ) Thx b4

11 05 2009
tjahjo

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

30 06 2009
Onnizukka

om…ada gak tutor nya setting ejabberd pada winxp?? dan paket apa aja yg diperlukan di win xp tsb?? tq

2 02 2010
nimbuzzcikampekcommunity

Puyeung gw dweh..

2 02 2010
nimbuzzcikampekcommunity

Mas di mana dapetin pandion..

19 02 2010
pututik

thanks telah berbagi. ada videonya lagi

27 08 2010
vyta

Thax sharingnya…

Untuk exodus, kenapa nya compilenya susah dan setelah mencoba login ( file belum di modifikasi) muncul error sptnya pd file indy (saya memakai indy9), seharusnya exodus ini memakai indy 9 ato 10?

24 12 2010
Nasrul ihwan

Wah q binggung make xmmp, q otak atik tambah mumet,
salam kenal gan..!

3 05 2011
zulfadli

mas mau tanya dong..saya coba install ejabberd di windows 2008 server, klien bisa log in tp g bisa komunikasi satu sama lain..permasalahannya apa yah?
saya juga ada coba pake openfire tp g bisa log in di admin nya yah..
thx..
reply in email plis..fadlideep@gmail.com

25 06 2012
aan

mas saya sudah menginstal ejabberdnya sesuai dengan tutorial yang ada di atas, tetapi client tidak bisa registrasi ke ejabberd servernya.
kira-kira yang salah apanya ya ?
mohon tanggapannya
di kirim ke email juga boleh…. (fire_wall97@yahoo.co.id)
terima kasih

3 09 2015
Sandy Riyadi Susiharto

saya sudah mencoba mnginstal, dan (sepertinya) berhasil, cuma, ketika saya mau masuk ke web adminnya, saya diminta user password (pasti dong),

di dalam file /etc/ejabberd/ejabberd.cfg sudah di jelaskan cara membuat dan menambah admin user

akan tetapi selama instalasi sampai dengan selesai, sepertinya/ kalo tidak salah, saya tidak diminta mengisi password

apa yang salah yaaaa ?, mungkin ada password standart ?

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: