更新时间:2016年11月9日 00:18:27
博主的安装环境
物理机: Win7 SP1 64位 ip:192.168.111.1 (用于安装spark 2.8.1)
VM虚拟机: CentOS 6.5 32位 ip:192.168.111.133 (NAT方式,用于安装openfire 4.0.3)
开始安装openfire
官方下载地址:
http://www.igniterealtime.org/downloads/download-landing.jsp?file=openfire/openfire-4.0.3-1.i386.rpm
#---------别看我,看下面的命令----------#
#博主这里放到src下面
cd /usr/local/src
wget http://www.igniterealtime.org/downloads/download-landing.jsp?file=openfire/openfire-4.0.3-1.i386.rpm
rpm -ivh openfire-4.0.-.i386.rpm
#等执行完后开启openfire
/etc/init.d/openfire start
下面才开始真正的安装,进入web安装界面:http://localhost:9090
博主这里就想用物理机访问该WEB界面来安装openfire,结果发现地址无法访问!
需要先关闭centos的防火墙/或者允许9090端口
#方法1:直接关闭防火墙
service iptables stop
#方法2:添加规则 允许9090端口
/sbin/iptables -I INPUT -p tcp --dport -j ACCEPT
/etc/init.d/iptables save
service iptables restart
win7成功访问虚拟机9090端口,进入WEB界面继续安装openfire。
以下直接看图吧
建议安装英文版,因为官方文档是英文的,中文版可能翻译不到位,出错了也更好搜原因
如果这里写默认的127.0.0.1,将导致后面windows上客户端登录不上(你可以将myimserver修改成你的)
这里博主选择的mysql,在点击continue之前,这里需要先安装好mysql,创建好数据库,数据表
安装mysql:
博主这里就直接yum安装下
yum -y install mysql-server mysql
mysql 版本为5.1.73,root默认密码也为root
下面 创建openfire所需数据库和数据表
rpm安装openfire后,sql脚本默认位置:/opt/openfire/resources/database/
#先创建openfire数据库
mysqladmin create openfire -uroot -proot
#创建数据表
cd /opt/openfire/resources/database
cat openfire_mysql.sql | mysql openfire -uroot -proot
报错了!虽然官方文档说的是mysql 4.1.18之前会有这个问题!
Character fields larger than 255 are not supported by versions prior to MySQL 4.1.18. If you cannot upgrade MySQL to the latest version, you will then need to change the database scripts. In particular, replace VARCHAR(1024) with VARCHAR(255) in the resources/database/openfire_mysql.sql script.
#附上几个mysql的命令,注意执行顺序和末尾的分号 #连接mysql,进入mysql交互模式
mysql -uroot -proot
#创建数据库openfire
create database openfire;
#使用openfire数据库
use openfire;
#从sql文件导入sql命令
sourece openfire_mysql.sql
#删除数据库openfire
drop database openfire;
导入失败时,需要删掉所有数据表,再次导入(这里最好还是使用phpmyadmin操作,更加方便查看错误信息)!
几经周折,把varchar(1024)替换成varchar(200),再将200替换成190,最终执行成功!(博主提供的打包下载中有修改好的.sql文件)
终于绕回来了,继续安装openfire!!!
Database URL:
jdbc:mysql://127.0.0.1:/openfire?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
蓝色部分: 可以修改成你实际的ip,端口,数据库名字
红色部分:启用mysql unicode支持,设置字符集编码为UTF-8,结果集字符编码为UTF-8
默认帐号密码都为admin
到此,服务端终于安装成功了!
英文不好看,可以在这里修改成中文
开始安装客户端
安装客户端spark,我这里在win7上面安装,一路下一步,没什么好说的,就省略了吧...
打开客户端准备登录,发现还没有帐号,好吧,回到服务端先创建个用户,帐号密码都为test
点击服务器->服务器管理->系统属性页面,有我们之前设置的domain的值(页面最下面),博主这里在安装的时候改成了myimserver
关于登录界面上的域名,输入上图中设置的值,博主这里是myimserver
刚开始的时候博主安装好客户端却一直登录不上,域名不知道填什么,折腾好一会还是去官网找到了答案.
You have to use your Openfire's domain name as a server in the client. Spark currently has no visual GUI to let your add an exception like internet browsers do, so it silently drops the connection. There are two ways:
DNS - the best way is to have some sort of DNS and add an entry there, which should point myimserver name to that PC. Say CNAME or HOST A "myimserver' pointing to 192.168.1.1. DNS is better, because if server's IP changes, you don't have to change settings on every client. You just modify the DNS entry.
If you don't know what DNS is, can't modify it, etc. You can put myimserver as a Server on Spark's login screen, then press Advanced button, uncheck Automatically detect host and port. Put 192.168.1.1 into Host field. Make sure that Accept all certificates is checked (this option allows usage of self-signed certificates, which are default ones generated by Openfire). Press OK. Try to login.
解决办法有3个:
方法一:修改DNS记录,要能通过domain找到服务端ip,那就是修改hosts (如果有已备案的域名那更好了)
方法二:在登录界面点高级,按下图进行修改
方法三:用老版本的客户端 Spark2.7.7
有兴趣的朋友可以 查看原文
如果用第一种方法,需要修改hosts,C:\Windows\System32\drivers\etc\hosts(win7系统下的路径)
把192.168.111.133改成你的服务端ip地址就行了,然后成功登录上客户端!!
参考:
【openfire 官方】
Login issues since Spark 2.8.0
【*】
http://*.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes/
http://*.com/questions/28932281/what-is-wrong-with-my-sql-here-1089-incorrect-prefix-key
版权申明:转载请注明出处