Parsoid是一个允许在Wikitext和HTML之间来回转换的应用程序。
可以在运行时在MediaWiki的Wikitext语法和等效的HTML/RDFa文档模型之间来回转换,
并增强了对自动处理和丰富编辑的支持。原始应用程序使用JavaScript编写(使用Node.js)。
提示:安装Parsoid工具需要提前部署好Mediawiki服务
OS版本:CentOS 7.6
数据库版本:MariabDB 5.5.6
PHP版本:5.5
Nginx版本:1.16
Node.js版本:9.8.0
1)配置阿里yum源
cat > /etc/yum.repos.d/CentOS-Base.repo << EOF
> [base]
> name=CentOS-$releasever - Base - mirrors.aliyun.com
> failovermethod=priority
> baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/
> EOF
2)关闭firewalld防火墙并禁止开机自启动
systemctl disable firewalld && systemctl stop firewalld
3)临时和永久关闭SElinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4)清空iptables规则
iptables -X && iptables -F && iptables -Z
1)下载并解压文件
cd /opt
wget https://nodejs.org/dist/v9.8.0/node-v9.8.0-linux-x64.tar.xz
xz -d node-v9.8.0-linux-x64.tar.xz
tar -xf node-v9.8.0-linux-x64.tar
2)创建链接文件
cd node-v9.8.0-linux-x64
ln -s /opt/node-v9.8.0-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/node-v9.8.0-linux-x64/bin/npm /usr/local/bin/npm
3)查看版本并切换镜像源
node -v
npm -v
npm config set registry https://registry.npm.taobao.org
1)下载并安装Parsoid
注意:Mediawiki和Parsoid之间的版本要注意兼容性
mkdir -p /opt/parsoid
git clone --single-branch --branch {VERSION} https://gerrit.wikimedia.org/r/mediawiki/services/parsoid
mv parsoid/ /opt
cd /opt/parsoid
npm install
VERSION:指明需要克隆到本地的软件包版本号,例如v0.6.1
2)修改localsettings.example.js配置文件
cp localsettings.example.js localsettings.js
修改localsettings.js中的文件内容,如下:
exports.setup = function(parsoidConfig) {
// Do something dynamic with `parsoidConfig` like,
parsoidConfig.setMwApi({
uri: 'http://{DOMAIN_NAME}/api.php',
});
};
DOMAIN_NAME:修改此地址为可解析的服务器域名(服务器主机映射记录请写入/etc/hosts
文件)
注意:如果是用Windows上的客户端进行访问,还需要在C:\Windows\System32\drivers\etc\hosts
文件中写入域名和IP地址的映射记录
3)修改config.example.yaml文件
cp config.example.yaml config.yaml
修改config.yaml文件中的内容,如下:
mwApis:
- # This is the only required parameter,
# the URL of you MediaWiki API endpoint.
uri: 'http://{DOMAIN_NAME}/api.php'
# The "domain" is used for communication with Visual Editor
# and RESTBase. It defaults to the hostname portion of
# the `uri` property above, but you can manually set it
# to an arbitrary string. It must match the "domain" set
# in $wgVirtualRestConfig.
domain: '{DOMAIN_NAME}'
#optional
DOMAIN_NAME:修改此地址为可解析的域名
cd /etc/systemd/system/
cat > parsoid.service << EOF
> [Unit]
> Description=Mediawiki Parsoid web service on node.js
> Documentation=http://www.mediawiki.org/wiki/Parsoid
> Wants=local-fs.target network.target
> After=local-fs.target network.target
>
> [Install]
> WantedBy=multi-user.target
>
> [Service]
> Type=simple
> User=root
> Group=root
> WorkingDirectory=/opt/parsoid
> ExecStart=/usr/local/bin/node /opt/parsoid/bin/server.js
> KillMode=process
> Restart=on-success
> PrivateTmp=true
> StandardOutput=syslog
> EOF
systemctl daemon-reload
systemctl enable parsoid && systemctl start parsoid && systemctl status parsoid
ss -tunlp | grep "8000"
注意:如果备份文件中已有VisualEditor文件,请直接进行到第三步操作,修改LocalSetting.php文件。
1)克隆VisualEditor代码文件
cd /usr/share/nginx/html/extensions
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git
注意:如果你的Mediawiki的版本是1.31.0,请克隆以下分支代码文件
git clone -b REL1_31 https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
2)初始化并更新子模块
cd VisualEditor/
git submodule update --init
3)编辑LocalSettings.php文件启用VisualEditor
cd /usr/shar/nginx/html/
将以下配置粘贴到LocalSettings.php文件末尾
require_once "$IP/extensions/VisualEditor/VisualEditor.php";
// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;
// Don't allow users to disable it
$wgHiddenPrefs[] = 'visualeditor-enable';
// OPTIONAL: Enable VisualEditor's experimental code features
$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
$wgVirtualRestConfig['modules']['parsoid'] = array(
// URL to the Parsoid instance
'url' => 'http://{DOMAIN_NAME}:8000',
'domain' => '{DOMAIN_NAME}',
'prefix' => '{DOMAIN_NAME}',
'forwardCookies' => true,
)
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = true;
$wgGroupPermissions['user']['read'] = true;
$wgGroupPermissions['user']['edit'] = true;
{DOMAIN_NAME}:替换为可解析的域名或主机名
4)修改目录权限
chown -R nginx:nginx /usr/share/nginx/html/
在浏览器中输入以下格式来访问你的Mediawiki
http://{DOMAIN_NAME}:{PORT}
DOMAIN_NAME:设置的域名名称
PORT:httpd默认的监听端口为80
以管理员身份登录 --> 编辑主页 -> 保存页面
CentOS 7上部署Mediawiki的VisualEditor
Visualeditor安装方法
VisualEditor安装笔记
Parsoid通过git获取指定版本