XWiki使用war部署在tomcat9

xwiki部署

官方文档,比较详细。

https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/InstallationWAR/

xwiki是基于java的开源知识库,可以替代Confluence。有多种部署方式,本文使用war方式部署在tomca下,需要提供jdbc驱动jar包,修改WEB-INF/hibernate.cfg.xml,解压xip包,按向导一步步部署即可。xwiki会自动建表。

使用war部署

下载使用最新的tomat9.x

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.100/bin/apache-tomcat-9.0.100.tar.gz

下载xwiki的war部署包及XIP页面风格包

https://www.xwiki.org/xwiki/bin/view/Download/DownloadVersion/?projectVersion=16.10.4

wget https://nexus.xwiki.org/nexus/content/groups/public/org/xwiki/platform/xwiki-platform-distribution-war/16.10.4/xwiki-platform-distribution-war-16.10.4.war
wget https://nexus.xwiki.org/nexus/content/groups/public/org/xwiki/platform/xwiki-platform-distribution-flavor-xip/16.10.4/xwiki-platform-distribution-flavor-xip-16.10.4.xip

下载jdk17

wget https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
tar -zxvf openjdk-17.0.1_linux-x64_bin.tar.gz
mv jdk-17.0.1  /usr/lib/jvm/
/usr/lib/jvm/jdk-17.0.1/bin/java -version

部署及修改配置

tomat修改

  • 修改tomat规则文件

    vi catalina.policy

    grant codeBase "file:<full-path-here>/webapps/xwiki/WEB-INF/lib/-" {permission java.util.PropertyPermission "file.encoding", "read";
    // Needed by Hibernate -> antlrpermission java.util.PropertyPermission "ANTLR_DO_NOT_EXIT", "read";permission java.util.PropertyPermission "ANTLR_USE_DIRECT_CLASS_LOADING", "read";
    // Needed by Hibernate and otherspermission java.lang.reflect.ReflectPermission "suppressAccessChecks";permission java.lang.RuntimePermission "createClassLoader";permission java.lang.RuntimePermission "setContextClassLoader";
    // Needed by commons-loggingpermission java.util.PropertyPermission "org.apache.commons.logging.LogFactory.HashtableImpl", "read";
    // Needed for connecting to the databasepermission java.net.SocketPermission "127.0.0.1:3306", "connect,resolve";
    // Needed by the scheduler plugin -> quartz, but works without (maybe except scheduling? should be checked)
    //  permission java.util.PropertyPermission "org.quartz.properties", "read";//Allow file storage directory reading - for directory and everything underneath
    //This is dependent on the setting of environment.permanentDirectory in xwiki.properties
    permission java.io.FilePermission "${catalina.home}${file.separator}xwikidata${file.separator}", "read,write,delete";
    permission java.io.FilePermission "${catalina.home}${file.separator}xwikidata${file.separator}-", "read,write,delete";
    //Allow file storage directory reading - temporary directory and everything underneath
    //This is dependent on the setting of environment.temporaryDirectory in xwiki.properties.
    permission java.io.FilePermission "${catalina.home}${file.separator}temp${file.separator}", "read,write,delete";
    permission java.io.FilePermission "${catalina.home}${file.separator}temp${file.separator}-", "read,write,delete";
    };
    
  • conf/server.xml没设置编码的增加编码设置URIEncoding=“UTF-8”

    <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000"URIEncoding="UTF-8"/>
  • 修改启动脚本startup.sh和catalina.sh增加JAVA_HOME

    vi startup.sh
    #o
    JAVA_HOME=/usr/lib/jvm/jdk-17.0.1
    PATH=/usr/lib/jvm/jdk-17.0.1/bin:$PATH
    
  • 重命名war为xwiki.war复制到webapp目录,手工解压war。

  • 下载xip包后解压后的文件全部移动到到永久数据目录下的extension/repository

修改配置文件

WEB-INF/xwiki.properties

设置永久目录environment.permanentDirectory及

mkdir -p /iflytek/xwiki/data
vi xwiki.properties
#o
environment.permanentDirectory = /iflytek/xwiki/data/
extension.repositories=https://nexus.xwiki.org/nexus/content/groups/public/
WEB-INF/hibernate.cfg.xml
  • 准备xwiki数据库
create database xwiki default character set utf8 collate utf8_bin;

编辑你的 MySQL 配置文件 my.cnf(通常位于 /etc/mysql/my.cnf 或 /etc/my.cnf)。
在 [mysqld] 部分添加以下行:

max_allowed_packet = 100M
  • 修改WEB-INF/hibernate.cfg.xml,注释默认数据并放开mysql数据库的注释,修改改数据库信息ip端口,用户名密码等。

  • 复制mysql的jdbc驱动包mysql-connector-java-8.0.29.jar到xwiki的lib目录。

上传Flavor拓展包到拓展目录

https://nexus.xwiki.org/nexus/content/groups/public/org/xwiki/platform/xwiki-platform-distribution-flavor-xip/16.10.4/xwiki-platform-distribution-flavor-xip-16.10.4.xip

下载对应版本的xip包解压后的文件复制到永久数据目录下的extension/repository

unzip -q xwiki-platform-distribution-flavor-xip-16.10.4.xip

重启tomcat后,浏览器访问http://localhost:8080/xwiki

/iflytek/server/apache-tomcat-9.0.100/bin/shutdown.sh
/iflytek/server/apache-tomcat-9.0.100/bin/startup.sh

首次访问会开始初始化,自动在数据库建表(需要后续手工创建索引提升性能),等待初始化完成开始进入安装向导。

Continue注册admin用户

会有显示xip解压后的Flavor,选中点击Install,等待安装。

安装失败时注意分析日志,solr在有其他wiki服务启动的时候会被锁定,停止其他wiki服务后删除锁文件,自动重试通过,完成安装。

配置

国际化
右侧点击Administer Wiki

Content(内容)–Locailzation(国际化)–设置language默认语言为中文

隐藏左侧应用面板

管理Wiki–外观–

  1. 以管理员身份登录 XWiki。
  2. 点击右上角图标打开侧边栏菜单,再点击管理Wiki。
  3. 点击 “外观”–“面板编辑”。
  4. 在 "显示在左侧的面板"中删除Panels.Application
  5. 保存新的布局后刷新查看

“外观”–"显示"下可以修改页头页脚。

不了解的配置可以问问大模型,现在大模型能力还是比较强的。

拓展包安装

右侧点击Administer Wiki
拓展–Extensions,然后从右侧选择需要的拓展包Install即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30762.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pycharm 取消拼写错误检查(Typo:in word xxx)

现象 Pycharm显示单词存在错误&#xff0c;下面看着有下划波浪线&#xff0c;看着很不舒服。 快捷键AltEnter&#xff0c;查看提示错误。 Typo是啥? "Typo" 这个词通常用于描述打字或排印过程中的小错误&#xff0c;尤其是拼写错误。它指的是在文本中由于打字或印刷…

K8S学习之基础十七:k8s的蓝绿部署

蓝绿部署概述 ​ 蓝绿部署中&#xff0c;一共有两套系统&#xff0c;一套是正在提供服务的系统&#xff0c;一套是准备发布的系统。两套系统都是功能完善、正在运行的系统&#xff0c;只是版本和对外服务情况不同。 ​ 开发新版本&#xff0c;要用新版本替换线上的旧版本&…

三、0-1搭建springboot+vue3前后端分离-idea新建springboot项目

一、ideal新建项目1 ideal新建项目2 至此父项目就创建好了&#xff0c;下面创建多模块&#xff1a; 填好之后点击create 不删了&#xff0c;直接改包名&#xff0c;看自己喜欢 修改包名和启动类名&#xff1a; 打开ServiceApplication启动类&#xff0c;修改如下&#xff1a; …

任天堂Switch拉美游戏价涨,传Switch 2全球或提价

易采游戏网3月9日独家消息&#xff1a;近日据相关资讯显示&#xff0c;在拉丁美洲地区&#xff0c;任天堂Switch的游戏价格出现了上扬态势。这一变化引发了玩家与市场的关注&#xff0c;不过就目前而言&#xff0c;其并未波及全球游戏市场的整体定价格局。但值得注意的是&#…

10.2 继承与多态

文章目录 继承多态 继承 继承的作用是代码复用。派生类自动获得基类的除私有成员外的一切。基类描述一般特性&#xff0c;派生类提供更丰富的属性和行为。在构造派生类时&#xff0c;其基类构造函数先被调用&#xff0c;然后是派生类构造函数。在析构时顺序刚好相反。 // 基类…

如何在需求分析阶段考虑未来扩展性

在需求分析阶段考虑未来扩展性的关键在于 前瞻规划、灵活架构、标准设计。其中&#xff0c;前瞻规划尤为重要&#xff0c;因为通过全面分析业务发展趋势与技术演进&#xff0c;能够在初期设计阶段预留足够扩展空间&#xff0c;降低后期改造成本&#xff0c;为企业长期发展奠定坚…

PawSQL for MSSQL:PawSQL 支持 SQL Server 的SQL优化、SQL审核、性能巡检

0. 概述 在PawSQL的最新版本中&#xff0c;PawSQL 为 SQL Server 数据库提供了全方位的SQL优化、SQL审核、性能巡检支持&#xff0c;覆盖SQL开发、测试、运维的整个生命周期&#xff0c;助力用户充分发挥 SQL Server 数据库的性能潜力。 1. 纳管SQL Server 实例 工作空间是SQ…

【Java代码审计 | 第六篇】XSS防范

文章目录 XSS防范使用HTML转义使用Content Security Policy (CSP)输入验证使用安全的库和框架避免直接使用用户输入构建JavaScript代码 XSS防范 使用HTML转义 在输出用户输入时&#xff0c;对特殊字符进行转义&#xff0c;防止它们被解释为HTML或JavaScript代码。 例如&…

NO.26十六届蓝桥杯备战|字符数组七道练习|islower|isupper|tolower|toupper|strstr(C++)

P5733 【深基6.例1】自动修正 - 洛谷 小写字母 - 32 大写字母 大写字母 32 小写字母 #include <bits/stdc.h> using namespace std;const int N 110; char a[N] { 0 };int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cin >> a;int i 0;while (a…

langChainv0.3学习笔记(初级篇)

LangChain自0.1版本发布以来&#xff0c;已经历了显著的进化&#xff0c;特别是向AI时代的适应性提升。在0.1版本中&#xff0c;LangChain主要聚焦于提供基本的链式操作和工具集成&#xff0c;帮助开发者构建简单的语言模型应用。该版本适用于处理简单任务&#xff0c;但在应对…

qt 播放pcm音频

一、获取PCM音频 ffmpeg -i input.mp3 -acodec pcm_s16le -ar 44100 -ac 2 -f s16le output.pcm -acodec pcm_s16le&#xff1a;指定16位小端PCM编码格式&#xff08;兼容性最佳&#xff09;-ar 44100&#xff1a;设置采样率为CD标准44.1kHz&#xff08;可替换为16000/8000等&a…

Windsuf 连接失败问题:[unavailable] unavailable: dial tcp...

问题描述 3月6日&#xff0c;在使用Windsuf 时&#xff0c;遇到以下网络连接错误&#xff1a; [unavailable] unavailable: dial tcp 35.223.238.178:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of…

Leetcode 刷题记录 05 —— 普通数组

本系列为笔者的 Leetcode 刷题记录&#xff0c;顺序为 Hot 100 题官方顺序&#xff0c;根据标签命名&#xff0c;记录笔者总结的做题思路&#xff0c;附部分代码解释和疑问解答。 目录 01 最大子数组和 方法一&#xff1a;动态规划&#xff08;卡达尼算法&#xff09; 方法…

QTS单元测试框架

1.QTS单元测试框架介绍 目前QTS项目采用C/C语言,而CppUnit就是xUnit家族中的一员,它是一个专门面向C的单元测试框架。因此,QTS采用CppUnit测试框架是比较理想的选择。 CppUnit按照层次来管理测试,最底层的就是TestCase,当有了几个TestCase以后&#xff0c;可以将它们组织成Te…

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之功能优化,添加列宽调整功能Table12

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之功能优化,添加列宽调整功能Table12📚页面效…

探索Java多线程的核心概念与实践技巧,带你从入门到精通!

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 今天我们来学习多线程编程-"掌握线程创建、管理与安全"&#xff1a; 上一节课程我们铺垫了一系列的东西&#xff0c;引出来了我们的多…

前端数据模拟 Mock.js 学习笔记(附带详细)

前端数据模拟 Mock.js 学习笔记 在前端开发过程中&#xff0c;数据模拟是一项至关重要的环节。当后端接口尚未完成或者需要独立进行前端开发与测试时&#xff0c;Mock.js 能发挥巨大作用&#xff0c;它可以模拟各种数据场景&#xff0c;助力前端开发高效进行。 一、Mock.js 的…

NoteGen是一款开源跨平台的 AI 笔记应用,专注于 recording 和 writing ,基于 Tauri 开发

一、软件介绍 文末提供程序和源码下载 NoteGen 是一款专注于记录和写作的跨平台 AI 笔记应用&#xff0c;基于 Tauri 开发。NoteGen 的核心理念是将记录、写作和 AI 结合使用&#xff0c;三者相辅相成。记录功能可以帮助用户快速捕捉和整理碎片化知识。整理功能是连接记录和写…

学习网络安全需要哪些基础?

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 学习网络安全&#xff0c;对于想要进入IT行业的朋友们来说是一件非常重要的事情。尤其是在当今社会&#xff0c;互联网已经渗透到工作和生活的方方面面&#xff0…

系统安全阶段练习真题(高软44)

系列文章目录 系统安全阶段练习真题 文章目录 系列文章目录前言一、真题总结 前言 本节就是系统安全的阶段练习真题&#xff0c;带答案与解析。 一、真题 总结 就是高软笔记&#xff0c;大佬请略过&#xff01;