【说明】
JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多数据库等等特性。
JForum采用的是BSD 开源协议,你可以最大限度的进行任何修改和扩展,包括商业用途,更多信息请参考官方主页: http://jforum.net
本文在2.1.9稳定版基础上进行了一系列的优化测试与基础美化并将源码提供给对JAVA开源论坛感兴趣的朋友,部分修复的BUG包括:
1. 添加国际化属性
2. 修复搜索解析错误
3. 修复在线用户列表重复错误
4. 修改会员列表排序方式
5. 解决搜索及显示乱码问题
6. 添加SSO单点登录支持(默认关闭)
7. 替换部分英文图片
8.修复不显示发帖按钮的问题
9. 修改主页面板块信息显示
10. 修复mysql建表语句错误
11.基础美化及其他bug修改...
论坛源码下载: http://download.csdn.net/detail/u013628908/6915125
【安装】
1. 数据库
1.1 安装数据库(以MySQL5.6为例 安装过程略)
1.2 创建编码为UTF-8的jforum数据库并分配用户权限
CREATE DATABASE jforumDEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON *.*TO jforum_user@localhost IDENTIFIED BY 'my_password' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.*TO jforum_user@"%" IDENTIFIED BY 'my_password' WITH GRANT OPTION;
flush privileges;
1.3 执行数据结构以及数据脚本:
1.3.1 测试论坛自定义脚本
/WEB-INF/config/database/mysql/jforum.sql
1.3.2 论坛初始化脚本
/WEB-INF/config/database/mysql/mysql_db_struct.sql
/WEB-INF/config/database/mysql/mysql_data_dump.sql
*注意:1.3.1与1.3.2执行其一即可 1.3.1为1.3.2的自定义数据脚本
2. 配置文件
2.1 修改数据库配置文件
/WEB-INF/config/database/mysql/mysql.properties
主要修改项:
△ database.connection.username(数据库用户名)
△ database.connection.password(数据库密码)
2.2 修改论坛全局配置(以Tomcat7040为例 部署过程略)
/WEB-INF/config/SystemGlobals.properties
主要修改项:
△ forum.link (论坛链接以http://localhost:8080/JForumBBS/为例)
△ homepage.link (主页地址同forum.link)
△ i18n.board.default (语言环境设置为zh_CN)
△ database.driver.name (数据库驱动类型设置为mysql)
△ dateTime.format (日期格式设置为yyyy/MM/dd HH:mm:ss)
△ agreement.default.file (协议默认文件设置为terms_zh_CN.txt)
△ lucene.indexer.db.fetch.count(数据库索引范围)
△ captcha.registration (注册验证码true为开启 false为关闭开启后验证码大小写敏感)
△ captcha.posts (发帖验证码true为开启 false为关闭开启后验证码大小写敏感)
△ default.container.encoding* (如果%TOMCATHOME%/conf/server.xml已添加编码属性URIEncoding="UTF-8"则此处同样也设置为UTF-8反之保持默认)
3. 开始使用
测试论坛直接访问:
http://localhost:8080/JForumBBS/forums/list.page
系统管理员: Admin/admin
重新安装访问(测试论坛无需重新安装):
http://localhost:8080/JForumBBS/jforum/install.jsp
4. 论坛管理说明
4.1 添加版面分类
系统管理员登录-进入后台管理-系统管理-论坛管理-版面分类
选择”建立新分类”可增加分类
“选择允许存取此新增分类的会员群组”为选择版面可见的群组 可多选影响分组权限
删除版面分类须先删除分类下所有版块
4.2 添加版块
系统管理员登录-进入后台管理-系统管理-论坛管理-版面管理
选择”新建版面”可增加版块
“分类”为新建版块所属版面分类
“权限”为选择版块可见群组可多选影响分组权限
4.3 部分权限说明
系统管理员登录-进入后台管理-系统管理-论坛管理-会员分组
选择”建立新群组”可定义新权限分组 选择”上层群组”为母分组 其他为子分组
版主权限方案: 将所有版块定义为单独权限分组并自定义相关权限
*注意:添加新版块请更新权限设置
安全性-权限:
△ 越级管理员:
决定此分组是否拥有进入后台管理的权限
△ 分类管理
决定此分组是否可以浏览相关分类(可多选 除允许全部外选中为否)
△ 板块
决定此分组是否可以浏览相关板块(可多选除允许全部外选中为否)
△ 匿名发帖
决定此分组在当前板块是否可以匿名发帖(可多选除允许全部外选中为否)
△ 只允许回复
决定此分组在当前板块是否不许发帖只许回复(可多选除允许全部外选中为是)
△ 只读板块
决定此分组在当前板块是否只读(可多选 除允许全部外选中为是)
△ 限制回复
决定此分组在当前板块是否限制回复(可多选除允许全部外选中为是)
△ HTML标签
决定此分组在当前板块是否允许使用HTML标签(可多选 除允许全部外选中为否)
△ 附件相关
决定此分组在当前板块是否可以使用下载附件(可多选 除允许全部外选中为否)
△ 版主—不能修改的论坛
决定此分组在当前板块是否可以进行管理(可多选除允许全部外选中为否)
4.4 权限分配
系统管理员登录-进入后台管理-系统管理-论坛管理-会员管理
选择”添加”可注册新会员
群组:所属“群组名称”可多选
4.5 论坛搜索
论坛使用Lucene作为搜索框架 如果中文搜索结果为空 请确保jforum数据库字符集为utf8 后参照2.2主要修改项最后一项进行修改
如果重启服务后旧帖子无法被搜索到 请进入后台管理-系统管理-论坛管理-Lucene统计选中”从无到有重建索引”进行索引重建文章代号为数据库中帖子编号
4.6 其它
4.6.1 关闭安装模块
默认论坛的安装模块为启用状态允许任何用户重新安装目前已经安装的论坛系统
要解决这个问题打开文件
/WEB-INF/config/modulesMapping.properties
并删除名称为 "install" 的键值 然后进入后台管理-系统管理-论坛管理-缓存然后选择该模块的”重新载入”选项
4.6.2 限制匿名发帖
论坛默认匿名用户可以发帖 要限制这个操作首先需建立一个匿名用户组(参照4.3)然后给这个用户组指派不允许在所有版块发帖的权限 然后将论坛自动创建的匿名Anonymous用户放到这个组中(参照4.4)
4.6.3 越级管理员
如果将4.3中越级管理员权限设为否 该权限分组将无法进入后台管理界面 解决办法:
1. 查询jforum_groups表获得该权限分组的group_id
2. 在jforum_roles表中新插入一条记录 将越级管理员perm_administration(name字段)权限授予该分组group_id(role_id为自增长主键)
4.6.4 部分主要模块页路径及通用查找方法
%FILE_HOME% = %TOMCAT_HOME%\webapps\JForumBBS\templates\default
主页头部: %FILE_HOME%\header.htm
主页: %FILE_HOME%\forum_list.htm
二级页面: %FILE_HOME%\forum_show.htm
主题内容: %FILE_HOME%\post_show.htm
回帖: %FILE_HOME%\post_form.htm
发帖: %FILE_HOME%\post_form.htm
热门主题: %FILE_HOME%\hottest_thread.htm
最新主题: %FILE_HOME%\recent_thread.htm
会员列表: %FILE_HOME%\user_list.htm
会员注册: %FILE_HOME%\user_new.htm
登录: %FILE_HOME%\forum_login.htm
搜索: %FILE_HOME%\search.htm
搜索结果:%FILE_HOME%\search_result.htm
例:http://localhost:8080/JForumBBS/user/login.page
由%FILE_HOME%\WEB-INF\config\templatesMapping.properties文件中
查得:user.login = user/login = forum_login.htm = user/login.page