bin文件编辑_为MediaWiki安装可视化编辑器VisualEditor
這篇文章于2018年的1月份發布于本人的網站,當時偷懶,有部分內容沒有寫完整。直到最近重新安裝可視化編輯器才發現:安裝過程并不是太過復雜,基本上只要你的Parsoid安裝成功并且能夠運行,那么離成功也就不遠了,而所缺的就是幾個檢測結果和圖片。另外被restbase給迷惑了,其實并不是必須的。
MediaWiki的可視化編輯器從2011年5月立項開始,發展到至今快6個年頭,而真正走入大眾視野卻是在2017年的年中。目前維基百科的默認編輯器就是VisualEditor,它的所見即所得的特性提高了用戶的體驗,降低了入門門檻并提升了編輯維基的樂趣。
VisualEditor的原理,簡單來說就是通過后臺Parsoid 的程序來承擔把wiki標記轉化成html的任務,同時VisualEditor以插件的形式在MediaWiki中運行,用戶可以在原來的編輯界面直接使用,編輯者角度上幾乎無學習成本。
而它的安裝難度要大于其他擴展程序,主要也就在于需要Parsoid服務(它是一個基于Nodejs的解析器服務。 它被許多MediaWiki擴展使用,包括VisualEditor,Flow,內容翻譯和其他應用程序)的支持。而官方文檔上除了有Ubuntu和Debian的安裝方法外(基本上屬于自動安裝),沒有給出CentOS的安裝方法。
本文以指導如何在CentOS7下安裝VisualEditor。
提示:
- 在安裝VisualEditor前請先確保你的MediaWiki已正確安裝,并能編輯頁面。
- 文中的MeidaWiki版本為1.30(部分后補圖片為1.34版的),皮膚為Vector(VisualEditor目前已知兼容的皮膚為:Vector、MonoBook、Apex和Minerva)
一、安裝Parsoid
這是為在沒有安裝Parsoid的情況下,系統提示的錯誤信息。你雖然能夠看到一個可視化編輯器的樣式卻無法使用。
1、安裝依賴關系
要安裝Parsoid服務并配置VisualEditor,我們需要在系統上安裝一些CentOS軟件包。 具體來說,我們將安裝Nodejs,npm,vim和git。
使用下面的yum命令安裝所有需要的軟件包。
一定要確保所有的軟件包和依賴項已經安裝(如果你使用寶塔面板,那么在軟件商店中安裝PM2管理器,并且選擇你的Node版本)。
2、安裝并配置Parsoid
Parsoid可以安裝在單獨的MediaWiki服務器上。 但是對于本教程,我們默認是將MediaWiki和Parsoid安裝在同一個CentOS 7服務器。
現在,由于我們使用的是CentOS 7服務器,因此我們需要手動安裝Parsoid服務,因為官方軟件包僅適用于基于Ubuntu / Debian的操作系統。
因此,首先創建一個新的/ opt / parsoid目錄,并使用git命令克隆最新的parsoid,如下所示。
現在進入“/ opt / parsoid”目錄,使用下面的npm命令安裝Parsoid服務。
cd /opt/parsoid npm install安裝完成后,您將得到如下結果。
接下來,通過編輯相應的配置文件來配置Parsoid服務。
將示例配置“localsettings.example.js”復制到“localsettings.js”,然后使用vim編輯該文件。
取消注釋“parsoidConfig.setMwApi”行,并使用MediaWiki API URL更改“uri”值,如下所示。
exports.setup = function(parsoidConfig) {// Do something dynamic with `parsoidConfig` like,parsoidConfig.setMwApi({uri: 'http://wiki.mindseed.cn/api.php',});};保存并退出。
注:此步驟非必須,而且默認配置文件關閉了調用localsettings.js文件的功能的,除非你的Parsoid和MediaWiki不在同一個服務器上。
現在將'config.example.yaml'配置復制到'config.yaml'并用vim編輯器進行編輯。
cp config.example.yaml config.yaml vim config.yaml在“mwApis”行(第34行)上,使用MediaWiki API URL和“域”值更改“uri”值,并使用你自己的域名。
mwApis:- # This is the only required parameter,# the URL of you MediaWiki API endpoint.uri: 'http://wiki.mindseed.cn/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: 'wiki.mindseed.cn' #optionaluri中的地址請復制到瀏覽器檢驗一下,在我的網站中api.php文件是位于網站根目錄下的,如果你將MediaWiki安裝在網站的某個子目錄下(如Wiki),那么請將uri改為http://你的網站域名/wiki/api.php。當然,Parsoid和Mediawiki安裝于同一個服務器的話,也可以直接用localhost代替域名。
保存并退出。
接下來,我們將Parsoid配置為一項服務。 為此,轉至“/ etc / systemd / system”目錄并創建一個名為“parsoid.service”的新服務文件
粘貼下面的Parsoid服務配置。
[Unit]Description=Mediawiki Parsoid web service on node.jsDocumentation=http://www.mediawiki.org/wiki/ParsoidWants=local-fs.target network.targetAfter=local-fs.target network.target[Install]WantedBy=multi-user.target[Service]Type=simpleUser=rootGroup=rootWorkingDirectory=/opt/parsoidExecStart=/usr/bin/node /opt/parsoid/bin/server.jsKillMode=processRestart=on-successPrivateTmp=trueStandardOutput=syslog注意:如果你使用的是nvm方式安裝Node,那么ExecStart=/usr/bin/node這行需要修改成實際的地址(我的地址為/usr/local/n/versions/node/版本號/bin/node),否則你的parsoid是沒有辦法運行起來的。至于用戶和用戶組可以根據自己的需要新建一個專用的。
systemctl daemon-reload現在,啟動Parsoid服務,并使其在系統啟動時每次執行。
systemctl start parsoid systemctl enable parsoidParsoid現在應該在CentOS 7上作為一項服務運行,使用8000端口。您可以通過以下方式使用netstat命令進行檢查。
netstat -plntu你應該得到類似于以下的結果:
tcp6 0 0 :::8000 :::* LISTEN語法安裝和配置已經完成。注意:如果你使用云服務器的話,別忘了將安全組中的8000端口放行,否則還是會報錯。
好了,打開瀏覽器,輸入`你的域名:8000`,頁面如下:
注意:這里其實用的是http協議,所以瀏覽器會顯示不安全3、安裝并配置可視化編輯器
安裝插件就簡單多了,打開配置文件LocalSettings.php,輸入:
## 啟用可視化編輯器 wfLoadExtension( 'VisualEditor' );$wgVirtualRestConfig['modules']['parsoid'] = array(// URL to the Parsoid instance// Use port 8142 if you use the Debian package'url' => 'http://wiki.mindseed.cn:8000',// Parsoid "domain", see below (optional)'domain' => 'wiki.mindseed.cn',// Parsoid "prefix", see below (optional)'prefix' => 'wiki.mindseed.cn');# 默認對所有用戶啟用 $wgDefaultUserOptions['visualeditor-enable'] = 1;試著編輯一下維基頁面吧。
問題
1、“編輯”標簽和“編輯源代碼”標簽共存
安裝完之后,每個頁面就會重復出現“編輯”和“編輯源代碼”的標簽,而當你點擊任何一個都會默認進入到可視化編輯器中。
MediaWiki官網的參數設置中有一個編輯模式的選項。
解決方法:在LocalSettings.php中加入如下代碼
$wgVisualEditorUseSingleEditTab = true; $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";如果不希望在參數設置中顯示“編輯模式”的選項,可以在上述代碼中繼續加一行
$wgHiddenPrefs[] = 'visualeditor-tabs';2、除了條目外,是否能將可視化編輯器用在模板和其他命名空間
除了主條目外,可視化編輯器也可以用于其他命名空間,比如你自己新建的命名空間,如下面的MYTEST。
# 在條目、模板、用戶中開啟VisualEditor $wgVisualEditorAvailableNamespaces = [NS_MAIN => true,NS_USER => true,NS_TEMPLATE => true,NS_MYTEST => true, ];3、錯誤:apierror-visualeditor-docserver-http-error
在LocalSettings.php中$wgVirtualRestConfig['modules']['parsoid']那一段url如果你使用https則可能出現這樣的錯誤,你可以將https改為http試一下。
如果Parsoid和MediaWiki安裝在同一個服務器下,那么最根本的方法就是將網址改成localhost :
$wgVirtualRestConfig['modules']['parsoid'] = array(// URL to the Parsoid instance// Use port 8142 if you use the Debian package'url' => 'localhost:8000',// Parsoid "domain", see below (optional)'domain' => 'wiki.mindseed.cn',// Parsoid "prefix", see below (optional)'prefix' => 'wiki.mindseed.cn');參考文章:
《How to Install VisualEditor for MediaWiki on CentOS 7》
《如何在CentOS 7上安裝MediaWiki的VisualEditor》
《VisualEditor安裝筆記》
總結
以上是生活随笔為你收集整理的bin文件编辑_为MediaWiki安装可视化编辑器VisualEditor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员职业生涯
- 下一篇: python审计分析_【干货】Pytho