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. js判断手机的左右滑动

    js代码 $(function() { function judge() { var startx;//让startx在touch事件函数里是全局性变量. var endx; var el = doc ...

  2. ARM QT实现多点触摸【转】

    转自:http://www.cnblogs.com/sky1991/archive/2013/06/03/3114702.html http://www.ptrackapp.com/apclassys ...

  3. Scrapy笔记:日志的使用

    scrapy的日志记录有两种方式: spider.logger.xx()和python标准库中的logger = logging.get_Logger('log information') 向日志对象 ...

  4. Linux文件的权限与属性

    由于以前学习Linux的时候没有做比较全面的总结笔记,而且平时大部分工作都在windows上进行,所以关于Linux的一些知识点有所遗忘.近期难得空闲,翻阅书籍,学习<鸟哥的Linux私房菜&g ...

  5. webapi net 直接更改协议头

    1.直接更改协议头 [HttpGet] public HttpResponseMessage Users() { var sites = new object(); string str = tool ...

  6. Android,一条线串联实心圆布局

    最近遇到一个简单的布局,不是listview的形式.就只是单纯的下图这种: 此界面布局代码: <?xml version="1.0" encoding="utf-8 ...

  7. List集合使用注意的问题

    在做自动保存草稿的功能遇到集合数据的问题,先贴自动保存草稿的代码 /** * 每5 秒保存一次草稿 */private void startDraftTimerTask(){ if (draftTim ...

  8. Linux中查看某个软件的安装路径

    Linux中查看某个软件的安装路径(地址)有时显得非常重要.比如某个文件的快速启动项被删除,或者你要建立快速启动项,或者想删除.添加安装文件等等,很多地方都要用到查案文件安装路径的命令. 这里给大家介 ...

  9. Unix进程和线程管理及其异同

    Unix进程和线程管理及其异同 一,进程 1,什么是进程 在最初的单处理器系统中,系统中的多道程序按照一定规则切换而实现多任务处理,后来发现多个程序并发导致系统资源被共享,为了描述和管理程序对共享资源 ...

  10. 模型搭建练习1_用numpy和tensor、variable实现前后向传播、实现激活函数

    用numpy实现搭建一个简单的forward和backward import numpy as np N, D_in, H, D_out = 64, 1000, 100, 10 x = np.rand ...