环境介绍
http://aiushtha-mybook.stor.sinaapp.com/xwiki/xwiki%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%90%E7%94%A8.html xwiki从入门到运用
本文在centos7上使用jdk1.8 ,tomcat容器安装 xwiki 11.1 版本,并将confluence数据迁移到xwiki中。
在初始化xwiki的时候会安装flavor,使得xwiki页面有各种模块,由于网络问题,我选择离线安装flavor包,若要在线安装flavor可省去xwiki-platform-distribution-flavor-xip-11.1.xip的相关步骤。
数据库安装配置
yum install mariadb-server mariadb mysql-connector-java -y
cp /usr/share/java/mysql-connector-java.jar /usr/local/xwiki-tomcat/webapps/xwiki/WEB-INF/lib
修改mysql路径(此文将数据库与xwiki的主目录放在 /data下,方便以后的备份与恢复)
cat /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[client]
socket=/data/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
创建mysql目录并授权
mkdir /data/mysql -p
chown mysql. /data/mysql
systemctl start mariadb
建库授权
create database xwiki default character set utf8 collate utf8_bin;
grant all privileges on xwiki.* to xwiki@'localhost' identified by 'xwiki';
flush privileges;
xwiki安装配置
首先安装好jdk1.8与tomcat,与mysql数据库。
tomcat主目录为/usr/local/xwiki-tomcat/
xwiki主程序包;flavor包
cd~
wget http://nexus.xwiki.org/nexus/content/groups/public/org/xwiki/platform/xwiki-platform-distribution-war/11.1/xwiki-platform-distribution-war-11.1.war
wget http://nexus.xwiki.org/nexus/content/groups/public/org/xwiki/platform/xwiki-platform-distribution-flavor-xip/11.1/xwiki-platform-distribution-flavor-xip-11.1.xip
mkdir /usr/local/xwiki-tomcat/webapps/xwiki
unzip ~/xwiki-platform-distribution-war-11.1.war -d /usr/local/xwiki-tomcat/webapps/xwiki
数据库连接配置,注释掉 Configuration for the default database 默认配置,替换为新的连接信息
vim /usr/local/xwiki-tomcat/webapps/xwiki/WEB-INF/hibernate.cfg.xml
<property name="connection.url">jdbc:mysql://127.0.0.1/xwiki?useSSL=false</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="hibernate.connection.charSet">UTF-8</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<property name="dbcp.poolPreparedStatements">true</property>
<property name="dbcp.maxOpenPreparedStatements">20</property>
<mapping resource="xwiki.hbm.xml"/>
<mapping resource="feeds.hbm.xml"/>
<mapping resource="eventstream.hbm.xml"/>
<mapping resource="instance.hbm.xml"/>
<mapping resource="notification-filter-preferences.hbm.xml"/>
<mapping resource="mailsender.hbm.xml"/>
设置字符集,为节省空间还可以开启压缩功能。
vim /usr/local/xwiki-tomcat/conf/server.xml
<Connector port="8080" 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"/>
修改xwiki工作目录
vim /usr/local/xwiki-tomcat/webapps/xwiki/WEB-INF/xwiki.properties
environment.permanentDirectory=/data/local/xwiki/
将xwiki-platform-distribution-flavor-xip-11.1.xip改名为zip后缀,解压到 ${environment.permanentDirectory}/extension/repository/下
mkdir /data/local/xwiki/extension/repository -p
mv ~/xwiki-platform-distribution-flavor-xip-11.1.xip ~/xwiki-platform-distribution-flavor-xip-11.1.zip
unzip ~/xwiki-platform-distribution-flavor-xip-11.1.zip -d /data/local/xwiki/extension/repository
(此处因为xwiki默认也有一个repositoy,我将flavor包也解压了一份到/usr/local/xwiki-tomcat/work/Catalina/localhost/xwiki/extension/repository,但是这里应该没用到,这个目录应该是environment.permanentDirectory=/data/local/xwiki/参数未打开时的默认目录)
tomcat起服务
cd /usr/local/xwiki-tomcat/bin
./startup.sh
wiki初始化
访问url http://ip:8080/xwiki
此处选择标准安装,若在线安装,初始化步骤一样,就是这里的安装速度会很慢
到这里就完成了xwiki的安装
汉化
部分汉化:wiki语言选择中文
全汉化:https://blog.csdn.net/sunlight96/article/details/82684437
该文件转码后,需要编辑该文件,将你需要中文展示的地方翻译成中文(翻译量很大,建议部分汉化就可以)之后再转码回去。我尝试了一下,没成功,应该是我用了网页转码的问题。
导入数据
http://extensions.xwiki.org/xwiki/bin/view/Extension/Filter+Confluence+XML+module
安装扩展
由于我要导入confluence的数据,需要在xwiki上装上扩展: Filter Streams Converter Application与 Confluence XML
安装 Confluence XML
安装Filter Streams Converter Application
由于安装版本是11.1的,安装11.4报错不兼容,这里我安装了9.10
怎么安装旧版本呢?
这里介绍两种方法:
- 高级搜索
此处输入扩展id与版本号
扩展id在这里可以找到
- 列表安装
安装好此插件
导入数据
我需要将旧环境confluence的数据导入到新的xwiki
confluence数据导出
进入空间页面左下角的空间管理,点击内容工具,导出后下载zip包
xwiki导入
将zip数据包放在xwiki服务器的/tmp/下
web页面配置
配置导入包的格式:我们是confluence的xml,source那里需要file:/$zip_path/$filename.zip
配置数据包需要转换的格式,点击最下放的转换
导入完成后,我们发现文档是有了,但是嵌套结构没了,所有页面都统一为DEV空间下的第一级子页面,接下来需要恢复嵌套结构
恢复嵌套结构
安装扩展 Nested Pages Migrator Application
安装完成后主页面新增nested pages migration 选项,点入配置
再此查看,嵌套页面已恢复。
xwiki的备份与恢复
xwiki不能通过导出的方式自动备份,而是拷贝数据库与xwiki的工作目录
将 /data压缩上传到文件服务器,以后恢复只要数据库和xwiki路径一致就可以,我复制了一份镜像文件,由于/data挂了盘,镜像文件只包含系统文件,恢复只需解压data包,起服务即可。
xwiki备份包导入
现我需要将xwiki a (11.1) 的内容迁移到空白的xwiki b (11.6)上,怎么解决?
用以下的方式导入包,会报错(可能是因为版本的原因,如果版本相同的包导入,应该会成功,小伙伴们在尝试之前务必要备份镜像与工作目录):
wiki a 导出包:
wiki b 导入包:
我尝试将不同空间(Blog为技术文章,Xwiki为用户资料)分开导入:
导出包:
导入包:
另一个用户空间的包只需要选择用户的页面,其他页面不要导入
导入后需要给每一个用户加权限。但是这样导入的文章作者就都变成导入者了。