Parsoid编辑器安装搭建

1.Parsoid简介

Parsoid是一个允许在Wikitext和HTML之间来回转换的应用程序。

可以在运行时在MediaWiki的Wikitext语法和等效的HTML/RDFa文档模型之间来回转换,

并增强了对自动处理和丰富编辑的支持。原始应用程序使用JavaScript编写(使用Node.js)。

2.系统环境

提示:安装Parsoid工具需要提前部署好Mediawiki服务

OS版本:CentOS 7.6

数据库版本:MariabDB 5.5.6

PHP版本:5.5

Nginx版本:1.16

Node.js版本:9.8.0

3.系统环境配置

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	

4.部署Nodejs环境

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

5.安装并配置Parsoid

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:修改此地址为可解析的域名

6.创建启动服务脚本

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

7.查看端口

ss -tunlp | grep "8000"

8.安装VisualEditor

注意:如果备份文件中已有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/

9.访问并测试

在浏览器中输入以下格式来访问你的Mediawiki

http://{DOMAIN_NAME}:{PORT}

DOMAIN_NAME:设置的域名名称

PORT:httpd默认的监听端口为80

以管理员身份登录 --> 编辑主页 -> 保存页面

10.参考链接

CentOS 7上部署Mediawiki的VisualEditor

Visualeditor安装方法

VisualEditor安装笔记

Parsoid通过git获取指定版本

你可能感兴趣的:(运维系列)