背景无用赘述,主要解决文档协作编辑。
基础环境准备
- 系统环境:CentOS Linux release 7.2.1511 (Core) 。使用
cat /etc/redhat-release
命令查看。 - 运行环境:
- tomcat:
下载wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.43/bin/apache-tomcat-8.0.43.tar.gz
解压tar -xzf apache-tomcat-8.0.43.tar.gz
- java
yum -y install java-1.8.0-openjdk
- 中文字体库
yum install autocorr-zh.noarch libreoffice-langpack-zh-Hans.x86_64 libreoffice-langpack-zh-Hant.x86_64
- xwiki
wget http://download.forge.ow2.org/xwiki/xwiki-enterprise-web-9.2.war
- tomcat:
操作步骤
-
tomcat相关
- 放置war包:在tomcat下的webapps目录下,创建xwiki目录,并将xwiki-enterprise-web-9.2.war拷贝到该目录下(命令行下使用
cp
进行拷贝);使用unzip xwiki-enterprise-web-6.3.war
进行解压。 -
修改server.xml:
<Connector port="8092" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/css,text/javascript,application/x-javascript"/>
- 放置war包:在tomcat下的webapps目录下,创建xwiki目录,并将xwiki-enterprise-web-9.2.war拷贝到该目录下(命令行下使用
-
数据库相关
-
下载MariaDB,并启动
yum install mariadb-server -y
systemctl start mariadb.service
systemctl enable mariadb.service -
配置MariaDB
推荐使用InnoDB存储引擎-
配置字符集
查看/etc/my.cnf
文件内容,其中包含一句!includedir /etc/my.cnf.d
说明在该配置文件中引入/etc/my.cnf.d
目录下的配置文件。-
使用
vi server.cnf
命令编辑server.cnf
文件,在[mysqld]
标签下添加init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake如果
/etc/my.cnf.d
目录下无server.cnf
文件,则直接在/etc/my.cnf
文件的[mysqld]
标签下添加以上内容。 - 用
vi client.cnf
命令编辑/etc/my.cnf.d/client.cnf
文件,在[client]
标签下添加default-character-set=utf8
- 用
vi mysql-clients.cnf
命令编辑/etc/my.cnf.d/mysql-clients.cnf
文件,在[mysql]
标签下添加default-character-set=utf8
配置完成后 systemctl restart mariadb 重启服务
-
创建数据库
create database xwiki default character set utf8 collate utf8_bin;
grant all privileges on xwiki.* to xwiki identified by 'xwiki,./';
flush privileges;- 下载MySQL JDBC Driver
在/webapps/xwiki/WEB-INF/lib
目录下执行wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar
-
配置/webapps/xwiki/WEB-INF/hibernate.cfg.xml
将默认配置的给注释掉,然后将MySQL那一段去掉注释。一定要把用户名和密码换成本地的
<!-- 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="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</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"/>
-
-
-
Office Server
- 下载
yum install libreoffice libreoffice-headless
- 编辑xwiki.properties
openoffice.autoStart=true
openoffice.homePath=/usr/lib64/libreoffice/
- 下载
-
管理附件
默认情况下,XWIKI使用数据库存储附件,上传的附件最大为30M左右,同时MySQL的配置文件
my.cnf
中要设置max_allowed_packet
为最大值的3倍左右,因为存储历史版本也会耗费空间
使用文件系统存储可以上传更大的附件,XWIKI使用一个临时目录来存储从数据库中调出的图片或附件。
附件的存储目录在xwiki.properties
中设定,不可以随意增加或删除这个目录下的内容,因为每个附件在数据库中都有相应的元数据
#-# Note if the system property xwiki.data.dir is set then this property is not used.
#-# If neither the system property nor this configuration value here are set then the Servlet container's temporary
#-# directory is used; This is absolutely not recommended since that directory could be wiped out at any time and you
#-# should specify a value.
environment.permanentDirectory=/data/xwiki/最好在第一次运行XWIKI的时候就设定好附件的存储方式
在xwik.cfg文件中设置xwiki.store.attachment.hint=file
xwiki.store.attachment.versioning.hint=file
xwiki.store.attachment.recyclebin.hint=file