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

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/ejabberduntuk 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 namaejabberd 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 dihttp://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 GaimExodusPsi untuk Windows serta Adium untuk Mac OS. Apabila ingin membuat client sendiri, anda dapat memodifikasi program yang berbasis Open Source seperti ExodusExodusmenggunakan 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

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.

0 komentar:

Posting Komentar

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More