웹사이트 검색

CentOS 7에서 MediaWiki용 VisualEditor를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 우리가 할 일\n
  3. 1단계 - MediaWiki 설치 확인\n
  4. 2단계 - 종속성 설치
  5. 3단계 - Parsoid 설치 및 구성
  6. 4단계 - VisualEditor 설치 및 구성
  7. 5단계 - 테스트
  8. 참조

VisualEditor는 MediaWiki용 서식 있는 텍스트 편집기입니다. 확장 기능으로 사용할 수 있으며 Parsoid 파서 서비스를 사용하여 MediaWiki 페이지를 편집하기 위해 실행합니다.

Parsoid는 Nodejs를 기반으로 하는 파서 서비스입니다. VisualEditor, Flow, Content Translation 및 기타 응용 프로그램을 포함한 많은 MediaWiki 확장에서 사용됩니다.

이 튜토리얼에서는 최신 MediaWiki 버전 1.30에 대해 VisualEditor를 단계별로 설치하고 구성하는 방법을 보여줍니다. 우리 MediaWiki가 CentOS 7 운영 체제에 설치되어 있고, Parsoid 서비스인 Nodejs를 추가 및 설치하고 MediaWiki Editor를 위한 VisualEditor를 구성할 것이라는 점을 공유할 가치가 있습니다.

전제 조건

  • MediaWiki가 설치된 CentOS 7
  • 루트 권한\n

우리가 할 일

  1. MediaWiki 설치 확인\n
  2. 종속성 설치
  3. Parsoid 서비스 설치 및 구성
  4. MediaWiki용 VisualEditor 설치 및 구성
  5. 설정 테스트

1단계 - MediaWiki 설치 확인

이 단계에서는 MediaWiki 설치를 확인합니다. MediaWiki는 http://wiki.hakase-labs.me 도메인 이름으로 설치됩니다. 웹 브라우저를 열고 다음 MediaWiki URL 주소를 방문하십시오. 제 URL은 http://wiki.hakase-labs.me/입니다.

HTTPS 연결로 리디렉션되면 아래와 유사한 벡터 스킨이 있는 MediaWiki 페이지로 이동하게 됩니다.

다음으로 admin 사용자로 로그인하고 페이지 편집을 시도하십시오. 편집 탭을 클릭하면 아래와 같이 기본 MediaWiki 편집기가 나타납니다.

MediaWiki는 오류 없이 실행 중입니다.

2단계 - 종속성 설치

Parsoid 서비스를 설치하고 VisualEditor를 구성하려면 시스템에 일부 CentOS 패키지를 설치해야 합니다. 특히 Nodejs, npm, vim 및 git을 설치합니다.

아래의 yum 명령을 사용하여 필요한 모든 패키지를 설치하십시오.

yum -y install nodejs npm vim-enhanced git

모든 패키지와 종속성이 설치되었습니다.

3단계 - Parsoid 설치 및 구성

Parsoid는 별도의 MediaWiki 서버에 설치할 수 있습니다. 하지만 이 튜토리얼에서는 MediaWiki와 Parsoid 모두에 1개의 CentOS 7 서버만 사용할 것입니다.

이제 CentOS 7 서버를 사용하고 있으므로 공식 패키지는 Ubuntu/Debian 기반 운영 체제에서만 사용할 수 있으므로 소스에서 수동으로 Parsoid 서비스를 설치해야 합니다.

따라서 시작하려면 아래와 같이 새 /opt/parsoid 디렉토리를 만들고 git 명령을 사용하여 최신 parsoid를 복제합니다.

mkdir -p /opt/parsoid
git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid /opt/parsoid

이제 /opt/parsoid 디렉토리로 이동하고 다음 npm 명령을 사용하여 Parsoid 서비스를 설치하십시오.

cd /opt/parsoid
npm install

설치가 완료되면 아래와 같은 결과를 얻을 수 있습니다.

다음으로 해당 구성 파일을 편집하여 Parsoid 서비스를 구성합니다.

예제 구성 localsettings.example.js를 localsettings.js에 복사한 다음 vim을 사용하여 파일을 편집합니다.

cp localsettings.example.js localsettings.js
vim localsettings.js

parsoidConfig.setMwApi 행의 주석을 제거하고 아래와 같이 MediaWiki API URL로 uri 값을 변경하십시오.

exports.setup = function(parsoidConfig) {
        // Do something dynamic with `parsoidConfig` like,
        parsoidConfig.setMwApi({
                uri: 'http://wiki.hakase-labs.me/api.php',
         });
};

그게 다야. 저장 및 종료.

이제 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.hakase-labs.me/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.hakase-labs.me'
          #optional

저장 및 종료.

다음으로 Parsoid를 서비스로 구성합니다. 이를 위해 /etc/systemd/system 디렉토리로 이동하여 parsoid.service라는 새 서비스 파일을 만듭니다.

cd /etc/systemd/system/
vim parsoid.service

아래에 Parsoid 서비스 구성을 붙여넣으십시오.

[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/node /opt/parsoid/bin/server.js
KillMode=process
Restart=on-success
PrivateTmp=true
StandardOutput=syslog

저장 및 종료. 그런 다음 다음 다시 로드 명령을 실행합니다.

systemctl daemon-reload

이제 Parsoid 서비스를 시작하고 시스템 부팅 시마다 실행되도록 설정합니다.

systemctl start parsoid
systemctl enable parsoid

Parsoid는 이제 포트 8000을 사용하여 CentOS 7에서 서비스로 실행되어야 합니다. 다음과 같은 방법으로 netstat 명령으로 확인할 수 있습니다.

netstat -plntu

그리고 다음과 유사한 결과를 얻어야 합니다.

parsoid 설치 및 구성이 완료되었습니다.

메모:

서버에서 Firewalld를 실행 중인 경우 다음 명령을 사용하여 parsoid 포트 8000을 firewalld 구성에 추가합니다.

firewall-cmd --add-port=8000/tcp --permanent
firewall-cmd --reload

4단계 - VisualEditor 설치 및 구성

이 단계에서는 MediaWiki용 VisualEditor 확장을 설치하고 구성합니다.

MediaWiki 설치 디렉토리 /var/www/mediawiki/extensions로 이동하고 git을 사용하여 최신 VisualEditor 버전을 다운로드합니다.

cd /var/www/mediawiki/extensions
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git

이제 VisualEditor 디렉터리로 이동하여 그 안에 있는 모든 하위 모듈을 초기화하고 업데이트합니다.

cd VisualEditor/
git submodule update --init

다음으로 VisualEditor를 활성화하려면 Mediawiki 구성 파일 LocalSettings.php를 편집해야 합니다. 이를 위해 mediawiki 디렉토리로 이동하고 vim을 사용하여 LocalSettings.php 파일을 편집합니다.

cd /var/www/mediawiki
vim LocalSettings.php

아래 구성을 파일 끝에 붙여넣으십시오.

wfLoadExtension( 'VisualEditor' );

// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;

// Optional: Set VisualEditor as the default for anonymous users
// otherwise they will have to switch to VE
// $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";

// 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
    // Use port 8142 if you use the Debian package
    'url' => 'http://wiki.hakase-labs.me:8000',
    // Parsoid "domain", see below (optional)
    'domain' => 'wiki.hakase-labs.me',
    // Parsoid "prefix", see below (optional)
    'prefix' => 'wiki.hakase-labs.me'
);

그게 다야. 저장 및 종료.

메모:

자신의 도메인 이름으로 URL을 변경하십시오.

다음으로 미디어위키 디렉토리에 대한 소유권 권한을 nginx 사용자 및 그룹으로 변경합니다.

chown -R nginx:nginx /var/www/mediawiki

VisualEditor 확장 설치가 완료되었습니다.

5단계 - 테스트

웹 브라우저를 열고 다음 MediaWiki URL을 방문하세요. 제 URL은 http://wiki.hakase-labs.me입니다.

이제 관리자로 로그인하십시오.

로그인한 후 편집 탭을 클릭하여 홈페이지를 편집합니다. 아래와 같이 VisualEditor를 가져와야 합니다.

CentOS 7에서 MediaWiki의 VisualEditor 설치 및 구성이 성공적으로 완료되었습니다.

참조

  • https://www.mediawiki.org/wiki/Extension:VisualEditor