MediaWiki1.31安装可视化编辑器(一)配置Parsoid

前言

可视化编辑器(VisualEditor)是 MediaWiki 的一个拓展用于提供可视化的编辑界面。
因为需要额外安装 Parsoid 和 RESTbase 所以配置起来非常复杂,Mooncell 成功配置过但是由于消耗问题,启用了一段时间后就关闭了。
注意这些都基于 centos7

Parsoid

简介

Parsoid 是一个提供 wikitext,HTML 互相转换服务的程序。
最初这是一个 Node.js 程序运行在 Wikimedia 集群上(Dec.2012-Dec.2019),在 2019 年被移植到 php 并在 2019 年 12 月替换了 Wikimedia 集群上的 js 版本,最终目标是集成进 MediaWiki 核心,替换现有的解析器。
Parsoid(PHP 版本)计划在 2020 年 6 月原生的绑定进 MediaWiki,所以届时这个章节可能是过时的

安装

如果你会用 docker 的话可以尝试社区做的 docker 镜像 github
需要 nodejs 请自己装和 python2(centos7 自带)
因为是 1.31 版本的 MediaWiki 所以我们当时用了 0.9.0 版本的 parsoid(或许应该用 0.10.0)

git clone --single-branch --branch v0.9.0 --recursive https://gerrit.wikimedia.org/r/mediawiki/services/parsoid/deploy
git clone --single-branch --branch v0.9.0 https://gerrit.wikimedia.org/r/mediawiki/services/parsoid
cd parsoid
npm install 
cp config.example.yaml config.yaml

配置

config.yaml 的注释写的很清楚。
如果你的站点在一个代理后面比如像我们一样在 cdn 后面那么需要额外的配置
比如你的 mw 可以通过 example.wiki 访问,但是实际上 example.wiki 解析到的是代理服务器 / 负载均衡服务器 /cdn 节点
那么你需要在 parsoid 所在服务器的 hosts 里把 internal.example.wiki 解析到实际的 MediaWiki 服务器地址
然后把 config.yaml 中的 services.conf.mwApis.uri 的域名部分和 domain 指向 internal.example.wiki
在 mooncell,MediaWiki 和 Parsoid 共用一个服务器,所以我们把 internal.fgo.wiki 解析到 127.0.0.1

/etc/hosts

127.0.0.1 internal.fgo.wiki

parsoid/config.yaml

mwApis:
- uri:'http://internal.fgo.wiki/api.php"
  # 指向的api入口
  domain:"internal.fgo.wiki"

为了让 nginx/apache 意识到这个请求是给 MediaWiki 的我们需要把 internal.fgo.wiki 加入 server_name

fgo.wiki.conf

server{
    server_name fgo.wiki internal.fgo.wiki

运行

node parsoid/bin/server.js

建议用 pm2 保活

MediaWiki1.31 安装可视化编辑器(二)配置 RESTbase

本文链接:https://riesa.mooncell.wiki/mw/visualEditor-setup-parsoid.html
除非另有声明,网站内容采用 知识共享署名-非商业性使用-相同方式共享授权。

评论已关闭