미디어위키

미디어위키 문법
미디어위키 리버티 엔진
나무위키 문법
the seed openNAMU 나무마크 (확장기능) PressDo
기타 문법을 사용하는 엔진들
도쿠위키 모니위키
MediaWiki.svg MediaWiki-2020-logo.svg
구버전 로고 2020년 버전 로고
미디어위키
MediaWiki-2020-logo.svg
개발자 미디어위키 개발자
발표일 2003년 4월 14일 pre-1.1.0 출시
버전 정보 릴리즈 노트
프로그래밍 언어

PHP-logo.svgPHP

운영 체제 PHP 가능 환경
플랫폼 PHP 플랫폼
크기 몇 MB
언어 다국어
종류 위키위키 소프트웨어
라이선스 GPL
웹 사이트 https://mediawiki.org
-

Beacause ideas want to be free.

 
— 미디어위키 슬로건

정보[편집 / 원본 편집]

가온 위키에서도 사용하고 있는 오픈 소스 위키 엔진 프로그램으로, PHP를 기반으로 한다.

2002년 위키피디아에서 사용하기 위해 개발된 프로그램으로, 2003년 미디어위키라고 이름을 바꾸었다.

버전[편집 / 원본 편집]

현재 개발 및 유지보수중인 버전은 다음과 같다.

버전 상태 릴리즈 날짜 지원 종료일
1.40.x 미출시(안정 버전으로 출시 예정) 2023년 5월 2024년 5월(1년)
1.39.x LTS 버전 2022년 11월 2025년 11월
1.38.x 안정 버전 2022년 6월 2일 2023년 6월(1년)
1.37.x 지원 종료 2021년 5월 28일 2022년 6월 30일(1년 1개월 2일)
1.36.x 지원 종료 2020년 9월 25일 2023년 9월(3년)
1.35.x LTS 버전 2022년 6월 2일 2023년 9월(1년 3개월)

장점[편집 / 원본 편집]

다양한 DB 지원[편집 / 원본 편집]

DB를 사용하므로 안정성이 높다. 파일 DB를 사용하는 도쿠 위키등은 파일이 손상되면 읽어 올 수 없기 때문이다.

현재 MySql, MariaDB, PostgreSQL, SQLite을 지원하며, 제한적으로 Oracle DB[1]MSSQL을 지원한다.[2]

강력한 확장기능[편집 / 원본 편집]

XE의 모듈에 해당하는 확장기능을 지원한다. 미디어위키 자체에서 지원하지 않는 기능들(예를 들어 유튜브 영상 첨부 등)을 지원 할 수 있도록 해준다.

확장기능을 통해 코어를 수정하지 않고도 사용이 가능하다는 장점이 있지만, 미디어위키의 버전이 올라가면 구버전의 사용이 점점 더 어려워 진다. 따라서 지속적으로 업데이트를 하는 확장기능을 선택하는것이 좋다.

이러한 확장기능을 잘 쓰면 리브레 위키위키-게시판 로그인 연동과 같은 것도 만들 수 있다. 다만 잘 쓰면 이라는 조건이 붙지만...[3]

방대한 양의 개발 문서[편집 / 원본 편집]

개발 문서가 잘 써져 있어 개발시 많은 도움이 된다. 다만 대부분의 개발 문서는 영어로 작성되어 있고 한글화 된 문서는 극히 적거나 구버전 내용밖에 없다. 자세한 내용은 하단의 개발 문서의 한글화 부족 문단을 참고하자.

웹 인스톨러 존재[편집 / 원본 편집]

특장점을 뽑자면, 웹 인스톨러가 있다는 것이다.

물론 설치 후반부에 LocalSettings.php 파일을 미디어위키가 설치된 폴더의 최상단에 업로드 해야 한다.[4]

검색 기능[편집 / 원본 편집]

미디어위키의 문서 검색 기능이 우수하다.

옵션에 따라 해당 단어가 포함되어 있는지의 여부도 설정 할 수 있는 점은 다른 위키 엔진에서 찾아 볼 수 없는 기능이다.

다양한 스킨들의 존재[편집 / 원본 편집]

스킨들이 다양하다. 미디어위키 스킨 소개 페이지, 깃허브 미디어위키 스킨 검색 결과를 보면 많은 수의 스킨들이 있다는 것을 알 수 있다.

스킨의 갯수는 다른 위키 엔진들이 가지고 있는 스킨 갯수를 훨씬 앞지르는 숫자이다.

단점[편집 / 원본 편집]

무겁다[편집 / 원본 편집]

원래 미디어위키는 위키미디어에서 사용하려는 목적으로 만든것으로써 소규모 위키(가온 위키 포함)에서 사용하기엔 무리가 있다.

위키미디어는 느리면 램을 추가로 설치하는 등 하드웨어 스펙을 올리면 되지만, 소규모 위키의 경우에는 재정적인 문제 등이 있기 때문에 그렇게 하지는 못하고, 결국 캐시를 효율적으로 사용해야 한다. 아래의 해결 방안 문단을 참고하자.

최신 버전의 PHP에서도 속도 향상이 이루어지고 있지만, PHP7에서 PHP8이 PHP5에서 PHP7로 업그레이드 할 때의 속도 개선폭은 적긴 하지만, JIT(Just In Times)과 같은 새로운 기술들의 도입으로 속도 향상이 있다. 하지만, 미디어위키는 최신 버전의 PHP를 바로 지원하지 않기에, 미디어위키가 지원하는 PHP 버전의 최신 버전을 사용하는것이 좋다.

미디어위키는 2020년 11월 26일에 출시한 PHP8을 2년이 다 되어가도록 공식적으로 지원하지도 않고, 시범적으로 지원하기에 비판받을만 하다. 도쿠위키는 2020년 07월 29일 Release 2020-07-29a “Hogfather”부터 PHP8을 준비하고 있고, 워드프레스는 2020년 12월 08일, 5.6 버전부터 시범 지원하고 있음을 볼 때, 사용자가 많은 미디어위키가 최신 버전의 PHP 버전 준비를 하지 않는다는 것을 알 수 있다.

캐시 사용 등, 아래의 해결 방안 방식대로 하더라도 극적인 개선은 없겠지만, 어느정도의 효과는 있을것이다.

해결 방안[편집 / 원본 편집]

가벼운 스킨 사용[편집 / 원본 편집]

가온 위키가 사용하는 리버티 스킨은 무거운 편에 속한다. 멋 따윈 버린다면 기본 스킨을 쓰는게 좋다.[5]

리버티 스킨과 같이 엔진에 api를 호출해 값을 얻어오는 기능[6]이 있다면 로드 시간 중에 값을 가져오는 기능도 포함되므로 없애는 방법도 좋은 방법이다.

캐시 때려 박기[편집 / 원본 편집]

캐시를 때려 박으면 캐시된 값을 가져오기 때문에 그만큼 CPU 부하도 줄며 로드 속도도 빨라진다.

브라우저 캐시를 설정하면 바뀐 파일만 로드하기 때문에 빨라진다. 단 재 방문 시에만 해당한다. 아파치 브라우저 캐시 설정 엔진엑스 브라우저 캐시 설정

설정 파일 의존[편집 / 원본 편집]

다른 엔진들과 달리 미디어위키는 미디어위키/LocalSettings.php 파일에 의존한다. 그렇기 때문에 확장 기능 설정이나 미디어위키 설정 변경시에도 코어 변경이 필요 없는 경우 대부분 LocalSettings.php 파일에 추가/수정/제거를 한다.

이 부분이 좋지 못하다는 것은 해당 파일이 손상된 경우에는 접속이 불가능하다. 물론 재생성이 가능하지만 일부 설정이 바이바이 할 수도 있다.

문서는 DB에 저장하지만 설정은 파일에 저장한다는 점에서 모순이...

태그의 복잡성?[편집 / 원본 편집]

이 부분은 호불호(?)가 갈리는 편이다. HTML 태그처럼 <태그>내용</태그> 이런 식으로 태그를 사용한다.

태그 안 내용이 짧다면 보기에 간결하지만 내용이 복잡하다면 타유저의 태그 수정이 불편하다.

거기에 일부 태그는 이중으로 사용이 불가능 하다. 예를 들어 <ref>이런 것이<ref>불가능하다</ref></ref>

개발 문서의 한글화 부족[편집 / 원본 편집]

개발 문서는 대부분 영문으로 작성되어 있기 때문에 영어를 못하는 경우에는 번역기에 의존해야 한다. 이는 엔진의 한글화와 대조되는 부분이다.

사용처[편집 / 원본 편집]

그 외에도 많은 곳에서 사용중이다.

각주[편집 / 원본 편집]

  1. 1.34 버전부터 오라클 DB를 지원하지 않는다.
  2. 다양한 DB를 지원하기 때문에 XML 가져오기(import)시에도 사용하는 DB로 변환하여 사용한다.
  3. 해당 확장기능은 타 위키에서는 사용이 거의 불가능하다. oauth 오류를 뿜어낸다.
  4. FTP를 사용하기 귀찮다면 마지막 부분에 LocalSettings.php를 에디터로 열고 모든 내용을 드래그 후 복사(클립보드에 복사)해 놓은 상태로 SSH로 접속해 최상단 폴더로 이동 후 'vi LocalSettings.php'(다른 에디터를 사용해도 된다.)를 입력 후 붙혀넣기 후 저장해도 된다. 이때 파일명의 대소문자에 유의하자
  5. 기본 스킨을 사용하면 좋은 점이 더 있는데, 확장 기능들 중에서 기본 스킨들만 지원하는 무식한확장 기능들이 존재하기 때문이다. 물론 그런 확장 기능을 사용하지 않거나 자신이 수정 할 수 있다면 상관은 없지만
  6. 리버티 엔진 PC 버전에서 우측의 최근 글 변경
• 현재 페이지 URL 줄이기