미디어위키/미디어위키 설치 및 관리

Git을 이용한 미디어위키 설치 방법

씨실과 날실 2018. 12. 11. 10:00

안녕하세요. 이카입니다.

이번에는 Git을 이용하여 미디어위키를 설치하는 방법을 소개하도록 하겠습니다.

먼저 Git을 통해 미디어위키를 설치하려면 Git과 Composer를 미리 설치해야합니다.

Git을 통한 미디어위키 다운로드 방법 안내는 위 링크를 참고하시기 바랍니다.


Git을 통한 미디어위키 다운로드 명령

미디어위키 1.31.1

study@study-VirtualBox:/var/www/html$ sudo git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git --branch REL1_31 mediawiki

미디어위키 개발버전 전체 저장소

study@study-VirtualBox:/var/www/html$ sudo git clone https://gerrit.wikimedia.org/r/mediawiki/core.git

미디어위키 개발버전 최신 수정 버전

study@study-VirtualBox:/var/www/html$ sudo git clone --depth 1 https://gerrit.wikimedia.org/r/mediawiki/core.git


저는 미디어위키 1.31.1버전을 기준으로 설명해드리도록 하겠습니다. 설치 과정을 보여드리겠습니다.

study@study-VirtualBox:~$ 

Git을 통해 다운받은 미디어위키의 설치 과정

이렇게 Git을 통해 설치하게 되면 미디어위키는 /var/www/html 디렉토리 경로 안에 mediawiki라는 디렉토리가 생기고 그 안에 하위 디렉토리와 파일들이 구성됩니다.

이제 웹브라우저에서 미디어위키에 접속해보도록 하겠습니다.

위 주소로 입력하니 오류 메시지가 뜨네요?


위 메시지를 번역해봅시다.

MediaWiki 1.31 내부 오류
일부 외부 종속성 설치 (예 : composer를 통한 설치)가 필요합니다.

외부 의존성
MediaWiki에는 composer를 통해 또는 별도의 git repo를 통해 설치해야하는 외부 종속성이 있습니다. 필요한 구성 요소 설치에 대한 도움말은 mediawiki.org 를 참조하십시오 .

링크를 눌러 접속해봅시다.


위와 같은 화면이 나옵니다.

주소는 https://www.mediawiki.org/wiki/Download_from_Git#Fetch_external_libraries입니다. 자세한 내용은 위 페이지를 참고하시기 바랍니다.

미디어위키 설치 오류가 난 이유는 미디어위키 디렉토리 안 vandor 디렉토리에 필요한 외부 라이브러리가 없기 때문입니다.

이 라이브러리를 설치하는 방법은 2가지가 있습니다. composer를 이용하는 방법과 Git을 이용하는 방법인데요. 미디어위키 웹사이트에서는 composer를 이용할 것을 추천하고 있습니다. 저 역시도 composer를 이용할 것을 추천합니다. 일단 두가지 방법 모두 알려드리겠습니다.


먼저 composer를 이용하는 방법입니다.

study@study-VirtualBox:/var/www/html$ cd ./mediawiki
study@study-VirtualBox:/var/www/html/mediawiki$ sudo composer update --no-dev 

원래 composer는 root 권한으로 실행하는 것은 아닙니다. 그에 관한 내용은 https://getcomposer.org/root를 참고하시기 바랍니다. 현재 웹서버 디렉토리 권한이 일반 계정에 주어져 있지 않으므로 이번만 root 권한으로 실행합시다. 만약 root권한으로 실행하지 않으면 파일을 다운받지 못합니다. 


study@study-VirtualBox:/var/www/html$ cd ./mediawiki
study@study-VirtualBox:/var/www/html/mediawiki$ sudo composer update --no-dev
Do not run Composer as root/super user! See https://getcomposer.org/root for details
> ComposerHookHandler::onPreUpdate
Loading composer repositories with package information
Updating dependencies
Package operations: 33 installs, 0 updates, 0 removals
  - Installing wikimedia/composer-merge-plugin (v1.4.1): Downloading (connectingDownloading (100%)         
  - Installing cssjanus/cssjanus (v1.2.0): Downloading (100%)         
  - Installing liuggio/statsd-php-client (v1.0.18): Downloading (100%)         
  - Installing oojs/oojs-ui (v0.26.4): Downloading (100%)         
  - Installing oyejorge/less.php (v1.7.0.14): Downloading (100%)         
  - Installing pear/pear_exception (v1.0.0): Downloading (100%)         
  - Installing pear/console_getopt (v1.4.1): Downloading (100%)         
  - Installing pear/pear-core-minimal (v1.10.7): Downloading (100%)         
  - Installing pear/mail (v1.4.1): Downloading (100%)         
  - Installing pear/mail_mime (1.10.2): Downloading (100%)         
  - Installing pear/net_socket (v1.2.2): Downloading (100%)         
  - Installing pear/net_smtp (1.7.3): Downloading (100%)         
  - Installing wikimedia/assert (v0.2.2): Downloading (100%)         
  - Installing wikimedia/base-convert (v2.0.0): Downloading (100%)         
  - Installing wikimedia/cdb (1.4.1): Downloading (100%)         
  - Installing wikimedia/cldr-plural-rule-parser (v1.0.0): Downloading (connectiDownloading (100%)         
  - Installing wikimedia/html-formatter (1.0.2): Downloading (100%)         
  - Installing wikimedia/ip-set (1.2.0): Downloading (100%)         
  - Installing wikimedia/object-factory (1.0.0): Downloading (100%)         
  - Installing psr/log (1.0.2): Downloading (100%)         
  - Installing wikimedia/at-ease (v1.2.0): Downloading (100%)         
  - Installing wikimedia/php-session-serializer (v1.0.6): Downloading (connectinDownloading (100%)         
  - Installing wikimedia/purtle (v1.0.7): Downloading (100%)         
  - Installing wikimedia/relpath (2.1.1): Downloading (100%)         
  - Installing wikimedia/utfnormal (v2.0.0): Downloading (100%)         
  - Installing wikimedia/remex-html (2.0.1): Downloading (100%)         
  - Installing wikimedia/running-stat (v1.2.1): Downloading (100%)         
  - Installing wikimedia/scoped-callback (v1.0.0): Downloading (100%)         
  - Installing wikimedia/timestamp (v1.0.0): Downloading (100%)         
  - Installing wikimedia/wait-condition-loop (v1.0.1): Downloading (connecting..Downloading (100%)         
  - Installing wikimedia/wrappedstring (v2.3.0): Downloading (100%)         
  - Installing zordius/lightncandy (v0.23): Downloading (100%)         
  - Installing composer/semver (1.4.2): Downloading (100%)         
Writing lock file
Generating optimized autoload files
> ComposerHookHandler::onPreUpdate
Loading composer repositories with package information
Updating dependencies
Generating optimized autoload files
> ComposerVendorHtaccessCreator::onEvent
> ComposerVendorHtaccessCreator::onEvent
study@study-VirtualBox:/var/www/html/mediawiki$  

두번째로 Git을 이용해 외부 라이브러리를 다운받는 방법입니다.

터미널에 아래와 같은 명령을 입력해줍니다.

study@study-VirtualBox:/var/www/html/mediawiki$ sudo git clone https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git 
이제 다시 미디어위키에 접속해봅시다. 이제 정상적으로 설치할 수 있습니다. 이후의 과정은 이전 글과 동일합니다.

이제 위키에 접속해봅시다. 그런데 아래와 같은 화면이 나옵니다.


Git으로 미디어위키를 설치한 경우 vector 스킨이 없어서 위와 같은 오류가 나타난다고 설명하고 있네요.

skins 디렉토리에 각 스킨별 디렉토리는 존재하는데 정작 안에 내용이 없네요.

Git으로 vector 스킨을 가져와봅시다.

깃허브에서 해당 스킨의 해당버전 주소를 확인해봅시다.

오른쪽 화면에 Clone or download 녹색 버튼이 있습니다. 그 버튼을 누르면 주소가 나오고 그 옆에 클립보드로 주소를 복사할 수 있는 버튼이 있습니다. 그 주소를 복사하고 아랴와 같이 터미널에 입력해줍니다.

study@study-VirtualBox:/var/www/html/mediawiki/skins$ sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

다시 접속해봅시다. 또 오류납니다. LocalSettings.php 파일에 wfLoadSkin( 'Vector' );을 입력하고저장해주라고 되어있네요. 요구대로 gedit로 파일을 열어 아래와 같이 입력하고 저장합니다.

## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'vector', 'monobook':
$wgDefaultSkin = "vector";

wfLoadSkin( 'Vector' );

# End of automatically generated settings.
# Add more configuration options below.

이제 다시 위키에 접속해봅시다. 제대로 설치된 것을 확인할 수 있습니다.


다음은 터미널 명령 진행과정은 다음과 같습니다. (composer 사용은 제외)

study@study-VirtualBox:~$ cd /var/www/html
study@study-VirtualBox:/var/www/html$ sudo sudo git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git --branch REL1_31 mediawiki
[sudo] study의 암호:
'mediawiki'에 복제합니다...
remote: Counting objects: 38304, done
remote: Total 754269 (delta 0), reused 754269 (delta 0)
오브젝트를 받는 중: 100% (754269/754269), 213.56 MiB | 5.14 MiB/s, 완료.
델타를 알아내는 중: 100% (642173/642173), 완료.
파일을 가져옵니다: 100% (7027/7027), 완료.
study@study-VirtualBox:/var/www/html$ cd ./mediawiki
study@study-VirtualBox:/var/www/html/mediawiki$ sudo git clone https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git
[sudo] study의 암호:
'vendor'에 복제합니다...
remote: Counting objects: 1, done
remote: Total 22067 (delta 0), reused 22067 (delta 0)
오브젝트를 받는 중: 100% (22067/22067), 20.57 MiB | 5.40 MiB/s, 완료.
델타를 알아내는 중: 100% (14766/14766), 완료.
study@study-VirtualBox:/var/www/html/mediawiki$ cd ./skins
study@study-VirtualBox:/var/www/html/mediawiki/skins$ sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
[sudo] study의 암호:
'Vector'에 복제합니다...
remote: Counting objects: 1, done
remote: Total 4555 (delta 0), reused 4555 (delta 0)
오브젝트를 받는 중: 100% (4555/4555), 1002.70 KiB | 1017.00 KiB/s, 완료.
델타를 알아내는 중: 100% (3219/3219), 완료.
study@study-VirtualBox:/var/www/html/mediawiki/skins$