以下为openfire 3.9.2+myeclipse为背景
1.下载源码之后导入myeclipse
对着build文件夹中的build点右键-build,用ant方式build:
之后就可以在源码目录下看到target和work两个目录了
2.运行
运行分为两个部分,第一种是在myeclipse中运行(这种方式可以debug),第二种是在刚才build出来的target目录下执行运行命令
2.1在myeclipse中运行
在myeclise中运行需要设置几个参数:
进入run configurations的设置界面:
选择java application,然后在main中填写 main class为:org.jivesoftware.openfire.starter.ServerStarter
之后还要修改 Arguments:
在VM arguments中填写:
-DopenfireHome="${workspace_loc:openfire}/target/openfire"
最后需要在Common中将run和debug都打上勾:
这样就完成了,点击run即可运行openfire,运行完毕后,就可以在浏览器界面输入:
进行openfire的初始化
2.2 在target目录下运行openfire:
在target目录下有一个openfire的目录,进去后的bin目录下有一个openfire.bat文件,双击即可运行openfire
3.openfire的初始化配置
进入openfire初始化配置界面:
①选择语言:继续
②服务器设置,域那一栏填写服务器的IP地址:
③数据库设置:选择标准数据库连接:
④设置数据库连接方式:(oracle的需要加载ojdbc驱动,需要额外放到target下面的lib文件夹下)
⑤设置openfire的数据库用户和组,选择初始设置
⑥管理员账户,可以直接跳过这一步:
⑦设置完成
可以登录到管理控制台
4.进行openfire和oracle的连接
两种方式进行修改openfire的数据库连接,第一种是在web前端,第二种是在后台数据库的表中
4.1web前端修改
在openfire的首页界面:服务器-服务器管理器-系统属性:
新增一下几个属性名和属性值:
特别注意的是,
jdbcProvider.connectionString设置为:
jdbc:oracle:thin:LMMS/LMMS@192.168.140.65:1521:ORA10G
还要配置一个管理员帐号:
管理员帐号需要设置成oracle表中的用户@服务器名的形式,如上所示,这时候的管理员的登录帐号是admin,密码为123
将这些属性设置完后,还要修改openfire的数据源获取方式:
将以下两个属性名修改成后面的属性值即可
设置完后,重启openfire,用admin和密码123登录
就可以看到oracle中整合的用户:
4.2直接从后台服务器进行sql的语句插入
INSERT INTO ofproperty(NAME,propValue)VALUES
('admin.authorizedJIDs','admin@192.168.35.169'),
('jdbcAuthProvider.passwordSQL','select''123''as pwd from t_user where account=?'),
('jdbcAuthProvider.passwordType','plain'),
('jdbcProvider.connectionString','jdbc:oracle:thin:lmms/lmms@192.168.140.65:1521:ORA10G'),
('jdbcProvider.driver','oracle.jdbc.driver.OracleDriver'),
('jdbcUserProvider.allUsersSQL','select account from t_user'),
('jdbcUserProvider.emailField','email'),
('jdbcUserProvider.loadUserSQL','select name,email from t_user where account=?'),
('jdbcUserProvider.nameField','name'),
('jdbcUserProvider.userCountSQL','select count(*) from t_user'),
('jdbcUserProvider.usernameField','account');
('jdbcAuthProvider.useConnectionProvider', 'true');
UPDATE ofProperty SET propValue='org.jivesoftware.openfire.user.JDBCUserProvider'
WHERE
NAME='provider.user.className';
UPDATE ofProperty SET propValue='org.jivesoftware.openfire.auth.JDBCAuthProvider'
WHERE
NAME='provider.auth.className';
然后重启openfire服务器即可