XWiki的配置和插件
XWiki
在安装后需要进行一些配置,还需要安装插件,本文记录配置过程和安装的插件
XWiki的设置
安装完成后,对XWiki
进行一些设置,需要使用管理员账号登录
首先需要说明xwiki
的几个主要目录
-
xwiki
的安装目录:- 如果是通过War包的方式安装,安装目录为
tomcat-path/webapps/xwiki
- 如果是通过Apt包管理方式安装,安装目录为
/usr/lib/xwiki
- 如果是通过War包的方式安装,安装目录为
-
xwiki
的永久目录(即保存数据的目录)默认为:/var/lib/xwiki
-
xwiki
的配置目录(仅通过Apt包管理安装时才会有):/etc/xwiki
可以通过搜索关键字查找xwiki
目录、Solr
目录和配置等
sudo find / -name xwiki
sudo find / -name solr
sudo find / -name managed-schema
此外,配置和依赖,如果可以,尽量在xwiki
的数据目录下修改,不要在安装目录修改,方便升级,否则升级xwiki
后需要重新复制依赖包和修改配置
设置XWiki界面为中文
打开XWiki
页面右上角的菜单,点击第一个进入右上角设置–>Content-Localization,将Default Language和 Support Language设置为中文(中国)
- 设置为中文后,新创建的页面的属性LOCALE就是中文了
- 搜索页面的结果列表中,默认只会展示页面LOCALE为
中文
和No language
这2种搜索结果,需要手动勾选未展示的搜索结果 - 设置为中文后,右上角的搜索框不能展示搜索建议了(无论是搜索中文页面还是英文页面、搜索的关键字是中文还是英文),但是在搜索结果页面还是能搜索到结果
- 设置为中文(Chinese)后,页面内容编辑器的文字是繁体字,想要展示简体字,Default Language应设置为
中文(中国)
- 设置为中文后,就搜不到页面LOCALE为中文的文章内容了,只能搜到文章标题,LOCALE为英文的页面内容还是可以搜到的,需要设置
solr
搜索引擎支持中文搜索
设置Solr支持搜索中文内容
如果将xwiki
的设置中的Default Language
设置为中文,就不能搜索到文档中的内容了,因为xwiki
默认的solr
搜索引擎不支持中文搜索(xwiki
的搜索引擎也可以设置成database
,测试发现设置database
后,虽然可以搜索到文档内容,但是不会在搜索结果页面的列表中显示搜到的文档内容预览)。因此,最好的办法是修改solr
配置以支持中文搜索
Solr
中文搜索需要配置中文分词器,可以使用ik-analyzer-solr
或smartcn
分词器,这两个分词器的效果,没有感受到明显的差别,网上很多人使用ik-analyzer
分词器
配置ik-analyzer分词器
-
下载中文分词器ik-analyzer-solr,包括jar包和工程文件
-
将jar包放入
Solr
服务的Jetty
或Tomcat
的webapp/WEB-INF/lib/
目录下,我是放到xwiki
的永久目录:/home/username/xwiki/data/store/solr/search/lib
(放到xwiki
的安装路径/opt/tomcat/webapps/xwiki/WEB-INF/lib
应该也是可以的),修改jar包的权限为tomcat
chown tomcat:tomcat ik-analyzer-8.3.0.jar
-
将下载的工程文件的
resources
目录下的5个文件放入Solr
服务的Jetty
或Tomcat
的webapp/WEB-INF/classes/
目录下,我的目录是/opt/tomcat/webapps/xwiki/WEB-INF/classes
,注意有3个文件是空的,不能使用rz
命令上传,直接touch
创建(这里可以设置stopword.dic
和ext.dic
文件的内容,在网上可以找到词库,我没有设置,留空的)① IKAnalyzer.cfg.xml ② ext.dic ③ stopword.dic ④ ik.conf ⑤ dynamicdic.txt
修改这些文件的权限
chown tomcat:tomcat dynamicdic.txt ext.dic stopword.dic IKAnalyzer.cfg.xml ik.conf
-
编辑
solr
的配置文件vim /home/username/xwiki/data/store/solr/search/conf/managed-schema
,添加以下内容。粘贴时,为防止格式排版错乱,可以在vim编辑器设置粘贴模式后再复制粘贴::set paste
<!-- ik分词器 --> <dynamicField name="*_zh" type="text_ik" indexed="true" stored="true" multiValued="true" /> <dynamicField name="*_zh_CN" type="text_ik" indexed="true" stored="true" multiValued="true" /> <dynamicField name="*_zh_TW" type="text_ik" indexed="true" stored="true" multiValued="true" /> <!-- ik分词器 --> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
配置smartcn分词器
-
下载
smartcn
分词器:https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-smartcn -
将jar包放入
Solr
服务的Jetty
或Tomcat
的webapp/WEB-INF/lib/
目录下,我是放到xwiki
的永久目录:/home/username/xwiki/data/store/solr/search/lib
(放到xwiki
的安装路径/opt/tomcat/webapps/xwiki/WEB-INF/lib
应该也是可以的),修改jar包的权限为tomcat
chown tomcat:tomcat lucene-analyzers-smartcn-8.6.3.jar
-
编辑
solr
的配置文件vim /home/username/xwiki/data/store/solr/search/conf/managed-schema
,添加以下内容。粘贴时,为防止格式排版错乱,可以在vim编辑器设置粘贴模式后再复制粘贴::set paste
<!-- smartcn分词器 --> <dynamicField name="*_zh" type="text_smartcn" indexed="true" stored="true" multiValued="true" /> <dynamicField name="*_zh_CN" type="text_smartcn" indexed="true" stored="true" multiValued="true" /> <dynamicField name="*_zh_TW" type="text_smartcn" indexed="true" stored="true" multiValued="true" /> <!-- smartcn分词器 --> <fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
配置分词器后,重启xwiki
systemctl restart tomcat.service
最后重新创建索引。进入xwiki
设置–>查询–>查询–>Action
选择Reindex
,点击Apply
,等待索引创建完成,然后就可以搜索中文内容了
设置Office导入支持
安装libreoffice
服务后,在xwiki
创建页面时可以选择从office文件(doc、excel、ppt)导入到页面,还可以在页面编辑器中点击“+”–> import office file 导入到编辑器。不过不能完全保留源文档的全部格式特征。实际测试docx
、xlsx
导入成功,pptx导入失败(后面发现是导入超时了,导入office非常耗内存和CPU,默认超时时间是60秒,在低配置的虚拟机上容易超时)
-
安装
libreoffice
sudo apt-get install libreoffice
-
在
xwiki
的配置文件中设置libreoffice
的home路径,并设置在xwiki
启动时自动启动libreoffice
服务,编辑/opt/tomcat/webapps/xwiki/WEB-INF/xwiki.properties
文件vim /opt/tomcat/webapps/xwiki/WEB-INF/xwiki.properties
取消注释,设置参数
openoffice.autoStart=true openoffice.homePath=/usr/lib/libreoffice/ #设置超时时间十分钟,单位是毫秒,如不设置默认值是60秒 openoffice.taskExecutionTimeout = 600000
-
重新启动
xwiki
systemctl restart tomcat.service
-
进入
xwiki
的设置-内容-Office服务,选择启动服务,如果没有检测到安装的office,可能是openoffice.homePath
路径不对 -
完成安装配置后,在
xwiki
创建页面时,类型选择区域就会多出一个Page from Office
选项
遇到的问题
在导入PPTX
格式的文档后,发现中文会显示成方框。这是因为libreoffice
没有内置中文字体,在libreoffice
的官网上有说明:https://zh-cn.libreoffice.org/download/fonts/,我们需要安装中文字体
-
将zip压缩包复制到
/usr/share/fonts
目录下sudo mv SourceHanSansCN.zip SourceHanSerifCN.zip /usr/share/fonts/
-
解压zip包,删除zip包
sudo unzip /usr/share/fonts/SourceHanSansCN.zip sudo unzip /usr/share/fonts/SourceHanSerifCN.zip sudo rm /usr/share/fonts/SourceHanSansCN.zip sudo rm /usr/share/fonts/SourceHanSerifCN.zip
-
更新字体缓存
fc-cache -fv
-
重新启动
libreoffice
服务,进入xwiki
的设置–>内容–>Office服务,在操作
一栏选择重新启动服务器
,点击更新
设置编辑器支持修改字体和背景颜色
在编辑页面的时候,经常希望重点突出某些文字,给文字或背景设置颜色。发现在编辑器中找不到设置颜色的地方
XWiki
自带的CKEdit
编辑器禁用了颜色按钮,需要在设置中启用。进入设置–>Editing–>WYSIWYG Editor–>Disabled Plugins,取消选择colorbutton
,保存即可
安装XWiki插件
推荐一些插件,注意插件名称中带pro
的一般是收费插件,这里推荐的都是免费插件
- Markdown语法,
xwiki
默认没有带markdown编辑,可以安装扩展支持- 安装扩展
Markdown Syntax 1.2
- 进入设置–>Syntaxes–>取消勾选Markdown 1.2,保存即可
- 安装扩展
- 流程图插件Diagram Application,安装后支持使用draw.io创建各种流程图
- 管理工具Admin Tools Application 可以使用管理工具应用程序来验证
XWiki
安装的一些基本设置(前提是xwiki
的安装使用Tomcat、MySQL) - 问答应用FAQ Application,可以将一些常见的问题记录到
xwiki
中,供查阅
遗留问题
完成配置和安装后,就可以投入使用了,使用中发现的一些问题记录
- 搜索结果页面,匹配的关键字颜色背景是黑色,以前好像是黄色,但是不影响使用
- 搜索框建议输入中文不会给出提示,查看接口发给
Solr
的请求中,传的关键字是在中文输入法选词时输入的字母,不是实际输入到搜索框的中文 - 即使配置了
Solr
的中文分词,也不能搜索到附件的中文名称,猜测可能是managed-schema
中未配置的问:/home/username/xwiki/data/store/solr/search/conf/managed-schema
- 中文汉化不完全,可以支持贡献汉化,地址:https://l10n.xwiki.org/projects/