미디어위키

미디어위키 문법 Liberty Engine 미디어위키
the seed openNAMU 나무마크 (확장기능)
기타 도쿠위키 모니위키

MediaWiki.svg

-

Beacause ideas want to be free.

 
— 미디어위키 슬로건

정보

  1. 오픈 소스 위키 엔진 프로그램
  2. PHP를 기반으로 한다.
  3. 2002년 위키피디아에서 사용 하기 위해 개발된 프로그램으로, 2003년 미디어위키라고 이름을 바꾸었다.

장점

다양한 DB 지원

  1. DB를 사용하므로 안정성이 높다. 파일 DB를 사용하는 도쿠 위키등은 파일이 손상되면 읽어 올 수 없기 때문이다.
  2. 현재 MySql, MariaDB, PostgreSQL, SQLite을 지원하며, 제한적으로 Oracle DBMSSQL을 지원한다.[1]

강력한 확장기능

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

방대한 양의 개발 문서

  1. 개발 문서가 잘 써져 있어 개발시 많은 도움이 된다.
  2. 물론 영어가 대다수라 한국어로 작성된 문서는 보기 드물다. 자세한 내용은 하단의 개발 문서의 한글화 부족 문단을 참고하자.

웹 인스톨러 존재

  1. 웹 인스톨러가 있기 때문에 편하게 설치가 가능하다.
  2. 물론 마지막에 LocalSettings.php 파일을 index.php가 있는 최상단에 업로드 해야 하지만[2]

검색 기능

  1. 검색 기능이 우수하다.
  2. 구글 검색을 붙혀야 한다는 몇몇 유저들의 의견도 있지만, 단어 입력시 문서가 존재한다면 문서로 이동하는 기능들은 다른 엔진들에게도 있지만, 옵션에 따라 해당 단어가 포함되어 있는지의 여부도 설정 할 수 있는 점은 다른 위키 엔진에서 찾아 볼 수 없는 기능이다.

다양한 스킨들의 존재

  1. 스킨들이 다양하다.
  2. 깃허브mediawiki skins라고 검색을 하더라도 많은 수의 스킨들이 있다.
  3. 이 점은 다른 위키 엔진들이 가지고 있는 스킨 수를 훨씬 앞지르는 숫자이다.


단점

무겁다

  1. 원래 미디어위키는 위키미디어에서 사용하려는 목적으로 만든것으로써 소규모 위키(가온 위키도)에서 사용하기엔 무리가 있다.
  2. 위키미디어는 램을 박으면 되지만, 소규모 위키의 경우에는 재정적인 문제 등이 있기 때문에 캐시를 박아야 한다. 아래의 해결 방안 문단을 참고하자.

해결 방안

가벼운 스킨 사용
  1. 가온 위키가 사용하는 리버티 스킨은 무거운 편에 속한다. 멋 따윈 버린다면 기본 스킨을 쓰는게 좋다.[3]
  2. 리버티 스킨과 같이 엔진에 api를 호출해 값을 얻어오는 기능[4]이 있다면 로드 시간 중에 값을 가져오는 기능도 포함되므로 없애는 방법도 좋은 방법이다.
캐시 때려 박기
  1. 캐시를 때려 박으면 캐시된 값을 가져오기 때문에 그만큼 CPU 부하도 줄며 로드 속도도 빨라진다.
  2. 브라우저 캐시를 설정하면 바뀐 파일만 로드하기 때문에 빨라진다. 단 재 방문 시에만 해당한다. 아파치 브라우저 캐시 설정 엔진엑스 브라우저 캐시 설정

설정 파일 의존

  1. 다른 엔진들과 달리 미디어위키는 미디어위키/LocalSettings.php 파일에 의존한다.
  2. 그렇기 때문에 확장 기능 설정이나 미디어위키 설정 변경시에도 코어 변경이 필요 없는 경우 대부분 LocalSettings.php 파일에 추가/수정/제거를 한다.
  3. 이 부분이 좋지 못하다는 것은 해당 파일이 손상된 경우에는 접속이 불가능하다. 물론 재생성이 가능하지만 일부 설정이 바이바이 할 수도 있다.
  4. 문서는 DB에 저장하지만 설정은 파일에 저장한다는 점에서 모순이...

태그의 복잡성?

  1. 이 부분은 호불호(?)가 갈리는 편이다. HTML 태그처럼 <태그>내용</태그> 이런 식으로 태그를 사용한다.
  2. 태그 안 내용이 짧다면 보기에 간결하지만 내용이 복잡하다면 타유저의 태그 수정이 불편하다.
  3. 거기에 이중태그가 불가능 하다. 예를 들어 <ref>이런 것이<ref>불가능하다</ref></ref>

개발 문서의 한글화 부족

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

사용처

  1. 위키백과
  2. 리브레 위키 (https://librewiki.net)
  3. 제타위키 (https://zetawiki.com)
  4. 가온 위키 (https://www.gaonwiki.com)
  5. 그 외에도 많은 곳에서 사용중이다.

각주

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