2011. 3. 7. 22:37
[MoinMoin] Windows XP, Apache 환경에서 파일 업로드 문제
2011. 3. 7. 22:37 in 5. Documentation/Wiki
회사에서 프로젝트 정보 공유 및 관리를 위해 MoinMoin 을 설치하였습니다.
먼저 필요한 라이브러리를 임포트합니다.
Windows XP Professional 이라서 IIS 에 돌리려고 했으나 어떤 설정이 맞지 않는지 페이지가 제대로 나오지 않았습니다. 그래서 어쩔수 없이 Apache 에다가 MoinMoin 을 설치하였습니다.
설치 방법은 아래 링크를 참고하였습니다.
설치한 MoinMoin 버전은 1.9.3 이었는데 두가지 문제가 나타났습니다.
첫째는, 페이지명이 한글인 경우 URL Encoding 이 잘못되어 제대로 표시되지 않았습니다.
예로, http://localhost/mywiki/대문
이라고 입력하면, 대문페이지가 제대로 보이긴 하는데 메인 타이틀에 보이는 '대문'글자가 깨져 버렸습니다. 이 깨진 문자를 클릭하면 잘못된 URL 로 이동하였구요.
이건 아무리 자료를 찾아도 해답을 찾지 못해 결국 영문 URL 만 사용하기로 하였습니다.
두번째는, 파일 첨부가 제대로 동작하지 않는 것이었습니다. 이 문제는 아래 링크를 참고하여 해결하였습니다.
MoinMoin/web/request.py 의 init 함수를 다음과 같이 수정합니다.
import sys import os
그리고 나서 __init__ 함수를 아래와 같이 수정합니다.
def __init__(self, environ, populate_request=True, shallow=False): try: if sys.platform == "win32": import msvcrt msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) ResponseBase.__init__(self) RequestBase.__init__(self, environ, populate_request, shallow) self.href = Href(self.script_root or '/', self.charset) self.abs_href = Href(self.url_root, self.charset) self.headers = Headers([('Content-Type', 'text/html')]) self.response = [] self.status_code = 200 except Exception, err: self.fail(err)
이렇게 수정한 후 apache 를 재시작하면 파일 첨부가 제대로 동작합니다. 한글 명을 가진 파일 첨부시에는 문제가 있을 수 있으니 그건 또다른 방법이 필요합니다.