2016-04-04-Ejabberd-configure-db-postgresql

Configure Ejabberd chat server to use Postgresql

Date: 2016-04-04 19:58:00

In order to make data persistent with in any application,we can link it to a Postgresql relational database.

  1. To change the default to use a postgres database we first need to create a new postgresql database on the server
huazhang@zhoutekiMacBook-Air:~/ejabberd-15.09/bin$ psql
psql (9.4.4)
huazhang=# run ./createdb ejabberd
 ```

2. Create the tables using the supplied script

huazhang-# ./psql ejabberd < ~/ejabberd-15.09/lib/ejabberd-15.09/priv/sql/pg.sql

3. Add a user for the database

~/ejabberd-15.09/bin$ createuser -P -s -e admin
Enter password for new role: root123
Enter it again: root123
CREATE ROLE testadmin PASSWORD ‘md55ebf4663bc3108d036c91bc4bbcfd599’ SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;

4. Configure ODBC options in ejabberd.cfg:

Scroll down to the section headed Database setup.
edit the following,remove the %% commenting

Postgresql server:

odbc_type: pgsql
odbc_server: “localhost”
odbc_database: “ejabberd”
odbc_username: “admin”
odbc_password: “root123”

5. Add _odbc to modules you wish to use the odbc database,and store messages into archive table

e.g. mod_offline_odbc instead of mod_offline.
full list in ejabberd user guide

Modules enabled in all ejabberd virtual hosts.

modules:
#By default mod_mam does not store messages. If you like to store messages,simply add this mod_mam option:
mod_mam:
default: always
db_type: odbc
“`

  1. Under authentication comment out internal authentication:
    “`

auth_method: internal

Then un comment auth_method: odbc
“`

  1. Register a new user and appear online using PSI client or similar application

  2. Add a user to allowed admin access control list in ejabberd.cfg

    {acl,admin,{user,"username","server"}}.
  3. Confirm registered user and status in web admin:
    http://serverIP:5280/admin/

  4. Connect to database using PgAdmin to view tables with data and confirm ejabberd is Now using Postgresql

Reference

Getting started with ejabberd
[Initial setup and install of Postgresql Database]
(http://stackoverflow.com/questions/9753710/setup-ejabberd-with-postgresql)

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...