"제로원:시각편집기"의 두 판 사이의 차이
통진고위키
(systemctl start parsoid 오류 해결) |
|||
3번째 줄: | 3번째 줄: | ||
[[통진고위키:시각편집기|시각편집기]]는 미디어위키 편집을 쉽고 편하게 하기 위해 개발된 편집기이다. [[안중원]]이 설치하느라 애먹었다. | [[통진고위키:시각편집기|시각편집기]]는 미디어위키 편집을 쉽고 편하게 하기 위해 개발된 편집기이다. [[안중원]]이 설치하느라 애먹었다. | ||
* https://www.mediawiki.org/wiki/VisualEditor<nowiki/>(영어): 미디어위키의 문서 | *https://www.mediawiki.org/wiki/VisualEditor<nowiki/>(영어): 미디어위키의 문서 | ||
* https://www.howtoforge.com/tutorial/how-to-install-visualeditor-for-mediawiki-on-centos-7/: 최종적으로 성공한 방법 - 이것도 똑같이 해서는 문제가 있었다. | *https://www.howtoforge.com/tutorial/how-to-install-visualeditor-for-mediawiki-on-centos-7/: 최종적으로 성공한 방법 - 이것도 똑같이 해서는 문제가 있었다. | ||
== 설치 방법 == | ==설치 방법== | ||
=== Parsoid 설치 === | ===Parsoid 설치=== | ||
[[mediawikiwiki:Parsoid|Parsoid]](파르소이드?)를 설치한다. Parsoid는 위키텍스트와 HTML을 서로 변환하는 프로그램이다. 비주얼에디터가 이 프로그램을 기반으로 작동한다. 미디어위키 문서에서는 apt 등 패키지 매니저를 통해 Parsoid를 설치하라고 나와있지만 그러면 전혀 작동이 안 된다. 통진고위키는 git에서 클론해서 설치했다. | [[mediawikiwiki:Parsoid|Parsoid]](파르소이드?)를 설치한다. Parsoid는 위키텍스트와 HTML을 서로 변환하는 프로그램이다. 비주얼에디터가 이 프로그램을 기반으로 작동한다. 미디어위키 문서에서는 apt 등 패키지 매니저를 통해 Parsoid를 설치하라고 나와있지만 그러면 전혀 작동이 안 된다. 통진고위키는 git에서 클론해서 설치했다. | ||
# 의존사항 설치(node, npm, git). 추가로 vim과 같은 텍스트 편집기도 필요하다.<syntaxhighlight lang="shell"> | #의존사항 설치(node, npm, git). 추가로 vim과 같은 텍스트 편집기도 필요하다.<syntaxhighlight lang="shell"> | ||
apt install node npm git | apt install node npm git | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# git으로 Parsoid를 다운로드하고 Parsoid의 의존성 패키지를 설치한다.<syntaxhighlight lang="shell"> | #git으로 Parsoid를 다운로드하고 Parsoid의 의존성 패키지를 설치한다.<syntaxhighlight lang="shell"> | ||
mkdir -p /opt/parsoid | mkdir -p /opt/parsoid | ||
git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid /opt/parsoid | git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid /opt/parsoid | ||
20번째 줄: | 20번째 줄: | ||
npm install | npm install | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# 설정 파일을 작성한다.<syntaxhighlight lang="shell"> | #설정 파일을 작성한다.<syntaxhighlight lang="shell"> | ||
cp localsettings.example.js localsettings.js | cp localsettings.example.js localsettings.js | ||
</syntaxhighlight>위와 같이 복사한 후, <code>localsettings.js</code>를 열어서 다음과 같이 편집한다.<syntaxhighlight lang="javascript"> | </syntaxhighlight>위와 같이 복사한 후, <code>localsettings.js</code>를 열어서 다음과 같이 편집한다.<syntaxhighlight lang="javascript"> | ||
38번째 줄: | 38번째 줄: | ||
domain: 'tjhswiki.com' | domain: 'tjhswiki.com' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# 서비스를 생성한다. 시각편집기가 언제든 Parsoid를 이용할 수 있으려면 항상 실행되고 있어야 된다.<syntaxhighlight lang="shell"> | #서비스를 생성한다. 시각편집기가 언제든 Parsoid를 이용할 수 있으려면 항상 실행되고 있어야 된다.<syntaxhighlight lang="shell"> | ||
cd /etc/systemd/system/ | cd /etc/systemd/system/ | ||
</syntaxhighlight><code>/etc/systemd/system/</code>에서 <code>parsoid.service</code> 파일을 만들고 편집한다. 이 파일이 곧 서비스가 된다. 파일 이름은 사실 자유롭게 해도 되지만 파일 이름이 곧 서비스 이름이 되는 것만 기억하라.<syntaxhighlight> | </syntaxhighlight><code>/etc/systemd/system/</code>에서 <code>parsoid.service</code> 파일을 만들고 편집한다. 이 파일이 곧 서비스가 된다. 파일 이름은 사실 자유롭게 해도 되지만 파일 이름이 곧 서비스 이름이 되는 것만 기억하라.<syntaxhighlight> | ||
70번째 줄: | 70번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== VisualEditor 확장기능 설치 === | ===VisualEditor 확장기능 설치=== | ||
다른 확장기능 설치할 때와 마찬가지로, [[mediawikiwiki:Special:ExtensionDistributor/VisualEditor|확장기능 배포 페이지]]에서 압축파일을 받아서 <code>/var/www/html/w/extensions/</code> 경로에 업로드하고 압축을 푼다. 그 뒤 <code>LocalSettings.php</code>에 다음 내용을 추가한다.<syntaxhighlight lang="php"> | 다른 확장기능 설치할 때와 마찬가지로, [[mediawikiwiki:Special:ExtensionDistributor/VisualEditor|확장기능 배포 페이지]]에서 압축파일을 받아서 <code>/var/www/html/w/extensions/</code> 경로에 업로드하고 압축을 푼다. 그 뒤 <code>LocalSettings.php</code>에 다음 내용을 추가한다.<syntaxhighlight lang="php"> | ||
wfLoadExtension( 'VisualEditor' ); | wfLoadExtension( 'VisualEditor' ); | ||
83번째 줄: | 83번째 줄: | ||
); | ); | ||
</syntaxhighlight><br /> | </syntaxhighlight><br /> | ||
== 오류 및 해결법 == | |||
=== "systemctl start parsoid" 실행할 때 오류메시지 === | |||
<syntaxhighlight lang="shell-session"> | |||
$ systemctl start parsoid | |||
Job for parsoid.service failed because a configured resource limit was exceeded. See "systemctl status parsoid.service" and "journalctl -xe" for details. | |||
</syntaxhighlight>서비스를 시작하려고 할 때 간혹 저런 메시지가 뜨는 경우가 있다. 그럴 땐 /var/tmp 디렉토리를 만들어주면 해결된다.<references /> |
2020년 4월 26일 (일) 21:04 판
시각편집기에 관련하여 질문이 있거나 오류가 발생하면 토론 문서에 써놓으십시오. 친절한 편집자가 그에 관한 답을 달아 줄 것입니다. 유용한 답은 본 문서에 기재될 수 있습니다. |
ZERO-ONE 포털 |
---|
시각편집기는 미디어위키 편집을 쉽고 편하게 하기 위해 개발된 편집기이다. 안중원이 설치하느라 애먹었다.
- https://www.mediawiki.org/wiki/VisualEditor(영어): 미디어위키의 문서
- https://www.howtoforge.com/tutorial/how-to-install-visualeditor-for-mediawiki-on-centos-7/: 최종적으로 성공한 방법 - 이것도 똑같이 해서는 문제가 있었다.
설치 방법
Parsoid 설치
Parsoid(파르소이드?)를 설치한다. Parsoid는 위키텍스트와 HTML을 서로 변환하는 프로그램이다. 비주얼에디터가 이 프로그램을 기반으로 작동한다. 미디어위키 문서에서는 apt 등 패키지 매니저를 통해 Parsoid를 설치하라고 나와있지만 그러면 전혀 작동이 안 된다. 통진고위키는 git에서 클론해서 설치했다.
- 의존사항 설치(node, npm, git). 추가로 vim과 같은 텍스트 편집기도 필요하다.
apt install node npm git
- git으로 Parsoid를 다운로드하고 Parsoid의 의존성 패키지를 설치한다.
mkdir -p /opt/parsoid git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid /opt/parsoid cd /opt/parsoid npm install
- 설정 파일을 작성한다.위와 같이 복사한 후,
cp localsettings.example.js localsettings.js
localsettings.js
를 열어서 다음과 같이 편집한다.사실 미디어위키 문서를 읽어보면 아래의exports.setup = function(parsoidConfig) { parsoidConfig.setMwApi({ // 미디어위키의 api.php 주소 uri: 'http://tjhswiki.com/w/api.php', }); };
config.yaml
만 있으면 되는 것 같지만 다른 대부분의 도움말에서는 둘 다 설정한다.위와 같이 복사한 후,cp config.example.yaml config.yaml
config.yaml
를 열어서 다음과 같이 편집한다.mwApis: - # 미디어위키 api.php의 주소 uri: 'http://tjhswiki.com/w/api.php' # 사이트의 도메인 domain: 'tjhswiki.com'
- 서비스를 생성한다. 시각편집기가 언제든 Parsoid를 이용할 수 있으려면 항상 실행되고 있어야 된다.
cd /etc/systemd/system/
/etc/systemd/system/
에서parsoid.service
파일을 만들고 편집한다. 이 파일이 곧 서비스가 된다. 파일 이름은 사실 자유롭게 해도 되지만 파일 이름이 곧 서비스 이름이 되는 것만 기억하라.[1]서비스를 시작하고 부팅할 때 시작하도록 등록한다.[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/bin/npm start KillMode=process Restart=on-success PrivateTmp=true StandardOutput=syslog
다음 명령어로 서비스가 잘 돌아가고 있는지 확인할 수 있다.systemctl daemon-reload systemctl start parsoid systemctl enable parsoid
Active: active (running)
이라는 문구가 있으면 잘 돌아가고 있는 것이다.다음 명령어로 인터넷 포트도 확인해봐라. 8000번 포트가 열려있으면 잘 돌아가고 있는 것이다.systemctl status parsoid.service
netstat -plnt
VisualEditor 확장기능 설치
다른 확장기능 설치할 때와 마찬가지로, 확장기능 배포 페이지에서 압축파일을 받아서
/var/www/html/w/extensions/
경로에 업로드하고 압축을 푼다. 그 뒤 LocalSettings.php
에 다음 내용을 추가한다.wfLoadExtension( 'VisualEditor' );
// 선택 사항
# $wgDefaultUserOptions['visualeditor-enable'] = 1;
# $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";
// Parsoid 설정
$wgVirtualRestConfig['modules']['parsoid'] = array(
'url' => 'http://tjhswiki.com:8000'
);
오류 및 해결법
"systemctl start parsoid" 실행할 때 오류메시지
$ systemctl start parsoid
Job for parsoid.service failed because a configured resource limit was exceeded. See "systemctl status parsoid.service" and "journalctl -xe" for details.