Moni Wiki Faq

Contents

1. 한글이 UTF-8 지원을 하나요
2. 리버젼기능이 안되는데 무슨 이유때문인가요
3. Cafe24 문제
4. 페이지를 수정하면 현재 수정한 페이지의이름 v 라는 페이지가 생성되요
5. 로그인 하지 않으면 수정 못하게 할 수 없나요
6. Blog Changes에서 내용까지 다 보여주게 할 수 있는 방법은 없을까요 ?
7. 왜 모인모인의 문법을 차용했나요
8. php가 gdbm 또는 Berkeley db3를 지원할 수 있어야 하나요
9. 소스를 고쳐서 쓸 수 있나요
10. 생각보다 많이 느린것 같습니다
11. 소스크기는 어떻게 되나요 ? 파일이 아주 많은데요
12. 제가 참여해도 될까요 :)
13. rcs 문제
14. 표 그리기에서 표 안에 문자열을 가운데정렬이나 오른쪽 정렬하는 법
15. .htaccess 문제 ?
16. Preview
17. 관리자만 글을 수정할수있게 할수있나요
18. Blog 내용의 포맷
19. System함수(?)의 문제
20. TableofContent 가 오작동하는 문제
21. 메뉴를 수정할수 있는 방법을 가르쳐 주세요.
22. 모니위키를 한글화 패치한것은 없나요? 사용메뉴얼까지 포함해서...
23. StandaloneWiki에서 텍스트 크기가 제한되어 있나요?
24. DueDateMacro 날짜 형식을 바꾸고 싶습니다.
25. 페이지생성이 되지 않습니다.
26. 이메일 확인 없이 등록 할 수 있게 만드려면?
27. 역슬래쉬가 사라집니다.
28. url forwarding 하면 글을 수정할 수 없습니다.
29. 폰트색깔을 변경할수는 없나요 ?
30. TitleIndex 에서 리스팅 순서를 한글 부터 나오게 할 순 없을까요?
31. 한 페이지에 BackLink를 두개이상 되게 하려면?
32. 링크경로
33. FullSearch사용시
34. 한글 사용자명으로 로그인할 수 있게 만들기
35. URL 짧게 만들기
36. FullSearch와 TitleSearch의 중간 정도 개념이 있으면 참 좋겠는데요.
37. 위키의 방문객 리퍼러를 알고 싶은데요.
38. 사용자 등록을 관리자가 인증하게 할려면?
39. 등록된 사용자만 읽고, 쓰기 권한을 줄려면?
40. LaTeX 이나 gnuplot 설정은 어떻게 하나요?
41. MoniCalendar에서 위키 문법을 적용하려면?
42. 에디트 페이지에서 툴바가 나오게 하려면?
43. 섹션별 편집 기능을 사용하려면?
44. 섹션에 마우스 오버 됐을때만 편집메뉴가 나오게?
45. 표 배경색이 나오지 않아요 -_- ;;
46. 웹서버를 사용자 포트를 이용하여 띄웠을 경우 문제 발생
47. FAQ 2


1. 한글이 UTF-8 지원을 하나요 #

Q: 한글이 UTF-8 지원을 하나요 ?

A: 한글 지원을 위해 특별히 처리해야 할 부분은 TitleIndex, FullSearch와 diff입니다. NewDiff등등이 EUC-KR/UTF-8에 대해 한글을 지원합니다.

Q: config.php에 UTF-8 설정을 해놨습니다. 그러나, 글을 수정할때 보여지는 아래 안내글이 깨집니다.
제가 작성하는 글들은 잘 보입니다. 무슨 문제일까요? 1.1 버전 설치했습니다. http://rataplan.dnip.net/wiki/wiki.php/한글사랑?action=edit&rows=19

A: FreeBSD를 사용하시는군요. 저는 FreeBSD 4.11 에서 MoniWiki를 돌리고 있습니다. 저도 4.x 에서 같은 문제를 겪었습니다. Linux 에서는 $lang='auto'; 이나 $lang='ko';로 해도 문제가 없어보입니다. FreeBSD에서는 auto나 en 으로 설정을 해도 경우에 따라서 메뉴나 설명 따위가 깨진 한글로 나오더군요. 리로드하면 영어로 나오기도 합니다. locale 의 문제인지는 모르겠지만 저는 정신건상상에 $lang='en';$charset='utf-8';로 설정하였고, locale/{fr,ko,ko_KR.UTF-8}/ 그리고 locale/po/{ko,fr} 은 지워서 쓰고 있습니다. 이렇게 하니까 깨진 한글이 나오지 않고 메뉴와 설명이 영어로 나옵니다.
  • 감사합니다. config.php의 $lang='en'으로 설정하여 영문자로 보이니 그나마 다행입니다.

  • httpd.conf 아파치 설정파일에서 AddDefaultCharset 를 주석처리 해보세요. #AddDefaultCharset

A : $lang='ko_KR.EUC-KR' $charset='EUC-KR'로 설정을하니 한글이 깔끔하게 나오네요.( 현 시스템 : Fedora Core 4, UTF-8)


2. 리버젼기능이 안되는데 무슨 이유때문인가요 #

Q: 리버젼기능이 안되는데 무슨 이유때문인가요 ?

A: rcs가 제대로 설치되지 않아서 그렇습니다. MoniWikiRcs를 참고하시고, rcs가 설치되었는지 확인해 보시길 바랍니다. 호스팅 환경이 리눅스이고 그 버전을 알 수 있다면, 그 환경에 맞는 rcs를 개인이 설치하실 수 있습니다.



3. Cafe24 문제 #

Q: (버전 1.0, 1.0.1) cafe24 500원 호스팅을 받고 있습니다. rcs도 설치되어 있고, 패스도 설정하였는데, 처음에 수정한 내용만이 1.1로 저장되고 더이상 변화가 없더군요. info가 나오는 것으로 보아, 경로문제는 아닌듯 합니다. new21에서 컴파일(cafe24에서는 컴파일할 때 에러가 나오더군요.)한 rcs도 같은 문제가 나타납니다. --kebil

저와 같은 증상이군요. 무엇이 문제인지... 처음 이후엔 저장이 안됩니다. -- jHANA

monisetup을 보면 알수있지만... $rcs_usr는 kebil 설정해 두었습니다. --kebil

A: rcs가 처음에는 잘 되는데 두번째부터는 안될 때, 그 원인은 rcs의 ci프로그램이 "/usr/local/bin/diff"를 찾는다는 데에 있었습니다. 즉, rcs를 컴파일 해서 설치할 때에 diff의 경로가 제대로 지정해 있지 않으면 이런 문제가 발생하게 됩니다.

문제의 해결법은: rcs를 컴파일 할 때, "--with-diffutils"옵션을 넣지 않고 컴파일 하고, 다음과 같이 합니다. --WkPark

sh configure
cd src
make DIFF=diff DIFF3=diff3 RCSPREFIX=


계속 문제네요. 서버에서 /usr/bin/diff 쪽에 퍼미션이 없었습니다. /home/bin/diff 을 썼죠. 문의해서 /usr/bin/diff 와 /usr/bin/diff3 퍼미션을 풀어주어서, 이제는 Revision History는 제대로 되더라구요. 하지만, diff를 누르면 여전히 No difference found라고 나오네요. 필요하다면, 계정 아이디와 암호 알려드릴수 있습니다. --kebil

config.php에서 $path="/home/bin:/usr/bin:/bin:/usr/local/bin";이라고 고쳐보세요. 귀찮으시더라도 다른 비슷한 증상이 있는 분들을 위해 ^^;; --WkPark

그렇게 해도 안되네요. 다른 문제인가 봅니다. --kebil
cafe24는 path가 변경이 안되더군요. -- BL

icon를 누른 후에, diff하고자 하는 버전을 체크하고 diff를 해보세요. 이게 안되는 것은 rcsdiff의 문제입니다. (diff는 충돌이 일어났을 때와 페이지를 고쳤을 때 써먹힙니다.) --WkPark
고쳤습니다. rcsdiff내에 co 파일 경로가 /usr/bin/co로 되어있어서 그랬습니다. 이제는 제대로 되는군요 --kebil
소스 컴파일을 했는데 rcsdiff 에 co 파일 경로가 /usr/bin/co 로 잡혀 있다면 컴파일을 잘못한 것입니다. ./configure --prefix={설치할 경로} 처럼 해주고 make 하면 경로가 자동으로 적절하게 고쳐집니다. 소스를 고치는 건 "올바른" 방법은 아닙니다.

A: 다음 링크를 참조하세요. 한방에 해결되네요. http://moniwiki.sourceforge.net/wiki.php/MoniWikiAtCafe24 -- kevin


4. 페이지를 수정하면 현재 수정한 페이지의이름 v 라는 페이지가 생성되요 #


Q: 페이지를 수정하면 현재 수정한 "페이지의이름,v"라는 페이지가 생성되요.

A: data/text/RCS 디렉토리가 있는지 확인해 보세요. RCS디렉토리가 있으면 *,v파일이 그 안에 생성되며, *,v파일은 모든 히스토리 정보를 가지는 rcs 데이타 파일입니다. --WkPark



5. 로그인 하지 않으면 수정 못하게 할 수 없나요 #

Q: 로그인 하지 않으면 수정 못하게 할 수 없나요?

A: config.php에서 $security_class='needtologin';으로 설정하세요.

Q : Monisetup.php파일에서 셋업을 할 경우 Old password와 New Password의 용도를 알고싶습니다. 비밀번호 바꿀시에만 사용을 하고 그냥 페이지이름등의 update버튼으로 끝나는것이 맞습니까? 그렇다면 아무나 접근경로만 안다면 설정자체까지도 바꿀수 있다는것입니까? 참.. 어렵군요.. ㅠ0ㅠ 답변 부탁드립니다.(꾸벅)

A : Old password를 입력하지 않으면 update 되지 않습니다. New password는 관리자 password를 변경할 때만 입력합니다.



6. Blog Changes에서 내용까지 다 보여주게 할 수 있는 방법은 없을까요 ? #

Q: Blog Changes에서 내용까지 다 보여주게 할 수 있는 방법은 없을까요 ?

A: 버전 1.0.1부터 "summary"옵션으로 제공합니다.


7. 모인모인의 문법을 차용했나요 #

Q: 왜 모인모인의 문법을 차용했나요 ?

A: See 모인모인의장단점


8. php가 gdbm 또는 Berkeley db3를 지원할 수 있어야 하나요 #

Q: php가 gdbm 또는 Berkeley db3를 지원할 수 있어야 하나요 ?

A: 필수인 것은 아닙니다. $use_counter=0;으로 하면 db모듈과 상관 없이 쓸 수 있습니다. 이렇게 하면 페이지 카운터를 쓸 수 없게 됩니다.

9. 소스를 고쳐서 쓸 수 있나요 #

Q: 소스를 고쳐서 쓸 수 있나요 ?

A: 라이센스가 GPL입니다. 고쳐 쓸 수 있으며, 상업적으로 사용도 가능합니다. 다만, 고친 소스는 GPL라이센스하에 공개해야 하겠지요. 개인적으로 고쳐 쓰는 것이라면 상관 없겠구요.

10. 생각보다 많이 느린것 같습니다 #

Q: 생각보다 많이 느린것 같습니다.

A: 속도에 민감하신 분이면, 기능을 하나씩 꺼보세요. $shared_metadb=''; $use_smily=0;, $use_counter=0;, $trail=0;로 하면 속도 향상이 있습니다.


11. 소스크기는 어떻게 되나요 ? 파일이 아주 많은데요 #

Q: 소스크기는 어떻게 되나요 ? 파일이 아주 많은데요 ?

A: 초기에는 본체 파일(wiki.php, wikilib.php)만 있어도 작동되도록 설계되었었고, 지금은 본체파일만 5000여줄이고 plugin/* 하위 파일은 필수적 요소가 아닙니다. 모든 php의 소스를 다 합치면 버전 1.0에서 1만줄정도 되는군요.

RCS를 저장소로 사용하는 것이 어떤 면에서 백업본으로 인한 성능 저하 감소 방지를 해줄까요? 백업본이 어떤 성능을 저하시키나요? 매 버젼간의 "delta"를 저장하는 RCS가 어떤 경우에 특별히 성능이 좋을까요? -- 김창준
사실 크게 차이나지 않을 것이라고 생각합니다. 백업본이 많아져서 예를 들어 200개정도 된다고 하면 RCS 역시 느려지겠지요. 백업본이 많아지면 모인모인도 느려지더군요 ( GnomeKorea 위키는 지금까지 백업을 하나도 지우지 않아서 info를 보려고 하면 시간이 상당히 걸리더군요. 측정같은 것은 안해봤습니다만) RCS를 사용하면 백업본이 하나만 있는 셈이므로 용량이 줄어드는 장점이 있으리라고 봅니다. 기타 RCS를 사용하면 rcs를 설치해야 하는 문제점이 있겠지요. UseModWiki는 RCS와 비슷한 방식이지만 rcs를 사용하지 않고 구현하고 있더군요. 덕분에 소스가 4천줄 이상입니다. -- WkPark
모인모인에서 백업본이 많아져서 속도가 느려진다면 그건 아마 플랫 파일 시스템을 쓰기 때문에 백업본 목록을 만들 경우 디렉토리 리스트 시스템 콜이 발생하고, 여기에 시간이 오래 걸리기 때문이라고 생각합니다. 아시다시피 CVS 역시 RCS 백엔드를 쓰는데, 리비젼이 많아지면 CVS도 상당히 느려지더군요. 목록을 별도의 화일/디비 등에 따로 관리하는 것이 RCS 사용에서 얻는 성능향상보다는 더 낫지 않을까 합니다. 그런데, RCS에선 과거 히스토리의 일부(예컨대 한 달 이전 기록은 삭제하는 등의 트리밍)를 삭제해 나가는 게 간단한가요? -- 김창준
rcs의 옵션에 -orev1:rev2옵션을 주면 원하는 부분을 지울 수 있으니 이걸 관리자에게 지울 수 있게 한다거나 하여면 비슷한 효과를 볼 수 있으며, MoniWiki 1.0 이후로, 관리자는 리비젼을 선택적으로 지울 수 있습니다 -- WkPark

12. 제가 참여해도 될까요 :) #

제가 참여해도 될까요 :) ? MiniWiki 정도를 만드려고 하는데... -- 최종욱 MoniWiki 도 나름대로(?) Mini를 지향합니다. MoniWiki는 GPL이니, 직접 고쳐주시거나 좋은 제안을 주시면 감사하겠습니다 (_ _) -- WkPark
아파치 perl모듈로 있는 MiniWiki라는 것이 있더군요.
UseModWiki 의 쓸모없는 파일을 다 지웠더니...(config, intermap 등등 다 지워버렸습니다.) wiki디렉토리에 파일이 wiki.pl만 남더군요;;; 물론 데이타디렉토리에는 파일이 좀 있습니다만...;;;
UseModWiki 는 아주 작고도 유명한 위키지요. 대형 프로젝트에서도 많이 쓰이고, OriginalWiki의 명성과도 버금갈 만 하며, TWiki의 큰 덩치와 비교되곤 합니다. MoniWiki의 초기 버전은 프로그램 본체(wiki.php + wikilib.php)만 있어도 실행이 되었고 UseModWiki보다 소스 크기가 작았다지요(약 4천여줄). 지금은 본체만 5000여 줄이며, plugin을 다 날리고, 자질구레한 옵션을 off시키면 작은 파일이 10RPS가 넘는 속도가 나옵니다 (속도상으로는 초기 버전보다 더 빨라진 듯 합니다 ^^;;). 여기에 필요한 플러그인은 차례차례 첨가해 보세요. UseModWiki는 확장을 할 수 없다는 가장 큰 단점이 있습니다. -- WkPark

설치했는데... 생성한 페이지를 지울려고 하니 Please enter the valid password 에러가 나네요. 분명히 MoniSetup할 때의 관리자 암호를 그대로 쳤는데도 불구하고 말입니다...ㅠ.ㅠ
config.php에서 $admin_passwd줄을 지우고 config.php의 퍼미션을 666으로 조정한 후에 MoniSetup을 다시 실행하시던지, mkpasswd.pl을 사용하세요.
mkpasswd.pl을 사용해서 다음과 같이 암호를 만듭니다.
{{{
$ perl mkpasswd.pl haha
b3m0nloMoPsyM
\\}}} 그런 다음 윗 줄을 잘라서 {{{$admin_passwd="b3m0nloMoPsyM";}}}줄을 config.php에 넣으시면 haha를 비밀번호로 사용할 수 있게 됩니다. 물론, 위의 것은 예제이고 암호는 다른 것으로 하세요 :p -- WkPark
----
'''Q''': = 한개로 둘러쌀 경우 해당 페이지의 제목인 것으로 생각하고 있는데 목차에서는 최상위 목차인 1로 나오네요. 이 페이지도 마찬가지고요. 원래 그런건가요? 그렇다면 목차에는 포함되지 않는, 페이지 제목만을 위한 별도의 포매팅 규칙이 있는 것인지.... (각 페이지 상단에 제목이 있으므로 본문상에서는 별도로 제목을 넣을 필요가 없을것 같다는 생각도 드는군요.) -- [권순선]
 예. 별도의 제목을 넣지는 않습니다. 일단은 모인모인과 호환을 내걸고 있기 때문에 모인모인과 작동 방식이 같다는 것을 말씀 드리고요. 맨 윗줄을 큰 글씨체로 하고자 할 경우는 {{{[[HTML(<font size=+4>Hello</font>)]]}}}와 같은 HTML 매크로를 이용하시면 됩니다.
  역시 그랬군요. = 가 한개일 경우에 글자가 너무 커서 그게 제목인줄 알았거든요. 이건 CSS를 편집하거나 하면 조절할 수도 있겠지요? 이건 급한건 아니니 일단 더이상 논의할 필요가 없겠네요. :-) -- [권순선]
   보통 "= 제목 ="는 잘 사용하지 않고, "== 제목 =="을 사용하게 되더군요. CSS에 따라서 틀리겠지만요 :) -- WkPark

띄어쓰기 토론과 관련하여, 별도의 제목을 넣을 수 있게 한 방식(#title)을 rc17부터 사용합니다. -- WkPark
 위의 글은, 문서 수정창에서 {{{
 #title 이 문서의 타이틀 
}}}과 같이 띄어쓰기를 한 제목을 집어 넣는 것을 말합니다.
----
= rcs 문제 = 
'''Q''': .../data/text 아래에 현재 기존의 문서들을 일괄 변환해서 넣어 두었는데 이렇게 외부에서 파일 카피하는 방식으로 문서를 넣어둘 경우 .../data/text/RCS 아래에는 해당 문서의 버전정보가 남지 않습니다. 따라서 누군가 기존 문서를 마음대로 편집해도 해당 문서의 최초 상태는 알수없게 되는 경우가 생기죠. 문서이름,v 라는 파일을 함께 생성되도록 해야할 텐데 그냥 파일을 touch하는 방식으로는 안되는것 같고....뭔가 좋은 방법이 없을까요? -- [권순선]

'''A''': 다음과 같은 방법을 써서 일괄적으로 rcs co를 합니다.

/!\ (RcsUser)LOGNAME을 잘 맞춰 줘야 합니다. 그렇지 않으면 수정할 수 없게 됩니다.
{{{
#LOGNAME=kss ci -l -t-"initial release" -m"blah blah" *
LOGNAME=apache ci -l -t-"blah blah" -m"blah blah" *
}}}
이렇게 하면 *,v파일이 현재 디렉토리 혹은 RCS 디렉토리에 만들어지며, 이 파일을 모두 RCS에 넣고, 퍼미션을 조정하시면 됩니다. 혹시 잘못 될 경우를 대비해서, data/text디렉토리를 백업하신 후에 data/text디렉토리에서 위의 명령을 내리면 변경된 파일만 알아서 *,v파일이 업데이트 되는군요. --WkPark
----
= 표 그리기에서 표 안에 문자열을 가운데정렬이나 오른쪽 정렬하는 법 =
'''Q''': 표 그리기에서 표 안에 문자열을 가운데정렬이나 오른쪽 정렬하는 법을 알고파요. -- [minzkn]

'''A''': OriginalWiki에서는 아예 표에 관련된 문법이 없습니다. MoinMoin위키에서 만들어진 표 문법은 다른 많은 위키엔진에 영향을 주었지요. MoniWiki에서 지원하는 표 문법은 MoinMoin의 1.0버전 이전의 최소한의 표 문법입니다.

MoniWiki는 PmWiki에서 쓰이는 가운데 정렬 등등의 문법을 버전 1.1.0부터 지원합니다. (모인모인의 방식과 조금 다릅니다.)

----

= .htaccess 문제 ? =
노출되면 안되는 data/user/ 디렉토리가 웹상에 노출되어 있을 경우 (예를 들어
http://doc.kldp.org/data/user/wu-wkpark)
.htaccess파일을 고쳐서 이 파일을 보이지 않게 하려면 httpd.conf 의 디렉토리 설정중 AllowOverride AuthConfig 를 지정해주어야 합니다.
{{{
Order allow,deny
Deny from all
}}}

----

= Preview =

'''Q''' : preview가 안나오게 할 수는 없나요? 수정을 하면 preview할 것 없이 수정된 페이지를 봤으면 좋겠다는 생각이 듭니다만. --[이지수]

'''A''': 이것은 모인모인 호환차원에게 그렇게 동작하도록 한 것입니다. 그러나 이러한 요구가 꾸준히 있어왔기 때문에 모니위키 1.1.2부터는 $use_save_refresh=1; 옵션을 지원합니다. 이 값이 1 이상이면 refresh할 때 기다리는 몇초에 해당하는 값으로 설정됩니다. 1.1.3부터는 좀 더 광범위하게 적용될 예정입니다.
= 관리자만 글을 수정할수있게 할수있나요 =
 ''이부분 알고계신분 답변 부탁해요~''

config.php에서 
{{{
$security_class="needtologin";
}}}
로 설정한 후에 
plugin/security 폴더의  needtologin.php 을 아래처럼 수정합니다. 

{{{
  function is_allowed($action="read",$options) {
    $method='may_'.$action;
    if (method_exists($this, $method)) {
      return $this->$method ($action,&$options);
    }
    return 1;
  }
}}}

이 함수를
{{{
  function is_allowed($action="read",$options) {
   //if User id is not 'admin', 'Edit' is imposible.
    if($action=="edit" && $options['id'] != "admin")
    {
        $options['err']="Only 'admin' user can edit.";
        return 0;
    }

    $method='may_'.$action;
    if (method_exists($this, $method)) {
      return $this->$method ($action,&$options);
    }
    return 1;
  }
}}}
처럼 수정하게 되면 ID가 admin인 사용자에게만 편집을 허용하게 됩니다. 다른 ID를 사용하고 싶다면 admin대신에 다른 userid를 입력하시면 됩니다.  -- 김대정

----

= Blog 내용의 포맷 =
Blog 의 내용이 나올때의 형식(포맷)을 바꾸고 싶습니다. Wiki.php의 어디를 바꾸어야 하나요?
 * 참고: 가령 http://wiki.commres.org/wiki.php/Blog/hkimscil 와 같이 나오는데,,, 이것을 http://commres.org/comm/moin.cgi/Blog/HkimScil 와 같은 식으로 보이도록 하고 싶습니다...
----
모니위키에서는 보여주는 형태를 쉽게 바꾸거나 할 방법을 제공하지 않습니다. 단지 CSS를 고쳐서 보여지는 형태가 조금 다르게 보여줄 수 있을 뿐입니다.
= System함수(?)의 문제 =

'''Q''' : Edit를 할 때 Warning: system() has been disabled for security reasons in /절대경로/moniwiki/wiki.php on line 833 이라는 에러매시지를 뱉는데 서버에서 막아둔것인가요? 해결방법은 무엇인가요?


'''A''': 네, php 설정파일에서 system() 함수를 사용하지 못하도록 막아둔 것 같습니다. phpinfo() 함수를 실행시켜보면 어떤 함수를 막아두었는지 확인할 수 있습니다. system() 함수를 사용하고자 한다면, 이 부분에 대해 서버 관리자에게 문의를 해야할 것입니다.

'''A''': 지난번 제로보드 관련 보안 권고로 system() 함수를 막아놓은 호스팅업체들이 많더군요. 비슷한 기능을 할 수 있는 popen()으로도 대신할 수 있어요. wiki.php 여시고, system 으로 찾기하셔서 @popen 으로 바꿔주세요. 전 그렇게 편법(?)을 써서 지금 잘 사용하고 있습니다. - vividian

----
= !TableofContent 가 오작동하는 문제 =
'''Q''' : !TableofContent 를 사용할 때 일정부분의 heading만 출력되고 맙니다. 

'''A''' : MoniWiki 의 bug 입니다. 박스(Box, {''''''{{)를 사용하게 되면 발생합니다. 소스의 수정없이 피해가는 편법은 제가 알기로 {''''''{{ 대신에 {''''''{| 를 사용합니다.


'''A''' : 버전 1.0.8에서 1.0.9으로 넘어가면서 생긴 버그입니다. 최근 릴리스 버전을 사용하시면 해결됩니다. Please see http://kldp.net/forum/forum.php?thread_id=4419&forum_id=712

----
----
= 메뉴를 수정할수 있는 방법을 가르쳐 주세요. =
'''Q''' : 상단 또는 테마에 따라서 좌측에 나오는 메뉴를 수정 할수 있는 방법을 가르쳐 주세요 그리고 카테고리에 해당하는 글의 목록을 보는 방법을 잘 모르겠어요 그럼 가르침 부탁 드립니다.

'''A''' : 상단 메뉴 표시 방법 - config.php.default 에서 $menu = array(...) 부분을 참고해서, config.php를 수정해주세요.

= 모니위키를 한글화 패치한것은 없나요? 사용메뉴얼까지 포함해서... =
'''Q''' : 모니위키를 설치했는데, 전부다 영어라서 알아보기가 힘듭니다.
한글화 작업이 혹시 진행된것이 있나요~?

'''A''' : 이 곳이 도움이 되시길 빕니다. http://www.lameproof.com/wiki/wiki.php/%B5%B5%BF%F2%B8%BB

= StandaloneWiki에서 텍스트 크기가 제한되어 있나요? =
'''Q''' : 이 곳에 있는 윈도우즈용 모니위키를 설치해서 StandaloneWiki로 사용하고 있습니다. 그런데, 짧은 텍스트는 저장되는데 좀 길다 싶으면 페이지오류를 일으킵니다. 각종 자료를 정리할 목적으로 설치한 것인데 이런 문제가 발생해서 난감하네요. 길어 봤자 A4용지 1장 분량도 되지 않는데 이상합니다. 제가 무슨 문제인지 알아보려고 했으나, php는 영 낯설어서요. :( 도움 부탁드립니다.

'''A''' : 현재 standaloneWiki의 기능은 제한이 많은 것으로 압니다. 그 때문에, 대부분의 분들이 http://www.apmsetup.com/ 에 가셔서 Apm_setup이란 것을 다운받아서 pc상에서 아파치를 돌리면서 사용하고 계십니다. 저도 그렇고요. 쉽게 설치 가능하고 moniwiki로 전체 기능을 전부 쓸 수 있어서 매우 편리합니다.
= DueDateMacro 날짜 형식을 바꾸고 싶습니다. =
'''Q''' : DueDateMacro에서 날짜 형식을 바꾸고 싶습니다. 12/11/05 되어 있는데.. 2005년 12월 11일..이런식으로 바꾸려고합니다. 어떻게 해야 하나요? (이렇게 쓰는거 맞나요? 첨이라서요...)

'''A''' : 시스템 locale이 한국어로 되어있지 않은 경우입니다. 시스템 locale을 바꿔주셔도 되고, 시스템 설정을 변경하지 않으시려면 {{{plugin/DueDate.php}}}의 38행(1.1.1 기준)에서 strftime()을 호출하기 전에 다음 명령을 추가해 주시면 됩니다.
{{{
  setlocale(LC_TIME, "ko_KR.UTF8");
}}}
= 페이지생성이 되지 않습니다. =
'''Q''' : 새로운 페이지를 만드는데 제한이 생겼습니다. 가령, ''마법의바다''라는 페이지가 있다면, ''바다''라는 페이지를 만들려고 해도 곧장 ''마법의바다''페이지로 연결이 됩니다. 영문의 경우에도 똑같습니다.왜 그런 것일까요? http://seaofmagic.cafe24.com 에 문제의 위키가 있습니다. MoniWiki 1.1.0 으로 설치했습니다.

저같은 경우에는, Schedule이라는 페이지를 생성하려고 시도하면 ScheduleMgmt라는 페이지로 바로 넘어갑니다. --;; wikiX에서 MoniWiki로 넘어왔는데, 이 문제 때문에 상당히 망설여지는 상황입니다. 가능하면 빨리 수정이 되었으면 하네요.

 이 문제는 1.1.0 스냅샷에서 있던 문제입니다. config.php에서 $auto_search='AutoGoto';라고 되어있는 라인을 지워주세요. --WkPark
= 이메일 확인 없이 등록 할 수 있게 만드려면? =
'''Q''' : 전에는 안 그랬던것 같은데 새 버전에서는 이메일 확인을 하는 것 같네요? 잘 작동은 하는데, 사용자들이 좀 번거로울 것 같습니다. 혹시 이메일 확인 기능을 끌 수 있는지요?

= 역슬래쉬가 사라집니다. =
'''Q''' : 최근버전으로 moniwiki를 upgrade하고 한글을 utf8인코딩으로 설정하였습니다. latex에서 \를 입력할 일이 많은데, 하나만 하면 사라지고 꼭 두 개를 입력해야 하나가 남습니다. 그나마 한 번 수정하려고 들면 모든 \에 \를 하나씩 더 붙여서 \\로 만들어야 겨우 원상유지가 됩니다. 어떤문제일까요?

= url forwarding 하면 글을 수정할 수 없습니다. =
현재 사용하고 있는 wiki 의 security_class 를 wikimaster 로 해 놓았습니다.
wikimasters 에 등록된 아이디로 로그인 하면 글을 수정할 수 있습니다.
그런데, 제가 구매한 URL 에서 포워딩 서비스를 이용해서 이 위키에 들어가면
로그인은 가능하지만 수정하려할 때 권한이 없다고 나옵니다.
해결할 방법이 있을까요?

= 폰트색깔을 변경할수는 없나요 ? =
여기저기 알아보고 있지만 전혀 모르겠네요. 

''' Q : ''' 폰트 색깔변경은 안되는 건가요 ? 

1.1.1부터 지원할 예정입니다.

''' Q : ''' 폰트 크기도 변경 되나요?

1.1.1부터 지원할 예정입니다.
----
글자 색이나 크기를 지정하면 문서의 일관성을 떨어뜨릴 가능성이 높습니다. 그러한 이유로 글꼴 스타일 지정에 대한 기본 문법은 없었습니다. 대신에 {{{[[HTML(<font size=-2>)]]}}}와 같은 매크로를 사용하면 가능했습니다. 버전 1.1.1부터는 글자 크기/색을 조정할 수 있는 문법이 추가되었습니다.

----
''' Q : ''' 색깔변경과 크기변경을 동시에 하려니 문법 오류가 생겨서 둘중 하나는 안되네요 |) 두 마리 토끼를 잡으려면 꼭 HTML 매크로를 써야 하남요? X-( 

''' A : ''' [MoniWiki문법-글씨색상주기]를 참고하세요!
= TitleIndex 에서 리스팅 순서를 한글 부터 나오게 할 순 없을까요? =
'''A''' : 다음 방법으로 가능합니다.

{{{wikilib.php}}} 파일의 적절한 위치에 다음 함수를 추가합니다.
{{{
function mb_first_strcasecmp($a, $b) {
  $a_alnum = ctype_alnum($a[0]);
  $b_alnum = ctype_alnum($b[0]);

  if ($a_alnum == $b_alnum) return strcasecmp($a, $b);
  if ($a_alnum) return 1;
  else return -1;
}
}}}
그리고는 {{{macro_TitleIndex()}}} 함수 내에서 정렬에 새로 만든 함수를 사용하도록 합니다.
{{{
function macro_TitleIndex($formatter) {
  global $DBInfo;
  ...
  #usort($all_pages, 'strcasecmp');  # 본래 있는 행을 주석 처리
  usort($all_pages, 'mb_first_strcasecmp');  # 새로운 행을 추가
  ...
}}}
WordIndex 페이지에서도 동일한 동작 방식을 원하시면 {{{plugin/WordIndex.php}}} 파일의 {{{macro_WordIndex()}}} 함수를 유사한 방식으로 수정해 주시면 됩니다.
= 한 페이지에 BackLink를 두개이상 되게 하려면? =
''' Q : ''' 기존에 PageList를 이용해서 Backlink를 구성을 하였습니다. 그런데.. 그렇게 하다보니 page name을 규칙적으로 해야 하는 어려움이 있고 두개이상의 category에 포함이 된단는것을 표현하려고보니 너무 어렵습니다. 가능한 방법이 있는지요... --SkullQ

'''A:''': 네 현재 모니위키는 지원하지 않습니다. 1.1.1부터 Keywords시스템을 도입하여 TaggingSystem과 비슷한 방식으로 작동되며, 기존의 Category를 대체하게 될것입니다.

= 링크경로 =
'''Q''': 기존엔 ![url label] 이렇게 잘 작동했는데... 1.1에서는 작동에 문제발생하네요. 문제라기 보다는 링크경로가 화면에 모두 나와버리니 저 같은 경우 css를 적용하여 사용하는데... 화면이 비뚤어지는 현상이 발생하네요...

= FullSearch사용시 =
'''Q''': {{{[[FullSearch]]}}} 에서 나오는 3개의 search 옵션중에 FullSearch에 걸맞는 Case-Sensitive searching을 기본적으로 켜놓으려고 합니다. 따로 옵션을 조정하는 방법이 있나요? 내지는 안된다면 소스를 손봐야 하는지요... --SkullQ

'''A''': {{{plugin/FullSearch.php}}} 파일의 49~56행(1.1.1 기준) 사이에 옵션을 출력하는 부분이 있습니다. 마지막에 있는 "{{{<input type='checkbox' ...}}}"에 다음과 같이 "checked" 속성을 설정해 주시면 됩니다.
{{{
    <input type='checkbox' name='case' value='1' checked='checked' />Case-sensitive searching<br />
}}}
= 한글 사용자명으로 로그인할 수 있게 만들기 =
현재 win32 + apache2 + php5에 위키 최신버전을 설치해서 utf8기본으로 서비스했을시 한글페이지는 생성되지만 한글사용자명은 생성되지 않는 문제점이 발견되었다. 

이는 사용자생성시 /data/user/ 디렉토리에 wu-username 와 같은 파일이 생성되야지만 인코딩된 한글이 win32의 파일시스템에서 사용될 수 없기때문인것 같다.(한마디로 파일이 생성되지 않는다.)

그래서 아래와 같이 wikilib.php 부분중
{{{#!wiki .closure
$fp=fopen($this->user_dir."/wu-$id","w+");
}}}
처럼 유저 id부분을 '''_urlencode''' 함수와 같이 변환과정을 한번 거처 파일시스템에서 사용할 수 있는 이름으로 변경한다.
{{{#!wiki .closure
272 : $fp=fopen($this->user_dir."/wu-"._urlencode($user->id),"w+"); 

278 : if (file_exists("$this->user_dir/wu-"._urlencode($id)))

296 : $data=file("$this->user_dir/wu-"._urlencode($id));
}}}
저장, 로드, 확인... 총 3부분을 이렇게 변경하면 한글 사용자를 추가할 수 있다. - 이강한

좀 더 자세히 아시는 분은 답급이나 수정을 부탁드립니다. 
 * NTFS 인지 FAT32 인지 궁금합니다.
  * NTFS입니다만..
 * 한글 사용자명으로 로그인한 후, 페이지를 생성하면 RecentChanges에서 에러가 발생합니다. PHP를 잘몰라서 어떻게 고쳐야할지 감이 잘 안오네요. -- 임용섭
= URL 짧게 만들기 =
'''Q''': 접속할 때 사용하는 URL을 더 짧게 만들 수 없나요?

'''A''': (hack! 부작용에 대한 책임을 지지 않습니다.) URL에서 "wiki.php" 부분을 "wiki"로 바꾸는 정도가 아니라 아예 제거해 버릴 수 있습니다. 그러면 기존의 http://mywiki.net/wiki.php?SomePage 라는 URL 대신  http://mywiki.net/SomePage 를 사용할 수 있습니다. 단, 다음과 같은 제약 사항이 있습니다.
 1. "wiki.php"가 사라지면서 http://mywiki.net/imgs/moniwiki-logo.gif 라는 URL의 의미가 모호해집니다. 로고 그림 파일을 가리키는 것일 수도 있고 "imgs/moniwiki-logo.gif"라는 이름의 페이지를 가리키는 것일 수도 있게 됩니다. 아래 방법에서는 "그 URL이 가리키는 파일이 존재하는 경우는 그 파일을, 그 외의 경우는 페이지 이름을 가리키도록" 동작하게 합니다.
 1. 호스트의 언어-인코딩 설정이 config.php에 설정한 언어-인코딩 설정과 동일해야 합니다. 그렇지 않으면 한글 페이지를 열지 못하는 문제가 발생할 수 있습니다.
 1. apache의 mod_rewrite 모듈을 사용할 수 있어야 합니다.
다음과 같이 해주면 됩니다.
 1. moniwiki가 설치된 디렉터리에 다음 내용으로 .htaccess 파일을 만들어 줍니다. {{{<<url_prefix>>}}}에는 config.php 파일의 {{{$url_prefix}}} 값을 넣어줍니다. 단, 그 값이 ""(빈 문자열)인 경우는 "/"를 넣어줍니다.
 {{{
RewriteEngine on

RewriteBase <<url_prefix>>

# / => /wiki.php?FrontPage
RewriteRule ^$ wiki.php?FrontPage [L]

# don't touch some reserved urls
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule . - [L]

# wiki page requests
RewriteRule ^(.*) wiki.php?$1&%{QUERY_STRING} [L]
}}}
 1. wikilib.php 파일의 get_scriptname() 함수를 다음과 같이 바꿔서 "wiki.php"가 빠져있는 URL을 표시/사용 하도록 합니다.
 {{{
function get_scriptname() {
    // Return full URL of current page.
    // ...
    return preg_replace('/\/wiki.php/','',$_SERVER["SCRIPT_NAME"]); // 추가된 부분
    // return $_SERVER["SCRIPT_NAME"]; // 원래 코드를 삭제, 또는 주석 처리
}
}}}

= FullSearch와 TitleSearch의 중간 정도 개념이 있으면 참 좋겠는데요. =
'''Q''': 뮤지션들 목록(및 음반명들)을 위키로 만들어볼까 합니다. 그러다보니 ABC순으로 나와주는게 좋은데요. 이 목록을 어떻게 보여줘야 할지 몰라서, FullSearch 명령으로 CategoryRockMetal을 찾는 걸 해봤습니다. 아시다시피 이건 본문의 단순 검색 및 나열이고, ABC순으로 정렬도 되지 않는다는 치명적인 단점이 있지요. 그래서 TitleSearch를 해보니, ABC순 정렬도 얼추 되는 듯 싶고 앞에 넘버도 붙어 보기가 좋은데요. 제목에 같은 단어를 다 넣어줄려니, 별로 보기가 좋지 않아지네요. Metallica를 Ro~Metallica 식으로 써줘야 할 듯 싶으니까요. 그래서 FullSearch의 본문 검색과, TitleSearch의 일목요연하게 배열해줌을, 같이 갖고 있는 기능이 있으면 참 좋을텐데요. 그런 기능 혹시 아직 없나요?

= 위키의 방문객 리퍼러를 알고 싶은데요. =
'''Q''': 위키라고 만들어는 놓았으니, 어디어디서들 오시는지 알고 싶어서요. 블로그 툴인 태터툴즈는 (봇들도 카운트해줘서 문제지) 어느정도 리퍼러 따는게 가능하다고 알고 있는데요. 혹시 위키도 그런거 가능한가요? 만약 이 자체로는 안되어서 다른 프로그램을 깔아야 한다면, 어떤걸 쓰는게 좋을지요? 미리 답변 감사드립니다.

= 사용자 등록을 관리자가 인증하게 할려면? =
'''Q''': 사용자가 새 등록을 할 경우 관리자(admin)가 등록여부를 결정할 수 있게 할 수 있을까요?
가능하다면 어떻게 해야되는지요?

= 등록된 사용자만 읽고, 쓰기 권한을 줄려면? =
'''Q''': 등록된 사용자만, 링크된 페이지를 열람, 검색, 작성할 수 있게 할 수 없을까요?
가능한 방법을 알고 싶습니다.

'''A''': security plugin을 사용해보세요
= LaTeX 이나 gnuplot 설정은 어떻게 하나요? =
'''Q''': 모니위키를 Mac 에 설치해서 사용하고 있습니다. #!latex  명령이 되게 하려면 어떠한 설정을 해주어야 하나요? 

= MoniCalendar에서 위키 문법을 적용하려면? = 
'''Q''': [http://chemie.skku.ac.kr/wiki/wiki.php/MoniCalendar MoniCalendar]를 사용하고 있습니다. event라는 위키 페이지를 만들어서 일정을 넣은 다음 MoniCalendar로 읽는데, MoniCalendar가 보여줄 때는 위키 문법이 적용되지 않고, 그냥 plain text로 보여지는군요. 예를 들어서 attachment로 해서 올리면 링크가 걸려야 하는데, 그냥 attachment라고 보입니다. 어떻게 해결할 수 있는 방법이 없을까요?

= 에디트 페이지에서 툴바가 나오게 하려면? = 
'''Q''': 현재 이곳 에디트시에 나오는 툴바를 에티트 페이지시에 나오게 하고 싶은데 어떻게 해야 하나요?
코드 이곳저곳을 살펴보았으나 wikilib.php부분에서 하는거 같은데 php문법을 알고 있는것도 아니고 힘드네요..^^;
어찌해야하나요? 
  * 앗~ 너무너무 감사합니다! 위키 초보에게 신이 내린 단물같은 답변~~
  * 앗~ 저도 너무 감사합니다! 딱 요게 필요했어요~ - zinho79

'''A''': 일단 EditTextForm 페이지를 만드신 후 
{{{
-----
[[EditToolbar]]
#editform
----
[[EditHints]]
------
}}}
를 입력해 주세요

필요에 따라 SmileyChooser라던가 Upload관련 플러그인들을 넣어주셔도 되구요

= 섹션별 편집 기능을 사용하려면? = 
'''Q''': 현재 이곳 위키에서는 섹션 별로 옆에 edit가 생겨서 섹션별로 편집이 가능한데요.. 그 기능을 활성화 시키는 무언가가 있나요?

'''A''': config.php 에서 $use_sectionedit 옵션을 1로 주면 되던데요. 

= 섹션에 마우스 오버 됐을때만 편집메뉴가 나오게? =
'''Q''': 여기 이곳은 섹션에 마우스 오버되었을 경우만 edit 가 생겨서 편집이 되는데 어떻게 해야 하죠?

= 표 배경색이 나오지 않아요 -_- ;; =
'''Q''': 도움말에는 표 배경에 색을 넣는 방법이 나와있는데, 그거대로 해보니 표 배경색은 커녕 표의 색이 변하는 곳이 없어요. 어디 설정이 잘못된 거죠?
 {{{
||<align="right" width="100px" bgcolor="#cc0000">cell 1||cell2||cell 3||
||<align="right">cell 1||||spanning 2 columns||
}}}

 ||<align="right" width="100px" bgcolor="#cc0000">cell 1||cell2||cell 3||
 ||<align="right">cell 1||||spanning 2 columns||
= 웹서버를 사용자 포트를 이용하여 띄웠을 경우 문제 발생 =
'''Q''': 웹서버의 포트를 20000번 등과 같이 80 포트 이외의 포트를 사용하고 있습니다. 현재 위키는 http://myserver.com:20000/wiki 와 같이 접속하여 사용하고 있는데, 문제는 수정한 후 자동으로 show로 redirection 되면서 http://myserver.com:20000:20000/wiki/TestPage 처럼 포트를 한 번 더 사용하게 됩니다. 이건 무슨 문제인가요?

= FAQ 2 =
 [MoniWiki Faq2]

이 글에는 0 개의 댓글이 있습니다.