
어쩌다 미디어위키에 Visual Editor를 설치 할 일이 생겨서 설치 하면서 고생을 많이 해서 정리해 둡니다 ㅜ.ㅜ.
Visual Editor Extension 설치 하기
https://www.mediawiki.org/wiki/Extension:VisualEditor
우선 이 사이트에 방문해서 아무런 생각없이 사이트에서 git으로 설치 하라는 대로 설치하고 띄워 봤더니.. 하얀 화면만 나오고 아무것도 없이 먹통이 되더군요 -_-;;
뭐가 잘 못 된지도 모르고 하얀 먹통이라서 뭐가 잘 못 된지도 모르는 채 하루를 날려 버렸습니다. 😨
결국 알아 낸것이 버전에 맞는 extension을 설치해야 하는 것이였습니다..
아래 url에 가서 내가 설치한 mediawiki와 맞는 버전을 찾아서 받아서 설치해야 합니다.
https://www.mediawiki.org/wiki/Special:ExtensionDistributor/VisualEditor

wget https://extdist.wmflabs.org/dist/extensions/VisualEditor-REL1_33-f64e411.tar.gz
tar -xzf VisualEditor-REL1_33-f64e411.tar.gz -C /var/www/mediawiki/extensions
LocalSettings.php
파일에 아래 내용을 추가해 줍니다.
wfLoadExtension( 'VisualEditor' );
$wgDefaultUserOptions['visualeditor-enable'] = 1;
$wgHiddenPrefs[] = 'visualeditor-enable';
$wgVirtualRestConfig['modules']['parsoid'] = array(
'url' => 'http://mydomain.com:8000',
);
Parsoid 설치하기
Visual Editor는 확장만 설치해서 동작하지 않고 parsoid를도 같이 설치를 해 줘야 합니다.
먼저 paroid를 사용하려면 node가 설치가 되어 있어야 합니다. 설치가 되어 있지 않다면 설치하시면 됩니다.
$ mkdir /opt/parsoid
$ cd /opt/parsoid
$ git clone https://gerrit.wikimedia.org/r/mediawiki/services/parsoid
$ cd parsoid
$ npm install
$ cp config.example.yaml config.yaml
$ cp localsettings.example.js localsettings.js
먼저 api.php의 주소를 확인 합니다. 설치된 미디어위키의 주소에서 api.php파일을 띄워서 아래와 같은 화면이 나오면 됩니다.

config.yaml
에서 mwApis 부분을 아래와 같이 수정해 줍니다.
mwApis:
- # This is the only required parameter,
# the URL of you MediaWiki API endpoint.
uri: 'http://mydomain.com/api.php'
그리고, localsettings.js
파일도 아래와 같이 편집해 줍니다. domain과 prefix라는게 있는 옵션이라서 생략해도 됩니다.
'use strict';
exports.setup = function(parsoidConfig) {
parsoidConfig.setMwApi({
uri: 'http://mydomain.com/api.php',
});
};
위에까지 설정이 완료 되었으면, 실행해 봅니다.
$ npm start
혹시 방화벽을 사용중이라면 방화벽을 풀어주는 것도 잊지 말아 주세요.
이제 세팅이 다 되었으니, 미디어위키에서 잘 동작하는지 테스트 해 보시면 됩니다.
pm2로 parsoid를 서비스형태로 설정해 주기..
먼저 pm2를 설치해 줍니다.
$ npm install -g pm2
그리고, parsoid가 설치된 폴더로 이동해서 실행해 줍니다.
$ cd /opt/parsoid
$ pm2 start --name parsoid npm -- start
다음부터 pm2에 방금 등록한 앱을 저장해 주고 서비스로 등록해 줍니다.
$ pm2 save
$ pm2 startup
startup을 했을경우 root권한이 아닐 경우, 아래와 같은 메시지가 나옵니다.
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u USERNAME --hp /home/USERNAME
마지막 sudo가 있는 내용을 복사해서 붙여넣기 해서 실행해 주면 다음부터 컴퓨터를 껐다키면 알아서 parsoid를 실행해 주게 됩니다.
도움이 많이 되었습니다. 감사합니다~
답글
감사합니다.
저두 설치하면서 고생을 많이 해서 적어 둔 내용인데 도움이 되었다니 기쁘네요..
안녕하세요; 계속 안되서 포멧하고 똑같이 따라해봤는데;; npm start에서 계속 에러가 뜹니다; 물론 방화벽은 잠시 꺼뒀구요;;
아래와 같은 에러가 뜨네요;; 해결할 방법을 혹시 알고 계실까요;;ㅜㅜ
npm ERR! Linux 5.3.0-40-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start"
npm ERR! node v8.10.0
npm ERR! npm v3.5.2
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! parsoid@0.11.0 start: `service-runner`
이하 생략
답글
혹시, npm install을 실행 하셨나요?
필요한 패키지들이 설치 되지 않은거 같습니다.
npm install해서 설치에 오류가 난다면, npm의 권한 문제로 패키지가 설치안 되는 경우도 있습니다.
> sudo npm install
으로 시도해 보세요.
우분투에선 node나 npm 설치를 따로 안하더라구요! 메뉴얼대로 따라가면 parsoid가 간단하게 설치되고 작동하네요! 심지어 pm2 없이도 자동 실행되게끔!
pm2로 실행하려니 ecosystem.config.js 가 없다면서 실행이 안되네요...
답글
pm2를 설정하시면서 sudo 권한으로 실행을 하지 않으신것 같습니다.
sudo 권한을 확인 해 주세요.
규하님, restbase는 최신버전 visualeidtor에는 더 이상 필요없는건가요?
감사합니다
답글
그런거 같네요. 제가 설치 할 때는 restbase를 따로 설정하진 않았습니다.
그렇군요. 현재 구글클라우드에 우부투18 + 미디어위키 설치하는 중입니다. 저 같은 일반인도 접근하기 좋게 비주얼 에디터 설치중인데 수십번을 반복해도 안되어서요... ㅠㅠ 인터넷을 찾다찾다 보니 어떤분 글에 restbase를 설치-설정글을 남겨두어서 그것까지 해보아도 안되어 질문드려보았습니다. 답변 감사합니다.
답글