ejabberd为erlang的IM的开源框架,一直想找个时间研究研究:

1、下载Ejabberd安装包

wget  http://www.process-one.net/downloads/ejabberd/2.1.13/ejabberd-2.1.13-linux-x86_64-installer.run

2、下载完成后,给安装包加权限,否则无法安装

[root@localhost xmpp]# chmod +x ejabberd-2.1.13-linux-x86_64-installer.run

3、安装Ejabberd

[root@localhost xmpp]# ./ejabberd-2.1.13-linux-x86_64-installer.run
Language Selection Please select the installation language
[1] Dutch - Nederlands
[2] English - English
[3] French - Français
[4] German - Deutsch
[5] Russian - Русский
[6] Simplified Chinese - 简体中文
[7] Spanish - Español
.....

几个注意的地方:a、设置域的时候输入本机的IP地址 b、语言最好选择英语

4、安装完成后启动

[root@localhost xmpp]# cd /opt
[root@localhost opt]# cd ejabberd-2.1.13/
[root@localhost ejabberd-2.1.13]# cd bin
[root@localhost bin]# ./start
[root@localhost bin]# ./status
The node ejabberd@localhost is started with status: started
ejabberd 2.1.13 is running in that node

服务已经启动。可以用WEB来管理。

WEB地址:http://ip地址:5280/admin

5、Mysql配置

[root@localhost bin]# mysql -u root -p
Enter password: 创建用户和修改权限 mysql:>create database ejabberd
mysql:>grant all privileges on ejabberd.* to ejabberd@’127.0.0.1′ IDENTIFIED BY ’ejabberd’;
mysql:>grant all privileges on ejabberd.* to ejabberd@’localhost’ IDENTIFIED BY ’ejabberd’; 创建数据库 mysql:>source /usr/local/ejabberd/lib/ejabberd-2.1.3/priv/odbc/mysql.sql;

6、XMPP服务配置

修改ejabberd.cfg文件如下:

注释掉:  {auth_method, internal}.
取消注释:{auth_method, odbc}. 取消注释并设置数据库名称和密码:
{odbc_server, {mysql, "localhost", "ejabberd", "ejabberd", "ejabberd"}}. 修改模块如下:都增加_odbc
{mod_last_odbc, []},
{mod_offline_odbc, []},
{mod_privacy_odbc, []},
{mod_private_odbc, []},
{mod_pubsub_odbc, [ % requires mod_caps ...
{mod_roster_odbc, []},
{mod_vcard_odbc, []}, 重启服务:
cd /bin下
./start 命令

7、注册管理员用户

./ejabberdctl register admin 192.168.200.239 123456

ejabberd常用配置说明:

1、数据库配置

ejabberd默认安装后使用的是自带的数据库,可以通过配置使用其他的数据库如Mysql、Sqlserver、Postgresql等数据库,Mysql数据库配置参见《Linux下ejabberd安装配置》,其他数据库安装配置与此类同。

2、主机配置

{hosts, ["192.168.1.1"]}.  修改成主机的IP即可

3、管理员配置

{acl, admin, {user, "RKIMAdmin", "192.168.1.1"}}.

增加管理员在单独按此格式写即可。

4、广播权限

{access, announce, [{allow, admin}]}.  只有管理员可以广播

{access, announce, [{allow, all}]}.       所有人都可以发起广播

5、群组配置

{mod_muc,

  [
         {access, muc},
         {access_create, muc_create},
         {access_persistent, muc_create},
         {access_admin, muc_admin},
         {max_users, 1000},   群组的最大限制
         {history_size,500},    群组最大历史消息记录条数
         {max_user_conferences, 500}   单个用户可以加入群组的最大数量

  ]

},

具体可参加ejabberd官网.

转自:http://www.cnblogs.com/silent2012/p/3610747.html

linux下ejabberd框架搭建的更多相关文章

  1. linux下Flask框架搭建简单网页

    开始安装FLASK需要创建一个虚拟环境,虚拟环境可以不干扰正在使用的系统环境,避免影响,并且也不需要完全的root权限,更加安全可靠. 搭建环境 Python3.4 进入到microblog目录下创建 ...

  2. linux下的服务器搭建集成环境

    linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...

  3. Linux下dns服务器搭建

    Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...

  4. linux下Oracle11g RAC搭建(六)

    linux下Oracle11g RAC搭建(六) 五.校验安装前的环境 root身份下完毕解压grid.database安装包 [grid@node1 soft]$ su - Password: [r ...

  5. linux下Oracle11g RAC搭建(九)

    linux下Oracle11g RAC搭建(九) 八.创建ASM仓储 相同在图形化界面操作 [root@node1 ~]#  su - grid [grid@node1 ~]$ asmca   //创 ...

  6. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

  7. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

  8. linux下安装EJBCA 搭建私有CA服务器

    linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1.  linux mint18.3 62位: ...

  9. linux下Oracle11g RAC搭建(二)

    linux下Oracle11g RAC搭建(二) 一.安装前配置 网络的配置 IP占用測试 进入windows下.运行cmd,使用ping命令验证网段是否被占用. 注:用哪个网段都行,一定保证不要被其 ...

随机推荐

  1. 自定义JavaScript字典类jsdictionary.js

    /* Dictionary类:本类实现了字典功能,所有方法.属性都模仿System..Collection.Generic.Dictionary类 构造函数: Dictionary() 属性: Com ...

  2. [LeetCode] Unique Binary Search Trees II dfs 深度搜索

    Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...

  3. 刷leetcode是什么样的体验?【转】

    转自:https://www.zhihu.com/question/32322023 刷leetcode是什么样的体验? https://leetcode.com/ 1 条评论   默认排序 按时间排 ...

  4. python进阶学习

    python高级用法 github: https://github.com/cq146637/Advanced     

  5. C结构体struct用法小结

    结构体和int,float等类型一样是一种常用的类型,它是由各种基本数据类型构成,通常包含有struct关键字,结构体名,结构体成员,结构体变量. 一.结构体定义 通常有3种定义方式,以例子方式表示: ...

  6. Python 复习-1

    #!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/10/27 22:46 # @Author : lijunjiang # @Fi ...

  7. C#图解教程学习笔记——事件

    一.事件的定义事件:当一个特定的程序事件发生时,程序的其他部分可以得到该事件已经发生的通知,同时运行相应处理程序.事件的很多部分都与委托类似.实际上,事件就像专门用于特殊用途的简单委托.事件包含了一个 ...

  8. Z划分空间

    /* https://blog.csdn.net/fastkeeper/article/details/38905249 https://max.book118.com/html/2017/1007/ ...

  9. C++ | class size

    c++类大小和机器还有编译器有关.64位机器指针大小为8个字节,32位机器为4个字节. 每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会给一个空类隐含的加一个字节,这样空类在实例 ...

  10. Jenkins错误“to depth infinity with ignoreexternals:true”问题解决

    试下以下解决方法: 1.可能是SVN插件版本过低导致,升级SVN插件. 2.可能是构建时自己手动修改了代码,而SVN检出时无法覆盖导致的错误,可以先删除jenkins检出的代码,然后再检出一次去构建. ...