国内xwiki安装使用资料较少,根据自己使用xwiki经验,总结出来,供参考,同时希望感兴趣的朋友能够一起讨论,XWiki是一个强大的Java开源的Wiki引擎。
它支持一些受欢迎的特性如:(内容管理(浏览/编辑/预览/保存),支持附件,版本控制,全文本搜索,权限管理使用hibernate进行数据存储,RSS输出与显示外部的RSS feeds,多语言支持,提供XML/RPC的API,WYSIWYG HTML编辑器,导出为PDFGroovy脚本支持等等)
环境准备
MySQL(已经安装,不扯蛋了)
apache-tomcat-7.0.42-windows-x64.zip
xwiki-enterprise-web-6.2.2.war
xwiki-enterprise-ui-mainwiki-all-6.2.2.xar
xwiki下载地址 http://enterprise.xwiki.org/xwiki/bin/view/Main/Download
使用Tomcat服务器和mysql数据库
把xwiki-enterprise-web-6.2.2.war 放到 $TOMCAT_HOME/webapps 下 启动tomcat,待war包全部解压完成后关闭tomcat,并删除war包;
1:修改xwiki.cfg,开启superadmin;
[java] view plain copy print?
#-# Enable to allow superadmin. It is disabled by default as this could be a
#-# security breach if it were set and you forgot about it. Should only be enabled
#-# for recovering the Wiki when the rights are completely messed.
xwiki.superadminpassword=system
2:修改hibernate.hbm.xml,启动mysql数据库连接;
[java] view plain copy print?
<!-- Configuration for the default database.
Comment out this section and uncomment other sections below if you want to use another database.
Note that the database tables will be created automatically if they don't already exist.
<property name="connection.url">jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki_dbshutdown=true</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<mapping resource="xwiki.hbm.xml"/>
<mapping resource="feeds.hbm.xml"/>
<mapping resource="activitystream.hbm.xml"/>
<mapping resource="instance.hbm.xml"/>
-->
<!-- MySQL configuration.
Uncomment if you want to use MySQL and comment out other database configurations.
-->
<property name="connection.url">jdbc:mysql://localhost/xwiki</property>
<property name="connection.username">xwiki</property>
<property name="connection.password">xwiki</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="dbcp.ps.maxActive">20</property>
<mapping resource="xwiki.hbm.xml"/>
<mapping resource="feeds.hbm.xml"/>
<mapping resource="activitystream.hbm.xml"/>
<mapping resource="instance.hbm.xml"/>
需要在mysql中建立数据库xwiki,且授予相关的权限:
[java] view plain copy print?
create database xwiki default character set utf8
grant all privileges on xwiki.* to xwiki@localhost identified by "xwiki"
安装过程中出现的问题
1:中文乱码的解决($TOMCAT_HOME/conf/server.xml该文件下Connector节中增加URIEncoding="UTF8")
[java] view plain copy print?
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
2:java.lang.OutOfMemoryError(在$TOMCAT_HOME/bin/catalina.bat中增加) 183行前
[java] view plain copy print?
set JAVA_OPTS=-Xms256m -Xmx768m -XX:PermSize=256m -XX:MaxPermSize=768m -Djava.awt.headless=true
内存溢出之Tomcat内存配置 http://blog.csdn.net/crazy_kis/article/details/7535932
Linux下:
[java] view plain copy print?
JAVA_OPTS='-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -Djava.awt.headless=true'
3:java.sql.BatchUpdateException: Packet for query is too large (1808035 >1048576)
修改MySQL/MySQL Server 5.5/my.ini
[java] view plain copy print?
[mysqld]
max_allowed_packet = 10M
# The TCP/IP Port the MySQL Server will listen on
port=3306
把mysql的驱动包放到$TOMCAT_HOME/lib下
启动tomcat,并访问localhost:8080/xwiki;
按照安装向导一步步的完成安装
1:
2:
3:
4:
5:
6: 后台登陆 superadmin/system,设置中文
通过sql查询语句:SELECT doc.XWD_TITLE FROM xwikidoc AS doc WHERE doc.XWD_FULLNAME = 'Main.WebHome'
在一个Hibernate查询,你可以使用相同的名称作为get方法(会将方法去掉get并且将第一个字母小写),等同于HQL查询语句:
SELECT doc.title FROM chaodiquan.com AS doc WHERE doc.fullName = 'Main.WebHome'
因为XWD_TITLE映射为getTitle()(去除get以及第一字母小写,即title)
以下所有表构成XWiki数据库schema。简单的介绍一下该schema下的表,可以给你一个线索了解底层系统如何工作。粗略地说,为了支持动态定义的数据类型, 文档(documents)的元数据被存储在一个表, 对象被存储在另一个表中,然后将对象属性(properties)的值被存储在各自表(如xwikifloats、xwikiintegers)里,取决于属性的类型(如doubles、integers等)
注意,不同于mysql的数据库可能会有轻微的差异,但如果是这样的话,他们还没有被记录在案 不同的问题不同的答案 这个问题有点太笼统了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)