squeeze/sid'e PostgeSQL entegreli eJabberD kurulumu

apt-get install ejabberd postgresql

mkdir ejabberd-modules
:~$ svn checkout http://svn.process-one.net/ejabberd-modules ejabberd-modules
:~$ cd ejabberd-modules/pgsql/trunk
:~/ejabberd-modules/pgsql/trunk$ ./build.sh
:~/ejabberd-modules/pgsql/trunk$ cd ebin
:~/ejabberd-modules/pgsql/trunk/ebin$ sudo cp * /usr/lib/ejabberd/ebin/
:~/ejabberd-modules/pgsql/trunk/ebin$ cd ~/
:~$ wget http://svn.process-one.net/ejabberd/tags/ejabberd-2.1.2/src/odbc/pg.sql

:~$ sudo su postgres -c psql template1
Welcome to psql 8.2.7, the PostgreSQL interactive terminal. Type: copyright for distribution terms h for help with SQL commands ? for help with psql commands g or terminate with semicolon to execute query q to quit
postgres=# ALTER USER postgres WITH PASSWORD ‘my_postgres_user_password_here’;
ALTER ROLE
postgres=# q

:~$ sudo -u postgres createdb ejabberd
:~$ sudo su postgres
postgres@ubuntu:~$ psql ejabberd < pg.sql
postgres@ubuntu:~$ exit
:~$ sudo pico /etc/ejabberd/ejabberd.cfg

Konfigürasyon ayarlarından aşağıdaki satırda ejabberd sunucusunun dns adresi yazılır:
{hosts, [“my_xmpp_server_dns_here”]}.

Dahili authentication kontrolünü sağlayan bu satırın başına %% işareti koyarak kapatıyoruz:
%%{auth_method, internal}.

Ardından ODBC authentication ayarını açıyoruz:
{auth_method, odbc}.

Bu satırda da yönetici tanımlıyoruz:
{acl, admin, {user, “myadmin_username_here”, “my_xmpp_server_dns_here”}}.

PostgreSQL Veritabanı erişimini ayarlamayı da unutmayalım:
{odbc_server, {pgsql, “localhost”, “ejabberd”, “postgres”, “my_postgres_user_password_here”}}.

Eğer gerekliyse aşağıdaki satırları da değiştirebilirsiniz:
mod_last <-> mod_last_odbc >>PostgreSQL’de son login tarihi kaydı tutulması için.
mod_offline <-> mod_offline_odbc >> PostgreSQL’de kullanıcı offline mesajlarını tutabilmesi için.
mod_roster <-> mod_roster_odbc >>  PostgreSQL’de kontak listesi tutlabilmesi için.
mod_vcard <-> mod_vcard_odbc >> PostgreSQL’de kullanıcı tanımlaması tutulması için.

Dosyayı saklayın ve çıkın.