모니위키

From The Hidden Wiki
Jump to navigationJump to search

https://pbs.twimg.com/profile_images/3694277489/93a9573202a32f3aebc6f29ac31e1948.png

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

[목차]

소개

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

github에 이전 이후 2013년 7월 1일에 1.2.0 릴리스가 출시되었다.([1.2.0]) 2013년 들어 수시로 업데이트 되고 있다.

2015년 5월 22일 기준 최신 버전은 [패치 릴리스]이다. 2015년 6월 이후 1.2.5 버전이 리그베다 위키에 적용되고 있는데, 이는 github에 공개된 개발자 버전으로 아직 정식 패치로는 올라와 있지 않다.

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

한국에서 많이 쓰이고 있는 위키 엔진이라고 알려져 있지만, 인터넷에서는 도쿠위키미디어위키 추천 글을 더 많이 볼 수 있다. 도쿠위키는 개인 PC, USB에 설치할 수 있으며, 미디어위키는 위키백과로 널리 알려져 있기에 사용자가 계속 증가하고 있다. 이런 상황에서 모니위키 사용자는 과연 얼마나 될까?

리그베다 위키의 모니위키는 기존 엔하위키에서 사용되던 오위키에 있던 문서와의 호환성을 위해 일부 태그 처리 방식 등을 수정한 커스텀 버전을 사용하고 있었으며, 2010년 10월 1.1.5 커스텀 버전을, 2013년 8월 이후 1.2.0 커스텀버전이 사용되었다.

아래 목록을 봐도 알겠지만 원래는 소규모 개인 위키나 커뮤니티 위키에 적합한 엔진이었다. 하지만 커뮤니티 위키 중 하나였던 엔젤하이로 위키[* 2010년 이전만 해도 오타쿠의, 오타쿠에 의한, 오타쿠를 위한 오덕위키였으며 지금도 그러하다. 다만 2010년대 들어 일반지식을 다루는 문서들이 급격히 늘어서 상당히 희석된 것. 오타쿠 커뮤니티 부속으로 시작된 위키위키행정구역 개편이라던가 외교적 수사 같은 내용을 담고 있을거라고 누가 생각하겠는가?(...)]가 점점 커져서 리그베다 위키가 되면서 본의 아니게 대형 위키에도 쓰이는 엔진이 되었다. 리그베다 위키의 규모가 커지면 커질수록 대형 위키를 운용하기에는 한계가 많은 모니위키의 약점이 드러나게 되었으며 리그베다 위키와 wkpark의 상호 소통을 통해 이를 보완해나가고 있다. 덕분에 신버전 배포가 매우 더디기로 유명했던 모니위키는 2010년대 중반엔 미친듯한 업데이트 속도를 보여주고 있으며, 리그베다 위키는 본의 아니게 모니위키 기반 위키위키의 첨병 역할을 하는 중이다. 그래도 리그베다 위키 외에 대규모 위키에선 이 엔진을 거의 사용하지 않으며, 개발 방향도 커뮤니티 위키용 엔진 쪽에 맞춰져 있다.

장점

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

단점

* 대규모 위키의 경우 검색에 취약하다. 다만, ElasticSearch 검색 엔진과 같은 전문 검색 엔진을 붙일 수 있다.
* 보안에 안전하다 할 수 없다. 2015년 리그베다 위키 사유화 사태 당시 대문(FrontPage)이 털렸을 뿐만 아니라 페이지 변경 이력이 삭제되는 일이 발생, 리그베다 위키는 이러한 문제 때문에 서버를 닫은 상태라고 알려져 있다. 이후 보안 문제를 해결한 1.2.4 패치 릴리스가 연이어 올라오고 있다.
* 일부 호스팅 업체에서는 RCS가 설치되어 있지 않거나 오류를 일으키는 문제로 인해 제대로 사용할 수 없다.
* 문서를 텍스트 파일로 저장한다. 이 경우 소규모 서버에서는 관리가 용이하지만 대규모 서버에서는 오히려 불리하다.
* 일부 항목에서, 제목이 이상하게 표시되는 문제가 있다.

비고

* 1.2.0부터는 ElasticSearch 검색 엔진을 지원하게 되어 검색에 대응하고 있다. 이것을 쓰지 않는 경우에는 검색을 5천 페이지 단위로 나누어서 한다. 검색으로 먹통되거나 하지는 않는다. 작은 위키의 경우에는 regex 검색까지도 가능하다.
* 1.2.5부터는 MySQL을 이용한 검색을 옵션으로 지원하게 되었다.(제목/본문 검색 및 페이지 개수 세기)
* 나무위키의 문법은 모니위키의 서브셋이다. 모니위키는 나무위키 페이지를 가져와서 그대로 쓸 수 있는 유일한 공개 소프트웨어 위키 엔진이다.
* 역링크를 지원하지 않는다고 알려져 있는데, 역링크도 지원한다.(모니위키 1.2.0 이전의 경우에는 전체 검색을 통해 지원되어서 대규모 위키에서 쓰지 못했으나, 1.2.0 이후 버전에서는 역링크 기능이 검색기능이 아니게 구현되어서 매우 빠르다. 리다이렉션도 표시되어 나온다)
* 개발자가 한국인임에도 불구하고 한글 지원에 되려 소홀한 면이 없지 않았으나 1.1.3 버전 이후로 도움말이 꾸준히 추가되고 있다.
* 보안의 문제에 자유로울 수 있는 PHP는 없다. 모니위키도 마찬가지이며, ~~리그베다 위키가 8년간 운영되는데 이러한 수준의 보안 사건은 없었다는 점을 고려해야 한다.~~[* 해당 문제는 모니위키 1.2.x 버전에 한정된 문제였다. 리그베다 위키에 모니위키 1.2.x 버전이 적용된 시기는 2013년 8월이므로, 그 이전에는 동일한 문제가 발생하지는 않았을 것이다. 다만, 개발자가 모르는 다른 취약점이 존재할 가능성은 있다.([[3]])]
* 파일 기반이므로 제목에 길이 제한이 있다: 사실 미디어위키도 제목 필드는 256문자로 제한이 있으며, 나무위키도 마찬가지. 단, 모니위키의 경우 urlencode 형태로 저장하기때문에 한글의 경우 한 글자가 9바이트를 차지하게 된다. 미디어위키의 경우에는 한글은 3바이트로 저장된다. 이 문제는 1.2.5부터 도입된 새로운 방식을 사용하면 한글을 3바이트로 저장하게 되어 제목의 글자 제한이 대폭 완화되게 된다.
* 일부 특수문자를 사용할 수 없다: 미디어위키나 나무위키도 마찬가지다. 오히려 모니위키는 알파벳 이외의 문자는 urlencode로 저장하므로 미디어위키에서 사용할 수 없는 글자도 사용할 수 있다.

개발상황

2003년

* 모니위키 1.0 발표.

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가 릴리즈되었다.

2010년

* 2010년 4월 23일 - 모니위키 1.1.5를 개발중이니, 문제점이나 건의사항을 올려달라는 글이 모니위키 게시판에 올라왔다.([[4]])
* 2010년 9월 1일 - 1.1.5가 정식으로 릴리즈 되었다.([[5]])
* 2010년 9월 7 ~ 9일 - 엔하위키에서는 기존 모니위키 커스텀 버전 대신에 1.1.5으로 교체했다. 커스텀 버전과 1.1.5과의 차이점에서 발생하는 문제점이나 버그는 구 엔하위키 게시판을 통해서 보고/수정되었다.
* 2010년 9월 10일 - 엔하위키를 1.1.5로 업그레이드 하는 과정에서 발견된 버그를 수정한 1.1.6 CVS가 릴리즈 되었다.([[6]])

2011년 ~ 2012년

* 1.1.5 버그 수정을 목표로 한 1.1.6과 wiki 엔진 코어 리팩토링 작업을 거치게 될 1.2.0가 개발 중이다.([[7]])
* 이 기간 동안 KLDP.net 서비스 종료 등으로 배포처 변경과 업데이트가 뜸해져 모니위키에 대한 몇 안되는 위키 사용자의 관심이 줄어들었다.

2013년

* 엔하위키 미러 IP 차단 논란 즈음부터 개발자 wkpark이 위키 게시판에 자주 나타나더니, 청동의 협력을 얻어 고도화 업데이트가 계속 진행 중이다.
 1. 2010년 : 100회 이상(모니위키 1.1.5 및 1.1.6/1.2.0 개발 시작)
 1. 2011년 : 8회
 1. 2012년 : 5회
 1. 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 : 위키 문서에 외부 이미지 주소가 있을 경우, 해당 주소로 가서 이미지를 가져와 저장하는 기능. 이글루스 등에서 이미지 불러오면 차단되는 문제 해결하기 위함.

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의 자잘한 버그 수정 및 기능 개선)

2015년

* 리그베다 위키 사태가 지난 얼마 후에 보안버그 소식이 개발자에게 25일 전달되었고 25일 이후로 보안버그를 수정한 패치 릴리스가 연이어 나오고 있다.
* 1.2.4가 나왔으며 1.2.4 패치 릴리스가 연이어 나왔다.
* 그 이후로 200여개의 커밋이 추가되었고 1.2.5 곧 출시 예정.
* 드디어 리그베다의 로컬 패치가 0에 가까워졌다. 즉 모니위키 소스를 99% 그대로 사용중.
* 리그베다위키와 협력을 통한 보안 기능 향상/1.2.5 안정화를 위해 베타테스트를 계획중이다.
* 1.2.5버전에서 일반 편집자들이 문서 이동 기능을 사용할 수 있게 된다.
* 기여 철회를 위한 전용 액션 추가.
* 어뷰즈 필터, 틀 역링크 등 기능 개선.

그 외

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

모니위키를 사용하는 위키위키 리스트

* 커뮤니티
 * 리그베다 위키 - 2015년 5월 17일 기준으로 다시 정상 작동. 현재 알파 테스트 종료. ~~청사장 개인위키~~
 * [[9]]
 * [[10]]
 * --[[11]]--
 * [[12]]
 * [위키]
 * [미디어학부 위키]
 * --[인벤 위키]-- - 2011년 11월 20일 기준, 폐쇄되었다.
 * [위키]
 * [위키]
 * [인벤 위키]
* 개인위키
 * [위키]
 * [위키]
 * --[[13]]--
 * [위키]
 * [위키]
 * [위키]
 * --[위키]--
 * [위키]
 * [Research 위키]
 * [위키]

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'

속도 향상을 위한 팁

위키 게시판에서 모니위키 개발자 wkpark이 밝힌 속도향상 팁은 아래와 같다.

1. 캐쉬를 써라 : config.php 파일에 $cachetime=60*60*24; // 라고 넣으면 캐시를 하루 단위로 갱신.

[각주] 분류:위키 엔진