elixir 集成ejabberd

备注: 我开发测试的环境时centos

1. 预备环境

1. openssl
yum install -y  openssl-devel

2. xml
yum install -y expat-devel

3.  yaml
yum  install -y libyaml-devel

2.  项目创建

mix  new  ejapp

项目结构

├── Jenkinsfile
├── README.md
├── config
│   ├── config.exs
│   └── ejabberd.yml
├── lib
│   └── ejapp.ex
├── mix.exs
├── mix.lock
└── test
    ├── ejapp_test.exs
    └── test_helper.exs


主要是 config/ 目录中文件的配置

config/config.exs

config :ejabberd,
  file: "config/ejabberd.yml",
  log_path: 'logs/ejabberd.log'

# Customize Mnesia directory:
config :mnesia,
  dir: 'mnesiadb/'

config/ejabberd.yml

wget https://gist.githubusercontent.com/mremond/383666d563025e86adfe/raw/723dfa50c955c112777f3361b4f2067b76a55d7b/ejabberd.yml

3. 运行

a. 依赖下载&& 编译运行
mix deps.get

mix compile

iex -S mix

b. 注册用户

:ejabberd_auth.try_register("test", "localhost", "passw0rd")

4. 参考资料

https://docs.ejabberd.im/developer/extending-ejabberd/elixir/
https://github.com/rongfengliang/ejabberd-elixir
·