使用JSPWiki建立自己的Wiki服务

1、准备工作
a)准备JDK和Tomcat
下载JDK和Tomcat并安装,我安装的版本为:j2sdk1.4.2和jakarta-tomcat-5.0.28,tomcat最好安装在根目录下,路经不要有空格。
JDK下载地址:http://java.sun.com/j2se/1.4.2/download.html
Tomcat下载地址:http://jakarta.apache.org/downloads/binindex.html
 
b)准备JSPWiki
下载JSPWiki,包括jspwiki-2.2.33-bin.zip和中文模板StarTemplate_zh_CN_1.0.1.zip。
JSPWiki下载地址:http://jspwiki.org
 
2、部署JSPWiki
拷贝压缩包里的JSPWiki.war到tomcat的webapps下,重命名为你的wiki的名字,比如:mywiki.war
 
3、启动tomcat
通过浏览器输入:http://127.0.0.1:8080/ mywiki, tomcat将开始部署你的wiki,自动在webapps下创建mywiki文件夹,包括jsp文件和配置信息,其中WEB-INF下包含的 jspwiki.properties包括主要的配置信息,可在http://127.0.0.1:8080/ mywiki /Install.jsp 中进行修改。
同时tomcat将自动为你的wiki创建数据文件夹,在linux下是/p/web/www-data/jspwiki,在windows下是D:/p/web/www-data/tomwiki(假设tomcat装在D盘)
 
4、修改JSPWiki配置
可以通过wiki配置页面http://127.0.0.1:8080/ mywiki /Install.jsp,进行配置,也可以通过直接修改文件jspwiki.properties进行配置,配置内容包括:
jspwiki.pageProvider = FileSystemProvider ——页面存储方式。推荐使用VersioningFileProvider,提供简单的版本控制功能
jspwiki.usePageCache = true ——页面缓存,缺省值就是了
jspwiki.fileSystemProvider.pageDir = /p/web/www-data/jspwiki/ ——wiki内容存储的位置,也就是那一堆txt文件所在的位置
jspwiki.encoding = UTF-8 ——如果你想使用中文的话,那么这个配置项前面的注释必须去掉
jspwiki.translatorReader.allowHTML = false ——是否允许wiki里面支持html。
jspwiki.templateDir = default ——wiki的模板。可以到jspwiki上下载模板,放到templates目录下,然后在这里改一下名字就可以了
jspwiki.translatorReader.inlinePattern.1 = *.jpg ——如果想让wiki支持更多的图片格式,在这儿改就是了
jspwiki.lucene.analyzer = org.apache.lucene.analysis.cjk.CJKAnalyzer --支持中文搜索
 
5、使用中文模板
JSPWiki支持使用第三方模板替换掉发布包自带的"defalut"模板;比较流行的有MGR和NexB;使用中文模板库:star_zh_CN. 下载JSPWiki_zh_CN.zip,解压缩
a)将templates/star_zh_CN目录复制到{tomwiki}/templates里。
b)将wikipages目录下的txt文件复制到tomwiki的"wiki网页目录"里。"wiki网页目录"请参照{tomwiki}/WEB-INF/jspwiki.properties文件里的jspwiki.fileSystemProvider.pageDir值。
c)修改{tomwiki}/WEB-INF/jspwiki.properties文件里的jspwiki.templateDir属性的值为star_zh_CN。
d)(重新)启动web服务器。
 
6、JSPWiki中文模板错误:
错误描述:
根据上面步骤完成基本配置后,采用中文模板star_zh_CN,运行Tomcat,打开http://localhost:8080/myWiki/,页面显示正确,但是当点“菜单”和“编辑页面”时报错如下:
 JSPWiki has detected an error
Error Message
org/apache/jsp/templates/star_005fzh_005fCN/commonheader_jsp (wrong name: org/apache/jsp/templates/star_005fzh_005fCN/CommonHeader_jsp)
Exception
javax.servlet.jsp.JspException
Place where detected
com.ecyrd.jspwiki.tags.IncludeTag.doEndTag(), line 74
解决方法:
经过分析和察看JSP源代码,发现是程序代码中文件名引起的错误,修改方法有以下两种:
1)使用文件名commonheader.jsp:
修改目录templates/star_zh_CN中文件名 CommonHeader.jsp为commonheader.jsp;
修改目录templates/star_zh_CN中文件ViewTemplate.jsp内容,把里面的CommonHeader.jsp改为commonheader.jsp。
 
2)使用文件名CommonHeader.jsp:
修改目录webapps/myWiki下的Login.jsp中内容,把commonheader.jsp改为CommonHeader.jsp;
修改目录templates/star_zh_CN中文件EditTemplate.jsp内容,把里面的commonheader.jsp改为CommonHeader.jsp。

 

建立自己的JSPWiki应用——本文讲述如何使用JSPWiki建立一个自己的wiki应用
内容提要
JSPWiki是一个基于文本文件的简易wiki系统包括了身份认证和版本控制功能。完全采用JSP/Sevelet开发,采用UTF-8,能很好的支持中文,可以直接使用中文名作为页面(page)名。是一个简单易用的Wiki引擎。本文将向您展示如何建立一个自己的 JSPWiki 应用。包括改变模板,安装插件以及为你的wiki加入身份认证功能。 您可以到 http://www.jspwiki.org下载程序包和其它插件。
目录
*       [1] 在Tomcat下建立JSPWiki应用
*       [2] 更换模板
*       [3] 安装插件
*       [4] 使用身份认证功能
Tomcat 下建立 JSPWiki 应用 [#1]
1.      下载JSPWiki(我使用的是2.2.28),解压缩,把jspwiki.war直接Copy到Tomcat下面webapps目录下
2.      启动tomcat,JSPWiki.war会自动解压缩到webapps目录下
3.      到JSPWiki/webinf目录下面修改jspwiki.properties文件,作如下修改

  jspwiki.fileSystemProvider.pageDir = C://temp//jspwiki
  jspwiki.basicAttachmentProvider.storageDir = C://temp//jspwiki
  log4j.appender.FileLog.File = C://temp//jspwiki.log

4.      可以运行http://127.0.0.1:8080/JSPWiki/Install.jsp帮助完成上述配置 ,为了能够在wiki中使用HTML需要修改 jspwiki.properties,把allowHTML 选项打开

  jspwiki.translatorReader.allowHTML =  true

更换模板 [#2]
1.      下载模板redman,并且解包到tomcat_home/webapps/JSPWiki目录下的template的目录下,目录名称应该就是redman
2.      修改jspwiki.propertiest文件,把

  jspwiki.templateDir =  default

改成

   jspwiki.templateDir = redman

安装插件 [#3]
安装 java2html 插件
1.      下载java2html插件
2.      把下载下来的java2html.jar拷贝到 tomcat_home/webapps/JSPWiki/WEB-INF/lib目录下
3.      修改 jspwiki.propertiest文件

jspwiki.plugin.searchPath = de.java2html.plugin.jspwiki

安装 PDF 插件
1.      首先需要下载其它组件。下载 Apache FOP 并解包把avalon-framework.jar (或者其他版本,比如:avalon-framework-cvs-20020806.jar)、batik.jar、fop.jar拷贝到WEB-INF/lib下;下载 jTidy 并解包,拷贝Tidy.jar to WEB-INF/lib目录下;下载 JIMI 并解包,把JimiProClasses.zip拷贝到WEB-INF/lib/目录并改名为JimiProClasses.jar.
2.      在 jspwiki 下载pdf插件
3.      把下载下来的wikipdf.jar拷贝到 tomcat_home/webapps/JSPWiki/WEB-INF/lib目录下
4.      修改 tomcat_home/webapps/JSPWiki目录下Web.xml文件,增加下面的内容

 <servlet>
     <servlet-name>Wiki2PDFServlet</servlet-name>
     <servlet- class>se.eminds.jspwiki.Wiki2PDFServlet</servlet- class>
 </servlet>
 
 <servlet-mapping>
     <servlet-name>Wiki2PDFServlet</servlet-name>
     <url-pattern>/wiki.pdf</url-pattern>
 </servlet-mapping>

5.      修改templates/default/ViewTemplate.jsp文件,加入下面的内容

 <a href="wiki.pdf?page=<wiki:Variable var="pagename" />&ext=.pdf">View PDF</a> 

注意: 修改jspwiki.propertiest文件时,"="后面的变量值后面不能有多余的空格或者tab,否则JSPWiki无法正常读取配置文件导致改动没有效果。
使用身份认证功能 [#4]
1.      修改jspwiki.properties文件,加入下面的内容:

jspwiki.authenticator = FileAuthenticator

  jspwiki.fileAuthenticator.fileName = /tmp/passwords.txt

  jspwiki.auth.useOldAuth= true

# Add the following line authorize all users

  jspwiki.policy.strictLogins =  true

2.      编辑对应的password.txt文件加入合法用户,例如:


# The format is simply username = password
  # No encryption is used currently.
  # Comments are allowed; prepend with hash.

  ebu = foobar
  ubi = frobozz

3.      设置全部页面的默认访问权限,增加一个DefaultPermissions页面,包含下面的内容
[{SET defaultpermissions='ALLOW view Guest;DENY edit Guest;ALLOW edit KnownPerson'}]
4.      管理员用户组。可以在jspwiki.propertiest文件中指定管理员用户组的名称,如:

jspwiki.auth.administrator = WikiAdmin

5.      那么默认的管理员用户组被命名为WikiAdmin,然后可以创建WikiAdmin页面加入成员,下面指令可以在WikiAdmin中加入JackJones,JillJones两个用户
[{SET members='JackJones, JillJones'}]
6.      如果需要设置单独页面的访问权限,可在页面内容前面加上访问规则,例如:
[{ALLOW view Guest}] [{DENY edit Guest}] [{ALLOW edit ebu, ubi}]
7.      如果需要增加一个用户组Xyz,增加一个Xyz的页面,加入下面的指令
[{SET members='Foo, Bar'}] }]
注意: JSPWiki有几个默认的用户组。
   任何一个访问wiki的用户都属于Guest用户组;
   任何一个使用user prefenrences设置了用户名的用户都属于NamedGuest用户组;
   所有通过了身份认证的用户属于KnownPerson用户组。
注意: 目前的身份认证处理方式是临时的。
   目前的身份认证方式是临时的,到2.4以上的版本会改变。目前权限规则实现有问题, 必须使用管理员用户组。因为加上了禁止guest访问
的权限管理规则后,除了管理员外所有用户都无法编辑wiki。 如果希望一个用户有wiki的编辑权限,别忘了把他加到管理员用户组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值