E,AHRSS

모니위키

최종 변경일자: 2018-03-25 03:29:21 Contributors


moniwiki0.png
[PNG 그림 (Unknown)]

목차

1. 소개
2. 장점
3. 단점
4. 비고
5. 문법 호환성
6. 개발상황
6.1. 2003년
6.2. 2009년
6.3. 2010년
6.4. 2011년 ~ 2012년
6.5. 2013년
6.6. 2014년
6.7. 2015년
6.8. 2016년
6.9. 그 외
7. 모니위키를 사용하는 위키위키 리스트
8. Cafe24 설치 문제
9. 속도 향상을 위한 팁
10. 기부

1. 소개

모니위키 홈페이지
네이버 개발자 센터 : 네이버 개발자 센터
KLDP Project:모니위키 : 읽기 전용, KLDP.net 서비스 종료.
모니위키 Git저장소 : KLDP.net 서비스 종료로 인해 github로 이전함.
버그트래커

오픈소스 위키엔진. PHP 기반이며 라이센스는 GPL.

github에 이전 이후 2013년 7월 1일에 1.2.0 릴리스가 출시되었다.[1]

2016월 1월 현재 최신 버전은 1.2.5p1 패치 릴리스이다. 2015년 6월 이후 github에 공개된 1.2.5 개발자 버전이 리그베다 위키에 적용되고 있었다가, 1.2.5 릴리스로 변경되었다.

원래 파이썬용으로 되어 있던 위키엔진인 모인모인을 PHP로 흉내내어 만든 물건이다. 즉 모인모인 소스코드 그 자체보다는 모인모인의 기능을 흉내내어 만들었다는 것. 개발자 wkpark는 php로 만든 phiki라는 php3 구형 소스가 모니위키 본체 소스였다고 밝히고 있으며, 사실 phiki 역시 pikipiki라는 모인모인의 모체가 되었던 작은 Python기반 위키엔진을 흉내내어 만든 것. 그 외에도 phpwiki 등등 2003년 당시에 참조 가능했던 다양한 오픈소스 위키엔진을 참고하였다고 한다.

한국에서 가장 많이 쓰이고 있는 위키엔진이라고 알려져 있지만, 인터넷에서는 도쿠위키미디어위키 추천 글을 더 많이 볼 수 있다. 도쿠위키는 개인 PC, USB에 설치할 수 있으며, 미디어위키는 위키피디아로 널리 알려져 있기에 사용자가 계속 증가하고 있기때문에 모니위키 사용자 비율은 하향세라 할 수 있다.

리그베다 위키의 모니위키는 기존 엔하위키에서 사용되던 오위키에 있던 문서와의 호환성을 위해 일부 태그 처리 방식 등을 수정한 커스텀 버전을 사용하고 있었으며, 2010년 10월 1.1.5 커스텀 버전을, 2013년 8월부터 2015년 4월까지 1.2.0 커스텀버전이 사용되었고, 2015년 6월 이후에는 모니위키 개발자와 협력을 통해 모니위키와 통합이 진행이 되어 8월 이후에는 모니위키 코드베이스와 100% 동일한 소스를 사용하고 있다.

아래 목록을 봐도 알겠지만 원래는 소규모 개인 위키나 커뮤니티 위키에 적합한 엔진이었다. 하지만 커뮤니티 위키 중 하나였던 엔하위키[2]가 점점 커져서 리그베다 위키가 되면서 본의 아니게 대형 위키에도 쓰이는 엔진이 되었다. 리그베다 위키의 규모가 커지면 커질수록 대형 위키를 운용하기에는 한계가 많은 모니위키의 약점이 드러나게 되었으며 리그베다 위키wkpark의 상호 소통을 통해 이를 보완해나가고 있다. 덕분에 신버전 배포가 매우 더디기로 유명했던 모니위키는 2010년대 중반인 현재에는 미친듯한 업데이트 속도를 보여주고 있으며, 리그베다 위키는 본의 아니게 모니위키 기반 위키위키의 첨병 역할을 하는 중(...).[3]

2. 장점

  • 개발자가 한국인이다. 개발자에게 직접 피드백해보자. 코드에 직접 반영될 확률이 높다.
  • 중/소규모 접속에 대해서는, 시스템 자원을 적게 차지하며 속도가 빠르다.
  • 안정성이 우수하다. 2015년 프로젝트가 만들어진지 12년이 되었다.
  • 2003년부터 시작되어 2015년 현재까지, 개발 및 개선이 비교적 활발하게 이루어지고 있다.
  • 모든 문서(페이지)가 텍스트파일로 저장되어, MySQL같은 데이터베이스 관리기가 필요없다.
  • 플러그인을 통해 다양한 기능을 추가할 수 있다.
  • 개인 PC에 설치해서 사용할 수 있다. 버전 1.2.0부터는 USB에도 쉽게 설치 가능.
  • 미디어 위키 문법과 매우 유사하다. 사실 미디어위키와 모니위키 모두 모인모인의 문법에서 많은 영향을 받아서 상당히 비슷하다.
  • 위키 문법 선택폭이 넓다. 버전 1.1.3(2008년)부터 마크다운에 대한 지원이 추가되었다.

3. 단점

  • 개발자가 한국인임에도 불구하고 한글 지원에 되려 소홀한 면이 없지 않다. 그러나 1.1.3 버전 이후로 한글 도움말이나 메뉴가 추가되고 있다.
  • RCS 버전관리 프로그램을 사용하기 때문에 cafe24 등 일부 호스팅에 RCS가 설치되어 있지 않거나 관련 오류가 발생하기 때문에 제대로 사용할 수 없다.

4. 비고

  • 인덱서를 내장하지 않은 대부분의 텍스트 기반의 위키엔진은 규모가 커지면 느릴 수 밖에 없다. 이러한 점은 큰 규모의 위키를 제대로 고려하지 않았기 때문이기도 하고, DBMS와는 다르게 텍스트 기반의 위키의 경우 인덱서를 잘 만들기도 쉽지는 않다. 모니위키 1.1.5부터는 실험적으로 인덱서가 내장되어 있었고, 1.2.0부터는 ElasticSearch 검색엔진을 지원하게 되었으며, 1.2.5부터는 MySQL을 사용한 검색을 옵션으로 지원하게 되었다.
  • 1.2.3 이전버전에서는 문서수가 많으면 전체 검색을 사용할 수 없었으나, 그 이후 버전부터는 5천페이지 단위로 잘라서 검색을 수행하여 검색기능때문에 먹통이 되는 일은 없어졌다.
  • 문서 이름의 글자수 제한이 있다.[4]. 이는 모니위키가 영어 이외에는 urlencode를 사용하기 때문에 한글의 경우에는 9바이트를 차지하게 된다.[5] 이 문제는 1.2.5버전에 도입된 새로운 방식을 사용하면 한글을 3바이트로 저장하게 되어 제목의 글자 제한이 대폭 완화된다.

5. 문법 호환성

대부분의 모니위키 문법은 모인모인 계열에서 지원하지만 일부 차이가 존재한다. 다음은 모인모인 1.x, 모인모인 1.9 및 모니위키와 문법 호환성에 대한 테이블이다.

위키엔진/문법 모인모인 1.0 모인모인 1.9 모니위키 나무마크 비고 WikiCreole 호환성
<<매크로>> 미지원 지원 지원 미지원 호환
[[매크로]] 지원 지원 지원 [매크로] 비호환
$ LaTeX $ 수식 미지원 미지원 지원 <math>LaTeX</math> 문법 비호환
[문서이름] 연결 미지원 미지원 지원 미지원 비호환
[외부링크] 지원 미지원 지원 미지원 비호환
wiki:문서이름 연결 지원 지원 지원 미지원 비호환
---- 수평줄(하이픈 네개 이상) 지원 지원 지원 10개 이상까지 정상 랜더링 호환
테이블 배경색 <#000000> 지원 지원 지원 지원 (중단예정) 비호환

모인모인 계열 문법과 호환성 설명
  • [[목차]] 문법은 모인모인 계열에서 지원하지 않으며, 모니위키에서는 별명 매크로로 처리된다. 나무마크에서는 [목차] 문법을 써야 한다. 그러나 [링크]문법이 모닝모인 1.0의 외부 링크 연결 문법이다.
  • wiki:문서 문법은 모인모인계열에서 지원 된다. 모니위키에서는 권장되지 않는다.
  • 모인모인 계열의 경우 - 문자 네개 이상은 모두 수평줄로 랜더링되지만 나무마크는 10개 이하까지만 정상적으로 랜더링 된다.
  • 모인모인 계열의 리스트문법은 섞어쓸 수 없다. 또한 리스트간에 두줄 이상의 공백을 넣어도 여전히 이전의 리스트에 이어지는 순서로 번호가 붙어 랜더링된다. 마크다운도 마찬가지. 나무마크는 그렇지 않다.

6. 개발상황

6.1. 2003년

  • 모니위키 1.0 발표.

6.2. 2009년

  • 2009년 1월 3일 - 약 2년 5개월여만에 모니위키 1.1.3이 릴리즈 되었다. WYSIWYG 에디터의 지원, 캐시 시스템의 개선, 파일 다중 업로드 지원, 시스템 메시지와 WikiSeed의 한글화 등 올라간 버전에 맞지 않게 많은 부분이 추가/개선되었다.

  • 2009년 1월 9일 - WYSIWYG 에디터로 저장이 제대로 되지 않는 문제 등을 고친 버그 패치판인 1.1.3.1이 릴리즈 되었다.

  • 2009년 10월 24일 - 1.1.3 에서 나타난 몇 가지 버그를 해결하고 속도를 향상시킨 모니위키 1.1.4가 릴리즈 되었다.

6.3. 2010년

  • 2010년 4월 23일 - 모니위키 1.1.5를 개발중이니, 문제점이나 건의사항을 올려달라는 글이 모니위키 게시판에 올라왔다.(#)

  • 2010년 9월 1일 - 1.1.5가 정식으로 릴리즈 되었다.(#)

  • 2010년 9월 7 ~ 9일 - 엔하위키에서는 기존 모니위키 커스텀 버전 대신에 1.1.5으로 교체했다. 커스텀 버전과 1.1.5과의 차이점에서 발생하는 문제점이나 버그는 구 엔하위키 게시판을 통해서 보고/수정되었다.

  • 2010년 9월 10일 - 엔하위키를 1.1.5로 업그레이드 하는 과정에서 발견된 버그를 수정한 1.1.6 CVS가 릴리즈 되었다. (#)

6.4. 2011년 ~ 2012년

  • 1.1.5 버그 수정을 목표로한 1.1.6과 wiki 엔진 코어 리팩토링 작업을 거치게 될 1.2.0가 개발 중이다.(#)

  • 이 기간 동안 KLDP.net 서비스 종료 등으로 배포처 변경과 업데이트가 뜸해져 모니위키에 대한 몇 안되는 위키 사용자의 관심이 줄어들었다.

6.5. 2013년

  • 엔하위키 미러 IP 차단 논란 즈음부터 개발자 wkpark이 위키 게시판에 자주 나타나더니, 청동의 협력을 얻어 고도화 업데이트가 계속 진행 중이다.
    1. 2010년 : 100회 이상 (모니위키 1.1.5 및 1.1.6/1.2.0 개발 시작)
    2. 2011년 : 8회
    3. 2012년 : 5회
    4. 2013년 : ~200여회 이상
  • 리그베다와 모니위키 서로에게 윈윈인 듯하다.

  • 4월 19일 : 잦은 업데이트를 하는 페이지 카운터와 페이지 목록에서 부하 발생 되는 것을 확인하여 관련 내용을 수정한듯.

  • 4월 22일 : 인덱스를 이용한 검색 기능 기능 추가, 자동완성 기능 추가

  • 4월 27일 : 다용 모바일 테마와 패치 공개

  • 4월 28일 : 4월 19일 패치를 했음에도, 페이지 목록에 계속 업데이트 되는 문제가 랜덤페이지 때문임을 발견. 이를 해결할 수 있는 기능 추가

  • 5월 중순부터 지속적으로 버전 1.2.0 릴리스 후보가 나오고 있다.

  • 7월 모니위키 1.2.0 릴리스되었다.

  • 10월 4일 : 모니위키 1.2.1이 릴리스되었다. (1.2.0의 자잘한 버그 수정 및 실험적 기능 추가)
    • Fetch Plugin : 위키 문서에 외부 이미지 주소가 있을 경우, 해당 주소로 가서 이미지를 가져와 저장하는 기능. 이글루스 등에서 이미지 불러오면 차단 되는 문제 해결하기 위함.

6.6. 2014년

  • 1월 12일 : 모니위키 1.2.2가 릴리스되었다. (1.2.1의 자잘한 버그 수정 및 기능 개선)
    • pull 액션 : 위키 클라이언트 처럼 기능.

  • 2월 : github 등에서 널리 쓰이고 있는 markdown 문법을 모니위키에 사용할 수 있도록 새 위키 프로세서(파서) Mixdown 개발 중. Parsedown을 기반으로 한다고. 모니위키 1.3.0에 들어갈 예정이다. 이 프로세서를 적용하면 모니위키 문법과 마크다운 문법을 짬뽕해서 사용 가능한듯('#'은 주석 처리 되므로, 타이틀로 쓰고 싶을 때 끝나는 '#'을 사용해 닫아야 하는 차이점은 있음)

  • 2월 25일: 모니위키 1.2.3이 릴리스되었다. (1.2.2의 자잘한 버그 수정 및 기능 개선)

6.7. 2015년

  • 리그베다 위키 사태가 지난 얼마 후에 보안버그 소식이 개발자에게 25일 전달되었고 25일 이후로 보안버그를 수정한 패치 릴리스가 연이어 나오고 있다.
  • 1.2.4가 나왔으며 1.2.4 패치 릴리스가 연이어 나왔다.
  • 그 이후로 200여개의 커밋이 추가되었고 1.2.5 곧 출시 예정.
  • 드디어 리그베다는 모니위키 코어 100%를 그대로 사용하게 되었다.
  • 리그베다위키와 협력을 통한 보안 기능 향상 / 1.2.5 안정화를 위해 베타테스트를 완료하였다.
  • 페이지 지우기를 하는 경우에 히스토리에 남지 않던점이 수정되었다.
  • 페이지 이름 바꾸기를 개선하여, 일반 유저도 사용 가능하게 되었으며, 페이지 이름 바꾸기가 히스토리에 남게끔 고쳐졌다. (옵션)
  • 어뷰징 필터 / 편집 모니터링 기능 등등 커뮤니티 위키에 필요한 관리 기능이 대거 도입되었다.
  • 기여철회를 위한 revoke 기능 및 페이지 통계를 볼 수 있는 stat 기능이 추가되었다.
  • contributors 기능이 추가되었다.
  • IP, IP대역 블랙리스트 관리 기능이 추가되었다.
  • 간단한 분양형 위키 지원이 추가되었다.
  • 미디어위키식 분류 기능을 모방하여 분류 기능을 개선하였다. [6]
  • blame 기능이 추가되었다.
  • QR 코드 및 편집 막대그래프를 보여주는 기능 등이 추가되었다.
  • 1.2.4 버전 대비 700여개 이상의 커밋이 되고 지금까지 버전중에 가장 많은 기능이 추가되었으며 2015년 12월 19일 1.2.5 정식이 출시되었다.
  • 전체 커밋 회수가 4천회를 돌파하였다.

6.8. 2016년

  • 1월 로그인 버그를 잡은 1.2.5p1 패치 릴리스가 나왔다.
  • 1월 8일 부트스트랩 테마를 정식 지원하게 되었다.

6.9. 그 외

  • 그 외 : 설정, 테마, 도움말 등을 일부 한글화하여 사용자 편의성을 높인 모니위키 커스텀 버전이 배포되고 있다. 이 배포는 개발자 wkpark의 정식 배포가 아니지만, 무료 분양이라는 선택지가 있어 설치의 부담을 줄인 것이 특징이다.(배포, 무료 분양)

8. Cafe24 설치 문제

Cafe24에 모니위키를 설치하면 "Revision History"가 제대로 동작하지 않는다. 모니위키는 버젼관리에 rcs를 사용한다. rcs는 diff라는 프로그램을 사용한다. cafe24의 diff는 /home/bin 경로에 있는데 rcs의 경로지정이 잘못돼서 오작동을 일으킨다. 이 문제는 다음 방법으로 해결할 수 있다.

  • 해결방법 1 - config.php 파일에 "$version_class='RcsLite';" 한 줄을 추가하면 된다. 위키의 용량이 크면 느려지는 단점이 있다.
  • 해결방법 2 - rcs 소스 파일을 다른 리눅스 시스템에 다운받아 컴파일해서 서버에 업로드해서 사용한다. /home/bin 디렉토리를 만든 다음 diff, diff3 파일을 복사하자. 그리고 다음처럼 설정하고 컴파일해서 나온 실행파일을 사용하면 된다.
    • export DIFF=diff
    • export DIFF3=diff3
    • export CFLAGS='-static'
    • export CXXFLAGS='-static'

9. 속도 향상을 위한 팁

위키 게시판에서 모니위키 개발자 wkpark이 밝힌 속도향상 팁은 아래와 같다.
  1. 캐쉬를 써라 : config.php 파일에 $cachetime=60*60*24; // 라고 넣으면 캐시를 하루 단위로 갱신.

10. 기부

페이팔을 통한 기부를 받는다. 기부를 하면 기여자 목록에 이름이 올라간다.
프로젝트가 10년이 넘은 2015년 6월 현재, 페이팔을 이용해서기여자는 5명이다.

----
  • [1] 모니위키 1.2.0
  • [2] 2010년 이전만 해도 오타쿠의, 오타쿠에 의한, 오타쿠를 위한 오덕위키였으며 지금도 그러하다. 다만 2010년대 들어 일반지식을 다루는 문서들이 급격히 늘어서 상당히 희석된 것. 오타쿠 커뮤니티 부속으로 시작된 위키위키행정구역 개편이라던가 외교적 수사같은 내용을 담고 있을거라고 누가 생각하겠는가?(...)
  • [3] 똥같은 문서도 거침없이 받아주는 모 위키에서는 모니위키를 리그베다 위키의, 리그베다 위키에 의한, 리그베다 위키를 위한 엔진이라고 깐다. 해당 위키위키는 미디어위키를 사용중.
  • [4] 사실 미디어위키도 256자 제목 제한이 있다. 너무 제한이 약해서 부각되지 않는듯.
  • [5] 미디어 위키의 경우 글자당 3바이트
  • [6] 내부적으로 분류 기능은 여타의 위키엔진과 마찬가지로 역링크 방식을 응용한 것이다.
  • [7] 2011년 11월 20일 기준, 폐쇄되었다.