Moin Moin/설치

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences U P RSS
MoinMoin의 설치는 기본적으로 MoinMoin:SaneInstallation을 따라 하면 됩니다.



1. MoinMoin과 설정및 한글패치

우선 MoinMoin은 깔려 있다고 가정합니다. 그 후에 다음 사항을 고쳐주면 됩니다.

  1. moin_config.py에서 다음 부분을 찾아 고쳐줍니다.

    charset='euc-kr'
    
    # char sets (WikiNames)
    upperletters = "A-Z"
    lowerletters = "0-9a-z"
    
  2. (모인모인 1.0이하) wikimacro.py에서 TitleIndex 마크로 부분을 고쳐줍니다. _macro_TitleIndex 함수에서

    if wikiutil.isUnicodeName(name):
        letter = "~"
    
    부분을
    if letter not in (string.letters + string.digits):
        letter = "~"
    
    로 고쳐줍니다. 이 정도만 하면 당장 깨지는 글자 없이 MoinMoin을 즐길 수 있습니다. TitleIndex에서 '가/나/다' 인덱스도 쓰고 싶다고요?

    /!\ wikimacro.py 부분은 에러가 나더군요(사용환경 IIS version 5.1 + Python 2.0.1 + moinmoin 0.9)
    무슨 에러가요? MoinMoin 0.9부터 0.11까지 이 패치가 문제를 일으키지는 않던데..

    혹시 Recent Changees 페이지에서 에러나는건가요? 저도 거기서 에러나는데요..
    data디렉토리에 backup폴더가 없어서 생긴일인것 같습니다. 누가 확인좀 해주시기 바랍니다.
    소스를 수정한건 잘못된거였습니다.

  3. (모인모인 1.1이하) macro/TitleIndexKr.pyMoinMoin/macro 디렉토리에 넣어주시면 됩니다. 물론 TitleIndex 페이지에서 [[TitleIndex]]] 대신에 [[TitleIndexKr]]을 쓰도록 고치는 것도 잊으면 안 되죠.

/!\ 모인모인 1.1에서는 TitleIndex에서 한글 문제가 없습니다. 단, 퍼키님의 KLE:KoreanCodecs를 설치해주어야 합니다.
모인모인 1.1 TitleIndex 에도 좀 수정할 부분이 있었습니다. [http]TitleIndex 버그


moin-0.11부터는 i18n 텍스트를 다루는 방법이 조금 바뀌었습니다. 따라서, 만일 다운받으신 소스가 moin-0.11, moin-1.0 버전인 경우에는 macro/TitleIndexKr.py를 조금 수정할 필요가 있습니다. 먼저 다음의 부분을 찾아서
# Imports
import cgi, string
from MoinMoin import config, user, wikiutil
from MoinMoin.Page import Page
그 바로 뒤에 다음의 행을 삽입합니다.
from MoinMoin.i18n import _
그 다음에 소스 맨 밑의 다음 부분을 찾아서
""" % (user.current.text('Plain title index'), user.current.text('XML title index')) ) + result
다음과 같이 고쳐줍니다.
""" % (_('Plain title index', user.current.language), 
_('XML title index', user.current.language)) ) + result

/!\ 모인모인 1.1의 경우는 문제 없습니다

2. MoinMoin 패치

[http]모인모인기능수정 을 참고하면 노스모크모인모인이 아닌 일반 모인모인에서도 따옴표를 쓰지 않고 확장위키네임을 쓸 수 있고, 'GoTo' 검색창을 통해 입력한 페이지가 없을 경우에 유사 페이지 출력하게 만들 수 있습니다.

모인모인 설치시 반드시 아파치를 설치해야 하나요? 파이썬 모듈만 설치되면 iis에서도 가능할 것 같은데? 윈2000 설치시 주의사항 좀 알려주세요
MoinMoin:MoinMoinWinCvs를 참고하세요. DeadLink
see also 백록화[http]모인모인설치기, DeadLink[http]FreeBSD에서모인모인포트설치기

  • 기타 여러 기능들이 [http]MoinMoin의 CVS 버젼에 구현되어 있습니다. 기능 구현시에 참고하세요.
  • ISBN 매크로 작성 : 89로시작하는 번호는 알라딘으로 ,4로시작하면 일본아마존으로, 그이외 코드는 아마존으로 연결합니다.
    1. 다음 내용을 ISBN.py로 저장한후,
      {{|

def execute(macro, isbn):
  if isbn[0] == '4':
      return  '<table border="1" cellspacing="0" cellpadding="3"><tr><td align="center" valign="middle"><a href="http://www.amazon.co.jp/exec/obidos/ISBN%%3D%s"><img src="http://images.amazon.com/images/P/%s.09.MZZZZZZZ.jpg" border="0"><br>ISBN %s</a></tr></table>' %(isbn,isbn,isbn)    
  elif isbn[0] == '8' and isbn[1] == '9':
      return  '<table border="1" cellspacing="0" cellpadding="3"><tr><td align="center" valign="middle"><a href="http://www.aladdin.co.kr/catalog/book.asp?ISBN=%s"><img src="http://www.aladdin.co.kr/Cover/%s_1.gif" border=1><br>ISBN %s</a></tr></table>' %(isbn,isbn,isbn)
  else:
      return  '<table border="1" cellspacing="0" cellpadding="3"><tr><td align="center" valign="middle"><a href="http://www.amazon.com/exec/obidos/ISBN%%3D%s"><img src="http://images.amazon.com/images/P/%s.01.MZZZZZZZ.gif" border="0"><br>ISBN %s</a></tr></table>' %(isbn,isbn,isbn)    
|}}
  1. macro 디렉토리에 복사한다.

3. MoinMoin에 매크로

3.1. 칼렌더 기능
  1. 소스 가져오기
    http://egret.bio.brandeis.edu/soft/tyaki.cgi/NiKKi/macro/CalendarMonth 에서 맨아래의 메뉴에서 소스를 다운받습니다.
  2. 소스 고치기
    각 날짜별 약속내용은 {{|- ((todo)|(\d{1,2}(am|pm))|(\d\d:\d\d)):(.*)|}} 형식을 사용합니다. 그런데, 오리지날 모인모인에서는 댓쉬를 불릿으로 변환해주지 않기때문인데, 저의 경우에는 댓쉬를 *로 바꾸었습니다.
    원본 소스 {{|defaultevents = r'^ - ((todo:)|(done:)|(note:)|(\d\d:\d\d):|(\d{1,2}(am|pm):))(.*)$' |}}

    바뀐 소스 {{|defaultevents = r'^ \* ((todo:)|(done:)|(note:)|(\d\d:\d\d):|(\d{1,2}(am|pm):))(.*)$' |}}
    • 참고: * 경된 소스를 올려놨습니다. 편집이 번거로우면 다운받아서 사용하세요.
  3. 저장하기
    모인모인이 설치된 디렉토리중에서 macro 디렉토리에 위의 소스를 복사해서 넣는다.
  4. 사용하기
    칼렌더를 사용하기를 원하는 페이지에서 EditText를 선택한후 [[CalendarMonth(2001,11,1,log)]]과 같은 형식으로 써주면된다. 이젠 2001년 11월의 달력이 나올것이다. 그러면 날짜를 클릭해서 위의 defaultevents의 포맷에 맞게 내용을 입력해주면 달력에 내용이 표시된다.


 "위의 defaultevents의 포맷에 맞게 내용을 입력해주면 달력에 내용이 표시된다."의 의미를 잘 모르겠습니다. 예를 들어 설명해 주시면 감사하겠습니다.
 예) r'^ \* ((빨래하기:) 같은

5. FreeBSD의 경우

FreeBSD를 사용하는 경우에는 root로서 단지 다음 1줄만 쳐주면 웹서버와 모인모인이 완벽히 세팅됩니다.
# cd /usr/ports/www/moinmoin && make install clean
<!> make install만 하는 것이 좋습니다. make install clean까지 쓴다면 달력같은 추가적인 메크로 설치가 귀찮아지더군요. - redpixel

<!> 현재 4.4 최신판 모인모인 포트는 Python2.2를 사용하고 있습니다만, Python2.1로 되어있지 않으면 몇몇 매크로가 동작하지 않습니다. (달력을 포함해서 말이죠. <:( ) 그러므로, 꼭 Python버젼을 패키지로 (/stand/sysinstall)을 통하여 2.1버젼으로 인스톨하세요. 그러니깐 설치순서는,
  1. /usr/ports/www/moinmoin에서 포트 빌드를 통해 설치. 이때 Python2.2도 설치된다.
  2. /stand/sysinstall에서 lang/Python2.1.1 패키지를 설치한다.
  3. 다시 /usr/ports/www/moinmoin로 가서 make do-install을 한다. /usr/local/lib/python2.1/site-어쩌구 디렉토리가 보이면 성공입니다. 2.1버젼을 꼭 확인하시길...
도움되시길 바랍니다. - redpixel

  • 방금 FreeBSD 에 포트를 이용해서 moinmoin 설치를 막끝냈습니다. 타입은 STANDALONE으로 구성했구요 모든게 잘됩니다. 근데 한가지 막히는게 시스템을 다시 시작할때 자동으로 moinmoin을 구동시키려고 스크립트를 만들었는데 작동이 되질 않는군요.. 하지만 수동으로 /usr/local/etc/rc.d/moin.sh start 했을땐 잘됩니다.. 도데체 뭐가 문젠지 감을 못잡겠네여 ㅡ.ㅡ;; 다른분들은 어떻게 사용하시는지 궁금하군요.. 아래는 스크립트 내용입니다. 아시는분 답볍좀 부탁드릴께요. :)
    #!/bin/sh
    
    case "$1" in
    start)
            [ -x /usr/home/service/wiki/moin.py ] && /usr/home/service/wiki/moin.py & > /dev/null && echo -n ' MoinMoin Start'
            ;;
    *)
            echo "Usage: `basename $0` {start}" >&2
            ;;
    esac
    
    exit 0
     


    calendar 모듈을 사용하는 프로그램은 2.2에서 day_abbr이 locale지원이 들어가면서 리스트가 아니라 리스트 에뮬레이션으로 바뀌어버렸는데, 하위 호환성이 없어져 버리는 바람에 제가 아까 낮에 패치를 보냈더니 Guido가 옳바른 패치라며 2.2.1에서 넣어준다고 하는군요. 임시로 [http]여기에서 패치를 받아서 사용하시면 2.2에서도 별 문제 없이 Calendar 모듈이 될겁니다. 그 외에도 안 되는 것 있으면 알려주세요. -- 퍼키

  • 질문입니다.!!!! 윈도우2003에서 IIS6.0을 사용하여 모인1.2.1를 설치하였습니다. 문제는 글을 수정하려고 하니 "SError[Errno 13] Permission denied", "OS SYSTEM CALL FAILED"라는 메세지가 뜨며서 수정이 되지 않습니다... ㅜㅜ 이 문제를 어찌 풀어야 되는지 꼭 좀 알려주세요..!!! -- silbersj




"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>