instalasi bisa diikutin disini http://nyemplunglinux.blogspot.com/2008/06/instalasi-im-server-dengan-openfire.html
Untuk debian Lenny ada sedikit tricky ... setelah install openfire.deb .. install patchnya, bisa didapet disini http://steffenzieger.de/index.php/2009/03/25/install-openfire-on-debian-lenny/
Di IredMail .. semua port kecuali email di blok... untuk aktifin XMPP tinggal edit di
sudo nano /etc/default/iptables
Unremark yang xmpp .. dan tambahin port 9090 (Untuk openfire Admin)
Setelah selesai , install plugin export/importnya .. kemudian tinggal nambahin user dan buddy list di openfire
caranya :
gua siapin data usernya nya dulu (ambil dari CSV untuk import ke IredMail). gua masukkin ke postgreSQL database untuk manipulasi datanya.
gua create database dengan nama User_export_temp
create database user_export_temp;
create table export_user();
alter table export_user add column domain_name varchar(30);
alter table export_user add column usercode varchar(30);
alter table export_user add column userpassword varchar(30);
alter table export_user add column username varchar(30);
alter table export_user add column groupuser varchar(30);
/* Insert data dari CSV yang udah gua modif sesuai table diatas */
copy user_export_temp from '/home/yoshizuki/myUser.csv' csv;
kemudian gua create python script untuk retrieve data tersebut kemudian diproses sesuai dengan template import user dari Openfire. Untuk buddy list gua asumsikan semua user yang ada saling terhubung dan dipisahin berdasarkan group bagian aja.
#!/usr/bin/python
import psycopg2, sys,os
outp = file("user.xml","w")
conn = psycopg2.connect("\
dbname='testing'\
user='postgres'\
host='localhost'\
password='postgres' ");
d = conn.cursor()
d.execute (" select a.usercode , \
a.userpasswd,\
a.username ,\
a.usercode || '@' || a.domain_name \
from tmp_data as a \
order by a.usercode ")
c = conn.cursor()
records = d.fetchall()
outp.write ("<?xml version='1.0' encoding='UTF-8'?>\n")
outp.write ("<Openfire>\n")
for record in records:
outp.write("\n<User>")
outp.write("<Username>" + record[0] +"</Username><Password/>\n")
outp.write("<Email>" + record[3] + "</Email>\n")
outp.write("<Name>" + record[2] + "</Name>\n")
outp.write("<CreationDate>1277954250096</CreationDate>\n")
outp.write("<ModifiedDate>1277954250096</ModifiedDate>\n")
outp.write("<Roster>\n")
c.execute("select a.usercode , \
a.userpasswd, \
a.username , \
a.usercode || '@' || a.domainname , \
b.usercode || '@' || b.domainname , \
b.username , \
b.groupname \
from export_user as a \
inner join export_user as b on a.usercode <> b.usercode \
where a.usercode = '%s' \
order by a.usercode , b.usercode " %record[0])
records2 = c.fetchall()
for record2 in records2:
outp.write ('<Item jid="' + record2[4] + '" askstatus="-1" recvstatus="-1" substatus="3" name="'+ record2[5] + '" >\n')
outp.write ('<Group>' + record2[6] + '</Group></Item>\n')
outp.write("</Roster>\n")
outp.write("</User>")
outp.write ("</Openfire>\n")
outp.close()
script ini akan menghasilkan file user.xml, nah file ini yang akan gua upload melalui plugin import user di Openfire..
restart openfire
sudo /etc/init.d/openfire restart
selesai... semua user sudah terhubung lewat email dan XMPP ...