环境介绍

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



怎么安装旧版本呢?

这里介绍两种方法:

  1. 高级搜索

    此处输入扩展id与版本号



    扩展id在这里可以找到

  2. 列表安装





    安装好此插件

导入数据

我需要将旧环境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为用户资料)分开导入:

导出包:





导入包:





另一个用户空间的包只需要选择用户的页面,其他页面不要导入

导入后需要给每一个用户加权限。但是这样导入的文章作者就都变成导入者了。

xwiki安装部署的更多相关文章

  1. Xwiki安装部署详解

    一.Xwiki简介XWiki是一个由Java编写的基于LGPL协议发布的开源wiki和应用平台.XWiki是一款基于java所编写的wiki,它可以运行在如Tomcat,Jetty,JBoss,Web ...

  2. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  3. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  4. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  5. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  6. C# winform安装部署(转载)

    c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...

  7. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  8. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

  9. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

随机推荐

  1. javaScript中==和===对数组、对象的判断是它们是否同一个实例对象

      问题描述 在实现业务时,大量用到了 if(a === b)这样的判断,但有一个类似判断一直进不去这个if条件, a === b 返回的一直是false,但是其他几个类似判断,都正常触发条件. 原因 ...

  2. 面试题 | 数据库笔试题集合·之·SQL语句(2)

    第2章 SQL 语句 2.1 选择2.1.1 DELETE FROM S WHERE 年龄>60 语句的功能是( A ) A.从 S 表中彻底删除年龄大于 60 岁的记录B.S 表中年龄大于 6 ...

  3. Java第四周总结报告

    本周做了什么? 学习了Java的面向对象知识,包括对类,对象,抽象的理解 下周准备做什么? 学习Java面向对象的有关知识,包括对象与类,继承关系等内容 代码联系时间五个小时,看书四个小时. 本周遇到 ...

  4. 洛谷 P3388 【模板】割点(割顶)(Tarjan)

    题目链接 https://www.luogu.org/problemnew/show/P3388 模板题 解题思路 什么是割点? 怎样求割点? dfn :即时间戳,一张图的dfs序(dfs遍历时出现的 ...

  5. HDUST-1245 Interpreter(模拟)

    1245: Problem E: Interpreter 时间限制: 1 Sec  内存限制: 128 MB提交: 4  解决: 2[提交][状态][讨论版] 题目描述 Problem E: Inte ...

  6. E - 卿学姐与城堡的墙(树状数组求逆序数)

    卿学姐与城堡的墙 Time Limit: 2000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  ...

  7. 一遍记住 8 种排序算法与 Java 代码实现

    ☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜ 作者:KaelQ, www.jianshu.com/p/5e171281a387 1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经 ...

  8. 深入理解java虚拟机(1)走进jvm

    1.JDK:java程序设计语言.java虚拟机.javaAPI 二.自动内存管理机制 ----------------------------------------------------- 1. ...

  9. js的小练习

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. generator 到 async 的简单理解。

    generator 到 async 的简单理解.觉得实现方式很有意思. 1. generator generator 函数返回一个遍历器对象 遍历器对象 每次调用next 方法 返回 有着value ...