Install dan config xmpp server ejabber dengan mysql
Diantara xmpp server yang ada, ejabber salah satu yang terlengkap fitur nya termasuk webservice untuk backend web chat dll, langsung saja dunlut di sini
https://www.process-one.net/en/ejabberd/downloads/
saya pilih DEB package karena saya memakai debian 8 adapun paketpendukung yag dibutuhkan adalah glibc minimal 2.13
install package
dpkg -i ejabberd_17.09-0_amd64.deb
buka file config /opt/ejabberd/conf/ejabberd.yml
tambahkan virtualhost di bagian host:
hosts:
- "xmpp.domain.com"
- "chat.domain.com"
tambahkan user di bagian user:
admin:
user:
- "[email protected]"
Register an admin :
/opt/ejabberd-17.09/bin/ejabberdctl register admin xmpp.domain.com passwdadmin
Stop and start ejabberd
/opt/ejabberd-17.09/bin/stop
/opt/ejabberd-17.09/bin/start
buka web admin
http://xmpp.domain.com:5280/admin
Untuk menggunakan database mysql, harus membuat tables
mysql -uroot -p ...
create database ejabberd;
use ejabberd;
source /opt/ejabberd-17.09/lib/ejabberd-17.04/priv/sql/mysql.sql
Config privileges :
grant all privileges on ejabberd.* to ejabberd@'localhost' identified by 'ejabberd';
flush priviliges;
buka file config /opt/ejabberd/conf/ejabberd.yml dan cari bagian ini
auth_method: sql
## MySQL server: default
##
sql_type: mysql
sql_server: "localhost"
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: "ejabberd"
##
## If you want to specify the port:
## sql_port: 1234
sql_port: 3306
untuk memisahkan database tiap virtual host harus bikin database yang berbeda untuk domain chat.domain.com karena default seting sudahd di pake untuk virtual host xmpp.domain.com silahkan cari bagian host_config:
#### virtual host config ####
host_config:
"chat.domain.com":
auth_method: sql
sql_type: mysql
sql_server: "localhost"
sql_database: "dua"
sql_username: "ejabberd"
sql_password: "ejabberd"
acl:
admin:
user:
- "[email protected]"
Stop and start ejabberd
/opt/ejabberd-17.09/bin/stop
/opt/ejabberd-17.09/bin/start
Register admin tiap domain karena database nya sudaha di pindah dari internal ke mysql
/opt/ejabberd-17.09/bin/ejabberdctl register admin xmpp.domain.com passwdadmin
/opt/ejabberd-17.09/bin/ejabberdctl register admin chat.domain.com passwdadmin
setelah itu bisa tambahkan user via web admin
https://www.process-one.net/en/ejabberd/downloads/
saya pilih DEB package karena saya memakai debian 8 adapun paketpendukung yag dibutuhkan adalah glibc minimal 2.13
install package
dpkg -i ejabberd_17.09-0_amd64.deb
buka file config /opt/ejabberd/conf/ejabberd.yml
tambahkan virtualhost di bagian host:
hosts:
- "xmpp.domain.com"
- "chat.domain.com"
tambahkan user di bagian user:
admin:
user:
- "[email protected]"
Register an admin :
/opt/ejabberd-17.09/bin/ejabberdctl register admin xmpp.domain.com passwdadmin
Stop and start ejabberd
/opt/ejabberd-17.09/bin/stop
/opt/ejabberd-17.09/bin/start
buka web admin
http://xmpp.domain.com:5280/admin
Untuk menggunakan database mysql, harus membuat tables
mysql -uroot -p ...
create database ejabberd;
use ejabberd;
source /opt/ejabberd-17.09/lib/ejabberd-17.04/priv/sql/mysql.sql
Config privileges :
grant all privileges on ejabberd.* to ejabberd@'localhost' identified by 'ejabberd';
flush priviliges;
buka file config /opt/ejabberd/conf/ejabberd.yml dan cari bagian ini
auth_method: sql
## MySQL server: default
##
sql_type: mysql
sql_server: "localhost"
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: "ejabberd"
##
## If you want to specify the port:
## sql_port: 1234
sql_port: 3306
untuk memisahkan database tiap virtual host harus bikin database yang berbeda untuk domain chat.domain.com karena default seting sudahd di pake untuk virtual host xmpp.domain.com silahkan cari bagian host_config:
#### virtual host config ####
host_config:
"chat.domain.com":
auth_method: sql
sql_type: mysql
sql_server: "localhost"
sql_database: "dua"
sql_username: "ejabberd"
sql_password: "ejabberd"
acl:
admin:
user:
- "[email protected]"
Stop and start ejabberd
/opt/ejabberd-17.09/bin/stop
/opt/ejabberd-17.09/bin/start
Register admin tiap domain karena database nya sudaha di pindah dari internal ke mysql
/opt/ejabberd-17.09/bin/ejabberdctl register admin xmpp.domain.com passwdadmin
/opt/ejabberd-17.09/bin/ejabberdctl register admin chat.domain.com passwdadmin
setelah itu bisa tambahkan user via web admin
konfig web service api, bisa cek dengan rest client dengan url http://xmpp.cardtech.co.id:5280/api/
http://xmpp.cardtech.co.id:5280/ws/
buka file config /opt/ejabberd/conf/ejabberd.yml rubah permitions nya cari bagian api_permissions: bagian "public commands": jd sperti ini
"public commands":
who:
- ip: "127.0.0.1"
- all
what:
- "*"
- "!stop"
- "!start"
- "!compile"
who:
- ip: "127.0.0.1"
- all
what:
- "*"
- "!stop"
- "!start"
- "!compile"
untuk api documentations nya ada di sini
https://docs.ejabberd.im/developer/ejabberd-api/
ini hasil testing untuk konek api
test add user via api
view table user di mysql via heidisql
Semoga bermanfaat
Komentar
Posting Komentar