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.fileSystemProvider.pageDir = C://temp//jspwiki
jspwiki.basicAttachmentProvider.storageDir = C://temp//jspwiki log4j.appender.FileLog.File = C://temp//jspwiki.log |
jspwiki.translatorReader.allowHTML =
true
|
jspwiki.templateDir =
default
|
jspwiki.templateDir = redman
|
jspwiki.plugin.searchPath = de.java2html.plugin.jspwiki
|
<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> |
<a href="wiki.pdf?page=<wiki:Variable var="pagename" />&ext=.pdf">View PDF</a>
|
jspwiki.authenticator = FileAuthenticator
jspwiki.fileAuthenticator.fileName = /tmp/passwords.txt jspwiki.auth.useOldAuth= true # Add the following line authorize all users jspwiki.policy.strictLogins = true |
# The format is simply username = password # No encryption is used currently. # Comments are allowed; prepend with hash. ebu = foobar ubi = frobozz |
[{SET defaultpermissions='ALLOW view Guest;DENY edit Guest;ALLOW edit KnownPerson'}]
jspwiki.auth.administrator = WikiAdmin
|
[{SET members='JackJones, JillJones'}]
[{ALLOW view Guest}] [{DENY edit Guest}] [{ALLOW edit ebu, ubi}]
[{SET members='Foo, Bar'}] }]