这两天公司要把数据库的密码修改一下,之后openfire的数据库连接也需要改,但是改之后openfire的后台就怎么也登陆不上了,把数据库中的密码反编译之后密码也没有错误,之后想办法重置了一下密码,方法如下:
找到openfire的安装目录,这里是/opt/openfire,在安装目录下的conf文件夹中找到openfire.xml文件,打开,这里截取关键部分
openfire.xml
<jive>
<adminConsole>
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<locale>zh_CN</locale>
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<testSQL>select 1</testSQL>
<testBeforeUse>false</testBeforeUse>
<testAfterUse>false</testAfterUse>
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<setup>true</setup>
</jive>
在这个xml文件中,记录了对于openfire的一些设置,比如数据库连接,用户名,密码等等,
我们要对其稍加修改
1、在<jive>节点下加入如下内容:
<admin>
<authorizedUsernames>userName</authorizedUsernames>
</admin>
其中,authorizedUsernames节点中的userName为需要重置密码的用户名,我这里是admin
2、把setup中的值设置为false,让openfire再次启动后台时,进行配置
这样,修改完的openfire.xml文件如下:
<jive>
<admin>
<authorizedUsernames>admin</authorizedUsernames>
</admin>
<adminConsole>
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<locale>zh_CN</locale>
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<testSQL>select 1</testSQL>
<testBeforeUse>false</testBeforeUse>
<testAfterUse>false</testAfterUse>
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<setup>false</setup>
</jive>
修改完openfire.xml后,保存,重启openfire服务,再次访问openfire的9090端口,重新配置就好了
其实,什么都不用配置,都是一直点继续就可以,只要等到最后输入密码那里才需要配置