미디어위키/미디어위키 익스텐션

미디어위키(Mediawiki) 설치 권장 추가 익스텐션(Extension) Scribunto 설치와 활용

씨실과 날실 2020. 7. 3. 09:00

[익스텐션 목록]

기본 익스텐션

2019/10/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Interwiki 설치와 활용

2020/04/28 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Nuke 설치와 활용

2020/04/28 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Renameuser 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CiteThisPage 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Replace Text 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) WikiEditor 설치와 활용

2020/04/30 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CodeEditor 설치와 활용

2020/04/30 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CategoryTree 설치와 활용

2020/05/01 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Cite 설치와 활용

2020/05/01 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ImageMap 설치와 활용

2020/05/02 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) InputBox 설치와 활용

2020/05/02 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ParserFunctions 설치와 활용

2020/05/03 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Poem 설치와 활용

2020/05/03 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) SyntaxHighlight 설치와 활용

2020/05/04 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) PDF Handler 설치와 활용

2020/05/04 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ConfirmEdit 설치와 활용

2020/05/05 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) SpamBlacklist 설치와 활용

2020/05/05 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) TitleBlacklist 설치와 활용

2020/05/06 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Gadgets 설치와 활용

2020/05/06 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) LocalisationUpdate 설치와 활용

2020/05/07 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) MultimediaViewer 설치와 활용

2020/05/07 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) OATHAuth 설치와 활용




추천 추가 익스텐션





익스텐션 연재 목록




[익스텐션명 익스텐션 관련 정보]

익스텐션 공식 안내 페이지

https://www.mediawiki.org/wiki/Extension:Scribunto

다운로드

미디어위키 내 배포 페이지

https://www.mediawiki.org/wiki/Special:ExtensionDistributor/Scribunto

github 페이지

https://github.com/wikimedia/mediawiki-extensions-Scribunto


Scribunto 익스텐션 기능

Scribunto 익스텐션은 미디어위키에서 스크립트 언어를 지원하도록 해줍니다. 현재 미디어위키에서 지원하는 스크립트 언어는 Lua가 유일합니다.

Lua에 대한 자세한 내용은 아래 링크를 참고하시기 바랍니다.




설치 요구조건

PCRE 버전 호환성 확인

study@study-VirtualBox:~$ php -r 'echo "pcre: " . ( extension_loaded( "pcre" ) ? PCRE_VERSION : "no" ) . "\n";'
pcre: 8.39 2016-06-14
study@study-VirtualBox:~$ 

PCRE 버전 8.33 이상이 권장됩니다.

PCRE 버전 8.33 이상으로 업그레이드하는 방ㅂ버은 아래 링크를 참고하시기 바랍니다.


PHP mbstring extension 활성화 확인

PHP의 mbstring 익스텐션이 활성화되어야 합니다. 활성화 여부는 아래 명령을 통해 확인할 수 있습니다.

study@study-VirtualBox:~$ php -r 'echo "mbstring: " . ( extension_loaded( "mbstring" ) ? "yes" : "no" ) . "\n";'
mbstring: yes
study@study-VirtualBox:~$ 


익스텐션 다운로드 및 설치

다운로드 안내

익스텐션 다운로드 및 설치 방법은 아래 링크를 참고하시기 바랍니다.


사용 중인 미디어위키의 버전에 맞는 배포 익스텐션 압축 파일을 다운로드받습니다.

익스텐션 공식 배포처

미디어위키 내 배포 페이지

github 페이지




미디어위키 버전별 익스텐션 다운로드 주소

1.34

https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_34-f7bc2e3.tar.gz

1.33

https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_33-8328acb.tar.gz

1.32


1.31

https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_31-106fbf4.tar.gz

위 주소는 코드 수정으로 바뀔 수 있으므로 다운이 받아지지 않는다면 위 공식 루트를 통해 다운받으시기 바라비니다.

다운로드 받은 압축 파일을 서버 안 미디어위키 설치 폴더 내에 있는  extensions폴더 안에 풀어줍니다.

리눅스 서버의 경우

$ sudo tar -xzf Scribunto-REL1_34-f7bc2e3.tar.gz -C /미디어위키 설치 경로/extensions


예시 - Ubuntu

$ sudo tar -xzf Scribunto-REL1_34-f7bc2e3.tar.gz -C /var/www/html/w/extensions

위 명령은 제 블로그를 그대로 따라오신 분의 경우 적용되는 예시입니다.


익스텐션 다운로드

study@study-VirtualBox:~/MW_Ext$ wget https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_31-106fbf4.tar.gz
--2020-06-09 14:55:01--  https://extdist.wmflabs.org/dist/extensions/Scribunto-REL1_31-106fbf4.tar.gz
Resolving extdist.wmflabs.org (extdist.wmflabs.org)... 185.15.56.49
접속 extdist.wmflabs.org (extdist.wmflabs.org)|185.15.56.49|:443... 접속됨.
HTTP request sent, awaiting response... 200 OK
Length: 991422 (968K) [application/octet-stream]
Saving to: ‘Scribunto-REL1_31-106fbf4.tar.gz’

Scribunto-REL1_31-1 100%[===================>] 968.19K   941KB/s    in 1.0s    

2020-06-09 14:55:03 (941 KB/s) - ‘Scribunto-REL1_31-106fbf4.tar.gz’ saved [991422/991422]

study@study-VirtualBox:~/MW_Ext$ 


익스텐션 압축 풀기

study@study-VirtualBox:~/MW_Ext$ sudo tar -xzf Scribunto-REL1_31-106fbf4.tar.gz -C /var/www/html/w/extensions
study@study-VirtualBox:~/MW_Ext$ 


윈도 서버의 경우

탐색기로 압축 파일을 해당 위치에 풀어주시면 됩니다.


호스팅을 받는 경우

파일질라, 알FTP 등 FTP 프로그램을 이용해 미리 풀어 놓은 익스텐션 폴더(SpamBlacklist)를 통째로 해당 위치에 전송해줍니다.




Scribunto 익스텐션 필수 설정


미디어위키의 환경 설정 파일인 LocalSettings.php 파일에 다음과 같은 코드를 추가해줍니다.

wfLoadExtension( 'Scribunto' );

$wgScribuntoDefaultEngine = 'luastandalone';


 익스텐션 안에 포함된 Lua 바이너리 실행권한 설정

study@study-VirtualBox:~$ sudo chmod a+x /미디어위키 설치 경로/extensions/Scribunto/includes/engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua


SELinux가 적용되는 경우 유형을 httpd_sys_script_exec_t로 ​​설정

study@study-VirtualBox:~$ sudo chcon -t httpd_sys_script_exec_t /path/to/extensions/Scribunto/includes/engines/LuaStandalone/binaries/yourOS/lua

설치 확인

미디어위키의 특수:버전(= Special:Version) 문서를 확인하면 위 익스텐션이 추가된 것을 확인할 수 있습니다.


작동 여부 확인 테스트

모듈:scribunto-test 생성

local p = {}
 
function p.success()
    return "Scribunto 설치 성공!"
end
 
return p



작동 여부 확인

{{#invoke:scribunto-test|success}}

위키 문서에 위 구문을 적고 저장한 다음 해당 문서를 읽어보시기 바랍니다.

해당 호출 구문이 작성된 자리에 Scribunto 설치 성공!이라는 문구가 표시되면 정상적으로 설치된 것입니다.

위 호출 구문에서 scribunto-test는 모듈명, success는 함수명입니다.




Scribunto 익스텐션 사용법

{{#invoke: 모듈명 | 함수명 | 인수 01 | 인수 02 | 인수 03 ... }}


Scribunto 익스텐션용 구성 설정


고급 사용법

보다 자세한 사용법은 아래 Scribunto 익스텐션 공식 사이트를 참고하시기 바랍니다.