为MediaWiki安装VisualEditor

觉得作为一个队,就应该为队里留点什么,所以想搭一个关于 acm 的队里 wiki。虽然说我觉得标记语言不错,但不是所有人愿意花这个时间,所以还是给装上一个可视化编辑器吧。于是……

一大堆问题就来了


此处应是详细的安装过程,但是由于太懒了,就简单说一下主要还是后面遇到几个的问题。分别是,

  1. 远程浏览器访问,关于 0.0.0.0的;
  2. CentOS下安装,关于SELinux的;
  3. 输出重定向,关于 2> 或者 nohup的。如果对普通的安装过程没兴趣,可以直接跳到后面。

 

需要安装的主要有两个 VisualEditor, parsoid 。安装过程比较正常,比较麻烦的是配置。

1.安装VisualEditor

解压缩后,在wiki的配置文件中 LocalSettings.php 添加如下

此时,VisualEditor就可以工作了,不过只能够新建并编辑,但不能保存,也不能打开以前的词条。

2.安装parsoid

由于 parsoid 需要用 npm 安装,所以请先利用命令安装 nodejs,例如CentOS 下, yum install nodejs 

进入目录后,

需要启动服务器时,执行 bin 目录下的 server.js 文件。

另外,VisualEditor 与 parsoid 之间是通过 curl 命令来进行交互的,所以还需要安装 curl, yum install curl 。

上面的就是安装过程,比较正常,在网上或者官网也都可以找到详细的安装过程。可以参考 https://blog.yoitsu.moe/mediawiki/visualeditor_for_mediawiki.html

 

3.配置parsoid

主要问题就是端口号和 0.0.0.0。

修改如下

因为是本机的VisualEditor调用parsoid,所以上面的prefix和domain可以不用改,保持 localhost 就行。

uri改为域名或 IP 加上 api.php 的路径,保证利用该地址能访问到 api 文件。

修改这一段

将注释去掉,并修改端口为任意值,例如 8080。开启服务器后, ./server.js & ,& 可以让它后台执行。

此时可以在本地浏览器访问  http://localhost:8080  ,或者在本地终端

curl http://localhost:8080 ,如出现正常页面,或者大段信息,则说明配置正常。

这里出现了我碰到的第一个问题,也就是本地可以正常访问,远程终端 curl 也可以,但是浏览器就不能访问了,这个问题不是很要紧。

解决的话,可以将  127.0.0.1 改为  0.0.0.0 。便可在远程浏览器中通过 域名或IP加上端口访问。

 

4.连接VisualEditor和parsoid

同理,上述配置中可以全部保持localhost不变。此时,开启parsoid服务器后,便可以正常访问和编写。

 

下面就是我在安装的时候碰到的其他问题。

CentOS下的安装

我是在CentOS下安装的,中间一直出现 curl error 7 这个错误,弄了半天也没有搞清楚,最后在 mediawiki 官网安装说明的讨论中找到了这个问题。

出现的问题和 CentOs的Selinux有关,这是一个关于安全的东西,可以在  /etc/selinux/config 中将  SELINUX 设为  disabled 。

也可以参考这个网站http://www.akashif.co.uk/php/curl-error-7-failed-to-connect-to-permission-denied

重定向输出信息

开始服务器可以利用在命令后加 & 后台执行,但是其默认会将输出信息输出在控制台,解决办法如下。

第一种是重定向,试了下,他的输出信息应该默认是按照错误信息输出的,所以可以利用 2> 来进行重定向。

例如  ./server.js 2> log ,log没有什么特殊的含义,只是作为一个文件名字,将所有输出重定向至它。

需要注意的是这个方法,需要 root 权限,并且 sudo 是不行的。

第二种方法是利用 nohup, nohup ./server.js & ,这样他会自动创建一个文件,并将输出重定向至这个文件。

 

P.S.
这里是有一个十分详细的安装过程,但是太过详细反而让人很蒙,但是也可以参考一下https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372

 

最后,由于我也是新手,表达上可能有问题,或者对某些问题描述有误,希望指正。

发表评论

电子邮件地址不会被公开。 必填项已用*标注