php168是一套很完善的php建站系统,但某些情况下,一个完整的站点可能需要百科系统,尤其是行业门户网站;而HDwiki是一套比较良好的百科系统,与互动百科还有着天然的联系(导入分类词条、百科联盟等),对站长来说是很贴心的功能。
一位朋友要建一个行业网站站,正好就是这样的需求;于是初步确定使用php168,而不是使用帝国等,一来对相对不太熟悉,二则它们的后台好像在非IE下有些问题,而php168没有——个人主要在linux下工作,所以……不用讲了。
但PHP168本身没有与hdwiki的接口,直接整合用户,将是一个很有难度的工作。不过它们都有与discuz UCenter的接口插件,这是一件很令人兴奋的事情,让它们全部整合到一个Ucenter上,这就可以完美实现整合。
版本选择。php168使用当前最新的v7sp,Ucenter也是最新,1.5.2,而hdwiki就不用最新的了,因为它好像没有ucenter整合接口插件,所以使用4.1.
全部使用UTF-8编码的版本,否则中文名用户将无法正常登录。
- 先安装php168,管理员账号为admin
- 再安装ucenter,安装完后加一个管理员账号admin,跟php168管理员账号一致(下一步会有用)。
- 在php168后台里 系统功能 - 核心设置 - 整合外部论坛系统,选择‘整合Ucenter’,下面有详尽完善的说明,在此不需细说,php168在后台使用说明上做得实在很细致。
- 再安装hdwiki,管理员名为其默认的webmaster(不要使用admin)。
- hdwiki后台里直接就有安装整合插件的功能,不需要用下载到本地再通过ftp上传到web服务器上。(其实我一般不下载到本地的,都在ssh登录服务器,然后直接在服务器上wget下载,然后解压缩,复制到正确的位置;当然前提是服务器要有ssh);安装并设置Ucenter接口插件,这里有个问题,在ucenter管理后台 – 应用 里,hkwiki显示为“通信失败”,不过照样可以登录成功。可能是因为它是直接使用数据库读取uc用户数据,而非通过http的数据传递。
- 不要退出hdwiki管理员后台,换个浏览器,使用admin登录,登录hdwiki(新注册一个账号),然后在hdwiki管理员后台里把admin用户设置为超级管理员。否则webmaster退出后,就无法登录超级管理员了。(不过如果真的出现这种情况,请见下一步)
- hdwiki整合ucenter后,忘了设置管理员、就退出管理后台,拿admin登录,结果admin显示为普通用户,才想到出问题了。不过不要紧,直接修改数据库,到mysql里打开表`wiki_user`(如果安装hdwiki修改了默认表前缀请自行替换), 里面admin用户的uid为1,就是把该用户的组groupid修改为超级管理员的组名编号4就可以了,执行语句如下(请自行对照是否与你的数据相符)
UPDATE `jju8`.`wiki_user` SET `groupid` = '4' WHERE `wiki_user`.`uid` =1;
如果不出意外,经过这几步,系统就可以完成整合了。
存在问题:hdwiki不能同步登录,可能就是ucenter应用里通信失败所致,这点目前还没有解决。