Kamis, 28 April 2011

IredMail + Openfire



















Lanjutan postingan sebelumnya gan... sekarang ane mau nambahkan OpenFire di Server


IredMail ane..

instalasi bisa diikutin disini http://linux-asik.blogspot.com/2011/04/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/



/# 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 :

ane siapin data usernya nya dulu (ambil dari CSV untuk import ke IredMail). ane masukkin ke postgreSQL database untuk manipulasi datanya.

ane 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 ane create python script untuk retrieve data tersebut kemudian diproses sesuai dengan template import user dari Openfire. Untuk buddy list ane 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 ("\n")
outp.write ("\n")

for record in records:
outp.write("\n")
outp.write("" + record[0] +"\n")
outp.write("" + record[3] + "\n")
outp.write("" + record[2] + "\n")
outp.write("1277954250096\n")
outp.write("1277954250096\n")
outp.write("\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 ('\n')
outp.write ('' + record2[6] + '
\n')
outp.write("
\n")
outp.write("
")
outp.write ("
\n")
outp.close()

script ini akan menghasilkan file user.xml, nah file ini yang akan ane upload melalui plugin import user di Openfire..

restart openfire
sudo /etc/init.d/openfire restart

selesai... semua user sudah terhubung lewat email dan XMPP ...


Semoga berguna bagi Agan-agan sekalian dan selalu cinta Indonesia :iloveindonesia

0 comments: