IOS即时通讯XMPP搭建openfire服务器
一、下载并安装openfire
1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版
比如:Openfire 3.8.1,下载后的文件:openfire_3_8_1.dmg
2.点击安装,并执行默认操作
3.启动openfire服务
在系统偏好设置的其他里,点击openfire偏好
启动后,点击Open Admin Console按钮,自动在浏览器中打开本地web配置页面http://localhost:9090/setup/index.jsp
二、配置openfire服务器
1.设置语言,选中文
2.主机设置
设置主机的访问ip地址
注意:域不能是机器名,否则会如下错误:
HTTP ERROR: 500 INTERNAL_SERVER_ERROR
本地的域,要设置为127.0.0.1
3.数据库设置
如果要设置外部数据库(推荐,比如:MySQL),选择标准数据库连接
4.设置数据库连接
(1)数据库驱动选择:MySQL,前提是已安装MySQL(具体的安装方法可以参考上一篇:mac上安装MySQL)
(2)JDBC驱动,默认不变
com.mysql.jdbc.Driver
(3)数据库URL:
形式如下:
jdbc:mysql://你的主机名:端口号/数据库名称
这里设置为
jdbc:mysql://localhost:3306/openfire
其中主机名[host-name]改为localhost,
其中数据库名称[database-name]改为openfire
解决数据库字符编码问题,可以在后面加
?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
最终的url形式是
jdbc:mysql://localhost:3306/openfire?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
注意:前提是已存在一个名为openfire的数据库,否则会报如下错误,连接配置不成功
The Openfire database schema does not appear to be installed. Follow the installation guide to fix this error.
前期的MySQL数据库准备工作如下:
<1>设置/usr/local/openfire文件夹的访问权限为可读写
方法1:在finder中前往文件夹/usr/local/,右键openfire文件夹,显示简介
点击如图右下角中的锁图标解锁,并设置权限为:可以读写
方法2:打开终端,输入如下命令
sudo chmod 777 /usr/local/openfire
其中777表示授权可读写权限,000表示无访问权限
<2>在终端中,登陆MySQL
mysql -u root -p
然后输入数据库的root密码
<3>创建数据库openfire
create database openfire;
<4>导入openfire资源文件夹 resources/database下的数据表
use openfire;
source /usr/local/openfire/resources/database/openfire_mysql.sql
在终端出现一排导入过程
<5>刷新权限
flush privileges;
<6>退出MySQL
exit
(4)用户名和密码
这里的用户名密码,是访问MySQL数据库时使用的帐号:root,和安装MySQL设置的root密码
5.特性设置
如果不打算使用LDAP,则保持默认设置
6.设置openfire服务器管理员的帐号和密码
可以随便填写一个管理员邮箱,输入要设置的密码
完成注册
7.登陆管理控制台
默认的管理员帐号是“admin”,默认管理员密码“admin”,如果上面设置了新密码,则管理员密码是新密码
如果想去掉默认的admin帐号,并自定义,需要如下操作
(1)在终端中,登陆具体的数据库(openfire)
mysql -u root -p openfire
然后输入数据库的root密码
(2)删除表“ofUser”中的admin帐户
delete from ofUser where username='admin';
(3)创建自定义管理员(用户名:xiaodao,密码:123)
INSERT INTO ofUser (username, plainPassword, encryptedPassword, name, email, creationDate, modificationDate) VALUES ('xiaodao','123','123','Administrator','xiaodao@sunyard.com','0','0');
注意:如果重设了用户名,必须重启openfire服务器
8.后台控制界面
三、卸载openfire
1.停止服务
在系统偏好设置的其他里,打开openfire偏好设置
点击Stop Openfire按钮,停止服务
2.删除文件
打开终端,输入以下命令
sudo rm -rf /Library/PreferencePanes/Openfire.prefPane
sudo rm -rf /usr/local/openfire
sudo rm -rf /Library/LaunchDaemons/org.jivesoftware.openfire.plist
其中第一条命令之后,需要输入本机管理员密码
IOS即时通讯XMPP搭建openfire服务器的更多相关文章
- IOS即时通讯XMPP搭建openfire服务器 分类: ios技术 2015-03-07 11:30 53人阅读 评论(0) 收藏
一.下载并安装openfire 1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版 比如:Openfir ...
- ios 即时通讯 xmpp
[iPhone高级] 基于XMPP的IOS聊天客户端程序(XMPP服务器架构) http://blog.csdn.NET/kangx6/article/details/7739828 [iPhone高 ...
- (转)基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端
主要包含4个章节: 1. Java 领域的即时通信的解决方案 2. 搭建 Openfire 服务器 3. 使用客户端测试我们搭建的 Openfire 服务器 4. Smack 和 ASmack 一.J ...
- iOS 即时通讯 + 仿微信聊天框架 + 源码
这些你造吗? 即时通讯(IM),在IOS这片江湖里面已经算是一个老者了,我这小旋风也是在很早以前巡山的时候,就知道有即时通讯这个妖怪,以前也多多少少接触过一些,在造APP的时候用过,哎呀,说着说着就感 ...
- iOS 即时通讯,从入门到 “放弃”?
原文链接:http://www.jianshu.com/p/2dbb360886a8 本文会用实例的方式,将 iOS 各种 IM 的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. — ...
- iOS即时通讯之CocoaAsyncSocket源码解析三
原文 前言 本文实例Github地址:即时通讯的数据粘包.断包处理实例. 本文旨以实例的方式,使用CocoaAsyncSocket这个框架进行数据封包和拆包.来解决频繁的数据发送下,导致的数据粘包.以 ...
- iOS即时通讯之CocoaAsyncSocket源码解析五
接上篇:iOS即时通讯之CocoaAsyncSocket源码解析四 原文 前言: 本文为CocoaAsyncSocket Read篇终,将重点涉及该框架是如何利用缓冲区对数据进行读取. ...
- iOS即时通讯之CocoaAsyncSocket源码解析四
原文 前言: 本文为CocoaAsyncSocket源码系列中第二篇:Read篇,将重点涉及该框架是如何利用缓冲区对数据进行读取.以及各种情况下的数据包处理,其中还包括普通的.和基于TLS的不同读取操 ...
- iOS即时通讯之CocoaAsyncSocket源码解析二
原文 前言 本文承接上文:iOS即时通讯之CocoaAsyncSocket源码解析一 上文我们提到了GCDAsyncSocket的初始化,以及最终connect之前的准备工作,包括一些错误检查:本机地 ...
随机推荐
- java 使用对象
class XiyoujiRenwu { float height,weight; String head, ear; void speak(String s) { head="歪着头&qu ...
- Windows恢复Grub引导,用grub安装ubuntu
http://www.linuxidc.com/wap.aspx?nid=18027&p=&cp=&cid=http://m.blog.chinaunix.net/uid-22 ...
- 使用ReTrofit做缓存(结合上拉加载和下拉刷新)
1. noCache 不使用缓存,全部走网络 2. noStore 不使用缓存,也不存储缓存 3. onlyIfCached 只使用缓存 4. maxAge 设置最大失效时间,失效则不使用 需要服务器 ...
- git rebase 使用
git rebase 不会取回代码 要用git fetch先取回, git rebase 是合并代码. (1)首先用git fetch返回服务器上的代码 (2)首先用git rebase origin ...
- Eclipse中Ctrl+Alt+Down和Ctrl+Alt+Up不起作用
不起作用是因为跟因特尔的快捷键冲突. 1.在桌面上右键,选择“图形属性......” 2.选择“选项和支持” 3.更改快捷键. 注意:单纯禁用英特尔的快捷键可能不起作用.
- sql视图
什么是视图 大家都知道,我们国家现在“神七”上天了.从美国的月球登月开始,人类上天不再是神话.听说,在美国,你只要出几十万美元,您就可以上一次月球进行太空旅行,所以,我们相信:在不久的将来,上天旅行将 ...
- Blocks(闭包)
转自:http://my.oschina.net/joanfen/blog/317644?fromerr=ATWzC3Y2 Block 与传统代码相比较更加轻量,调用简洁方便,而且可以返回多个参数,使 ...
- ARM汇编指令的一些总结-转
ARM汇编指令的一些总结ARM汇编指令很多,但是真正常用的不是很多,而且需要认真琢磨的又更少了.比较有用的是MOV B BL LDR STR还是通过具体汇编代码来学习吧.@ disable watch ...
- BodyContent揭秘及定制复杂的JSP标签
BodyContent揭秘及定制复杂的JSP标签 标签: jspintegerwrapperclass设计模式 2010-08-30 11:30 4555人阅读 评论(0) 收藏 举报 分类: HT ...
- Python3基础 当函数中的局部变量与全局变量同名了,各管各的
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...