Xwiki安装部署详解

article/2025/8/27 20:25:52

一、Xwiki简介
XWiki是一个由Java编写的基于LGPL协议发布的开源wiki和应用平台。XWiki是一款基于java所编写的wiki,它可以运行在如Tomcat,Jetty,JBoss,WebLogic,WebSphere等Servlet容器上并利用关系型数据库(HSQL, MySQL等)来存储数据,大部分数据库产品都可以在XWiki上运行但是必须进行正确的设置。
中文网站:http://www.xwikichina.com/xwiki/bin/view/Main/
二、Xwiki安装
1.软件下载
    http://download.forge.ow2.org/xwiki/xwiki-10.1.war
    三种安装方式,本文采用的war包安装
    使用已包含Servlet容器(Jetty)和数据库(HSQL)并带有默认wiki首页的打包版本的XWiki安装。如果你是新手并且想快速尝试XWiki的功能,推荐使用这种方式安装。
    使用war包来安装XWiki,但是你必须设置好你的Servlet容器和数据库让XWiki工作起来。
    使用deb包安装最新版本的XWiki和相关的插件。
2.安装需求
    jdk1.8
    mysql-connector-java-5.1.34.jar
    tapache-tomcat-8.5.29.tar.gz
    mysql
    xwiki-10.1.war
3.apache和xwiki安装
    下载地址(8.5.29):http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.29/bin/apache-tomcat-8.5.29.tar.gz
    解压缩:tar -xzvf apache-tomcat-8.5.29.tar.gz
    安装:    mv apache-tomcat-8.5.29 /usr/local/apache
            cd /usr/local/apache/webapps
            mkidr xwiki
            unzip xwiki-10.1.war  -d /usr/local/apache/webapps/xwiki/
    配置:编辑tomcat的server.xml修改8080端口描述设置编码为UTF8,并允许gzip压缩
            <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"/>    
        配置JVM的内存大小和安装路径
            如果是通过yum安装的tomcat需要修改如/etc/tomcat6/tomcat6.conf 这个文件
            如果是使用的tomcat源码包安装,则修改bin/catalina.sh 这个文件
          JAVA_OPTS="-Xmx300m -XX:MaxPermSize=196m"
          JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.20-3.b26.el6.x86_64"
        配置数据库,新建xwiki的数据库并授权
  create database xwiki default character set utf8 collate utf8_bin;  
  grant all privileges on xwiki.* to xwiki@'%' identified by 'xwiki';
        下载MySQL JDBC Driver Jar放到/usr/local/apache/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
            cp -rp mysql-connector-java-5.1.34.jar  /usr/local/apache/webapps/xwiki/WEB-INF/lib/
       配置xwiki应用

     cd  /usr/local/apache/webapps/xwiki/WEB-INF
            vi hibernate.cfg.xml   (注释掉无用的数据源配置)
            <property name="connection.url">jdbc:mysql://localhost/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="connection.charSet">UTF-8</property>
            <property name="connection.characterEncoding">UTF-8</property>
            <property name="connection.useUnicode">true</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="activitystream.hbm.xml"/>
            <mapping resource="instance.hbm.xml"/>
            <mapping resource="mailsender.hbm.xml"/> 

        编辑xwiki.cfg
        vi xwiki.cfg
            xwiki.readonly=no
            xwiki.encoding=UTF-8
            xwiki.store.main.hint=hibernate
            xwiki.store.hibernate.path=/WEB-INF/hibernate.cfg.xml
            xwiki.superadminpassword=system
        配置office server
            yum install libreoffice   libreoffice-headless
        XWIKI字符集编码配置
            vi web.xml     

    encoding="UTF-8"
4.xwiki初始化

使用. /usr/local/apache/bin/startup.sh 启动tomcat后,通过http://ipaddr:8080/xwiki做xwiki初始化工作

 设置中文

    
三、Xwiki管理


四、附录

1、安装错误信息01

错误信息:根据查看tomcat的启动日志 /usr/local/apache_bak/logs/catalina.2018-03-25.log , /usr/local/apache_bak/logs/catalina.out

Mar 25, 2018 9:44:05 AM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/usr/local/apache/webapps/xwiki/WEB-INF/lib/javax.el-3.0.0.jar) - jar not loaded. See Servlet Spec 3
.0, section 10.7.2. Offending class: javax/el/Expression.class
Mar 25, 2018 9:44:22 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete lis
t of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup tim
e and JSP compilation time.

处理方法:

根据错误信息,根据查询原因大致是因为tomcat7以上启动需要检查tld,这里开启debug模式查看具体需要检查哪些jar包,然后跳过处理

开启tld检查jar日志记录
vi /usr/local/apache/conf/logging.properties 
org.apache.jasper.servlet.TldScanner.level = FINE
然后关闭tomcat,启动并检查catalina.out
egrep "No TLD files were found in" catalina.out |egrep "jar"|awk -F'['  '{print $3}'|awk -F']'  '{print $1}'|awk -F'lib/' '{print $2}'>a.txt
将里面的jar包设置跳过检查处理
vi /usr/local/apache/conf/catalina.properties 文件中的 “tomcat.util.scan.StandardJarScanFilter.jarsToSkip=” 处,保存该文件

2、安装错误信息02

上面报错信息处理后,发现启动tomcat还是无法访问xwiki(404错误),这里只能开启xwiki的debug模式查看具体报错信息

设置debug日志模式:

cd /usr/local/apache/webapps/xwiki/WEB-INF/classes
touch logging.properties
##具体添加内容如下
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler    ############################################################    
# Handler specific properties.    
# Describes specific configuration info for Handlers.    
############################################################    org.apache.juli.FileHandler.level = FINE    
org.apache.juli.FileHandler.directory = /usr/local/apache/logs    
org.apache.juli.FileHandler.prefix = error-debug.    java.util.logging.ConsoleHandler.level = FINE    
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

重启tomcat,查看错误日志内容

错误信息主要如下:

Unsupported major.minor version 52.0

处理方法:

根据错误信息,基本可以确认是由于jdk版本导致的,查看需要1.8版本的Jdk,下载高版本的jdk安装后,重启问题解决

wget "http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm"

rpm -ivh jdk-8u161-linux-x64.rpm

 

转载于:https://www.cnblogs.com/rangle/p/8646676.html


http://chatgpt.dhexx.cn/article/FrDsbccw.shtml

相关文章

xwiki安装部署

xwiki 下载&#xff0c;版本选择以及与jdk&#xff0c;servlet容器&#xff0c;数据库和JDBC的版本对应关系&#xff0c;可以参考我另一篇关于这个的文章 https://blog.csdn.net/qq_38417282/article/details/125271765 首先进入xwiki官网 在documentation中找到Admin Guide—…

设计模式之装饰器模式详解

设计模式之装饰器模式详解 文章目录 设计模式之装饰器模式详解一、什么是装饰器模式二、装饰器模式的角色组成三、装饰器模式通用写法示例四、装饰器模式业务中的应用举例五、装饰器模式优缺点 一、什么是装饰器模式 装饰器模式&#xff08;Decorator Pattern&#xff09; 也称…

TS装饰器

通过本文你可以知道什么 装饰器的发展历程JS和TS装饰器有何不同Angular中的装饰器到底是什么装饰器的定义&#xff0c;语法&#xff0c;作用reflect-meta是什么及如何使用 前言 我们平常开发中或多或少的听说或使用过装饰器&#xff0c;也切身感受到了它带给我们的便利。但是…

python的装饰器(函数装饰器)

作为许多语言都存在的高级语法之一&#xff0c;装饰器是你必须掌握的知识点。 装饰器&#xff08;Decorator&#xff09;&#xff1a;从字面上理解&#xff0c;就是装饰对象的器件。可以在不修改原有代码的情况下&#xff0c;为被装饰的对象增加新的功能或者附加限制条件或者帮…

python装饰器这一篇就够了

前言 什么是装饰器 实现原理 实现效果 适用场景 装饰器&#xff1a; 装饰器的写法 装饰器的拓展 装饰器的模板 什么是装饰器呢&#xff1f; 就是在特定条件下为某些函数再不改动函数体的时候为函数新添加一些功能&#xff0c;这就是装饰器 实现原理&#xff1a; …

【Python】闭包与装饰器

1.闭包 闭包的本质就是函数的嵌套定义&#xff0c;即在函数内部再定义函数 闭包有两种不同的方式&#xff0c;第一种是“返回一个函数名称”&#xff0c;第二种是在函数内部就“直接调用” 闭包的定义&#xff1a;在一个外函数中定义了一个内函数&#xff0c;内函数里运用了…

Python装饰器的通俗理解

看了这篇文章终于搞懂了装饰器&#xff0c;原文有少许错误&#xff0c;但无伤大雅&#xff0c;改正后转载于此&#xff0c;一起学习。 在学习Python的过程中&#xff0c;我相信有很多人和我一样&#xff0c;对Python的装饰器一直觉得很困惑&#xff0c;我也是困惑了好久&#x…

什么是装饰器?

一、引出装饰器概念 引入问题&#xff1a; 定义了一个函数&#xff0c;想在运行时动态的增加功能&#xff0c;又不想改动函数本身的代码&#xff1f; 示例&#xff1a; 希望对下列函数调用增加log功能&#xff0c;打印出函数调用&#xff1a; def f1(x): return x*2 d…

Python自定义装饰器

文章目录 1.闭包2.不带参数的装饰器3.带参数的装饰器4.不定长参数的装饰器5.多重装饰器修饰6.返回值是装饰器7.装饰器类 Python学习笔记—装饰器 装饰器&#xff1a;从生活角度理解&#xff0c;是对一个东西进行装饰&#xff0c;增加它本身的一些功能和内容&#xff1b; Python…

Python的装饰器

前言&#xff1a; &#x1f921; 作者简介&#xff1a;我是Morning&#xff0c;计算机的打工人&#xff0c;想要翻身做主人 &#x1f648; &#x1f648; &#x1f648; &#x1f3e0; 个人主页&#xff1a;Morning的主页 &#x1f4d5;系列专栏&#xff1a;&#…

装 饰 器

一&#xff0c;装饰器概念 装饰器本质上还是函数&#xff0c;让其它的函数在不做任何代码修改的情况下&#xff0c;增加额外的功能 所以说一句话&#xff1a;还是函数&#xff0c;记住奥 谈到一个原则&#xff1a;开发封闭原则 概念&#xff1a; 一个以函数作为参数并返回一…

学习TypeScript20(装饰器Decorator)

Decorator 装饰器是一项实验性特性&#xff0c;在未来的版本中可能会发生改变 它们不仅增加了代码的可读性&#xff0c;清晰地表达了意图&#xff0c;而且提供一种方便的手段&#xff0c;增加或修改类的功能 若要启用实验性的装饰器特性&#xff0c;你必须在命令行或tsconfig…

python装饰器详解

python中的装饰器(decorator)一般采用语法糖的形式&#xff0c;是一种语法格式。比如&#xff1a;classmethod&#xff0c;staticmethod&#xff0c;property&#xff0c;xxx.setter&#xff0c;wraps()&#xff0c;func_name等都是python中的装饰器。 装饰器&#xff0c;装饰的…

【Python】一文弄懂python装饰器(附源码例子)

目录 前言 一、什么是装饰器 二、为什么要用装饰器 三、简单的装饰器 四、装饰器的语法糖 五、装饰器传参 六、带参数的装饰器 七、类装饰器 八、带参数的类装饰器 九、装饰器的顺序 总结 写在后面 前言 最近有人问我装饰器是什么&#xff0c;我就跟他说&#xff…

偏微分方程数值解程序设计与实现——数学基础

常用算子符号 梯度算子 R d \mathbb{R}^d Rd空间中标量函数 u ( x ) u(\bf{x}) u(x)&#xff0c;其梯度算子定义如下&#xff1a; g r a d u ( x ) ∇ u ( x ) [ ∂ u ∂ x 0 ∂ u ∂ x 1 ⋮ ∂ u ∂ x d − 1 ] grad u(\mathbf{x})\nabla u(\mathbf{x}) \begin{bmatrix} …

偏微分方程的数值解(六): 偏微分方程的 pdetool 解法

偏微分方程的数值解系列博文&#xff1a; 偏微分方程的数值解(一):定解问题 & 差分解法 偏微分方程的数值解(二): 一维状态空间的偏微分方程的 MATLAB 解法 偏微分方程的数值解(三): 化工应用实例 ----------触煤反应装置内温度及转换率的分布 偏微分方程的数值解(四):…

微分方程数值解

一阶问题举例&#xff1a; 高阶问题举例 &#xff1a; 常微分方程数值解&#xff1a;向前欧拉方法之一阶问题 clc,clear,close all; a0;%初始时刻 b2*pi;%结束时刻 n100;%离散点数量 x00;%初值 h(b-a)/n;%步长 xx0 [0:n]*h;%离散点数组 funinline(sin(x)y,x,y); y01; %计算 y(…

常微分方程数值解法1

&#xff11;.牛顿迭代法 多数方程不存在求根公式&#xff0c;因此求精确根非常困难&#xff0c;甚至不可能&#xff0c;从而寻找方程的近似根就显得特别重要。牛顿迭代法使用函数 的泰勒级数的前面几项来寻找方程 的根。牛顿迭代法是求方程根的重要方法之一&#xff0c;其最大…

差分、偏微分方程的解法

这里写目录标题 微分方程数值求解——有限差分法matlab代码差分法的运用&#xff08;依旧是连续变量——>离散网格点&#xff09; PDE求解思路demo1demo2 微分方程数值求解——有限差分法 差分方法又称为有限差分方法或网格法&#xff0c;是求偏微分方程定解问题的数值解中…

微分方程数值解法(2)——椭圆型方程的有限差分法

此处参考教材为李荣华的《微分方程数值解法》 使用工具&#xff1a;Matlab 1. 算法&#xff1a;矩形网格上5点差分格式 2. 算法 I.需要求解的函数 function [v,vx,vy,f,aa,bb,cc,dd]u2D(x,y,ft)% ft为方程编号&#xff0c;u1D为精确解函数u&#xff08;t&#xff09;,注意与…