ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모인모인 IIS 에 설치하기
    컴터 2010. 10. 22. 16:15
    출처: http://www.viper.pe.kr/cgi-bin/moin.cgi/MoinMoin_%EC%84%A4%EC%B9%98?highlight=%28moinmoin%29

    1. IIS 에 설치하기
      1. IIS 설치
      2. Python 설치
      3. MoinMoin 설치
      4. Wiki 인스턴스 생성
        1. moin.cgi 파일 수정
      5. IIS 기본 설정
      6. IIS 6.0 추가 설정
        1. 404 웹 페이지 오류 발생 처리
        2. 새로운 페이지 생성 오류 발생 처리
        3. 페이지 저장 오류 발생 처리
      7. wikiconfig.py 수정
      8. MoinMoin 설치
        1. UnicodeDecodeError 에러 처리
    2. Apache 에 설치하기

    1. IIS 에 설치하기 [Bottom] [Top]

    IIS (Internet Information Services, 인터넷 정보 서비스) 에서 MoinMoin 설치과정을 정리한다.

    1.1. IIS 설치 [Bottom] [Top]

    IIS 가 설치 되어 있지 않을 경우, 다음과 같은 과정으로 설치한다.

    1. [제어판] 에서 [프로그램 추가/제거] 를 실행한다.

    2. [Windows 구성 요소 추가/제거] 을 선택하면 [Windows 구성 요소 마법사] 가 실행되며 여기서 [인터넷 정보 서비스(IIS)] 를 추가한다.

    참고> IIS 는 최소 버전 5.0 이상 설치가 필요하다.

    1.2. Python 설치 [Bottom] [Top]

    Python 은 아래의 주소에 다운로드 후 설치한다.

    참고> Python 은 최소 버전 2.3 이상 설치가 필요하다.

    1.3. MoinMoin 설치 [Bottom] [Top]

    1. MoinMoin 다운로드

    2. 압축 풀기
      • 다운로드 받은 파일을 원하는 폴더에 압축을 푼다.
      • 예) moin-1.5.9.tar.gz 파일을 D:\Moin-1.5.9 폴더에 압축을 푼다.

    3. 명령창에서 setup.py 파일을 실행한다.

      • 명령창을 열고 다음과 같이 실행한다.
        SET PATH=%PATH%;C:\Program Files\Python25

        CD D:\Moin-1.5.9
        python.exe setup.py install --prefix=D:\Moin --record=install.log
      • 실행 옵션
        1. --prefix=D:\Moin : 설치할 폴더를 지정한다. (예:D:\Moin)

        2. --record=install.log : 설치 로그를 저장할 파일을 지정한다.

    1.4. Wiki 인스턴스 생성 [Bottom] [Top]

    명령창에서 다음과 같이 실행한다.

    • CD D:\Moin

      MD MyWiki
      MD MyWiki\data
      MD MyWiki\underlay
      XCOPY share\moin\data MyWiki\data /E
      XCOPY share\moin\underlay MyWiki\underlay /E
      COPY share\moin\server\moin.cgi MyWiki\
      COPY share\moin\config\wikiconfig.py MyWiki\
      COPY share\moin\htdocs\index.html MyWiki\default.htm
    • MyWiki위키 인스턴스 이름으로 임의적으로 정하여 사용할 수 있다.

    • wiki 는 내부적으로 사용하고 있으므로 위키 인스턴스 이름으로 사용할 수 없다.

    1.4.1. moin.cgi 파일 수정 [Bottom] [Top]

    위키 인스턴스 폴더 내에 있는 moin.cgi 파일의 앞부분에 다음과 같이 수정하거나 일부를 추가한다.

    1.5. IIS 기본 설정 [Bottom] [Top]

    IIS 5.0 이상에서 다음과 같은 과정으로 설정한다.

    1. [제어판][관리 도구]인터넷 정보 서비스(IIS) 관리 도구를 실행한다.

    2. 기본 웹 사이트를 열고 마우스 오른쪽 클릭으로 새로 만들기 - 가상 디렉토리를 선택한다.
    3. 가상 디렉토리 만들기 마법사가 실행되면
      1. 시작 과정에 다음을 누른다.
      2. 가상 디렉토리 별칭 과정에서 별칭을 wiki 를 입력한 후 다음을 누른다.

      3. 웹 사이트 콘텐트 디렉토리에서 경로를 D:\Moin\share\moin\htdocs 를 선택한 후 다음을 누른다.

      4. 가상 디렉토리 액세스 권한에서 읽기와 스크립트 실행을 체크한다. 다음을 누르면서 마법사를 종료한다.
    4. 가상 디렉토리 만들기를 다음과 같이 실행한다.
      • 별칭은 MyWiki, 경로는 D:\Moin\MyWiki 로 설정한다.

    5. 다음과 같이 읽기 권한을 제거한다.
      1. MyWiki 노드를 열고 data 를 오른쪽 클릭으로 속성을 선택한다.

      2. 속성 창의 디렉토리 텝에서 읽기를 체크 해제한 후 확인을 누르고 속성 창을 닫는다.
      3. 같은 과정으로 underlay 속성 창에서 읽기를 체크를 해제한다.
    6. moin.cgi 파일을 실행할 수 있도록 MyWiki 가상 디렉토리를 설정한다.

      1. MyWiki 의 속성 창을 열고 가상 디렉토리 탭의 구성 버튼을 누른다.

      2. 응용 프로그램 구성 창이 열리면 매핑 탭에서 추가 버튼을 누른다.
      3. 실행 파일은 python.exe 파일 경로를 지정하고 추가 옵션('-u "%s" "%s"')을 입력한다.
        • 예) "C:\Program Files\Python25\python.exe" -u "%s" "%s"
      4. 확장명은 .cgi 를 입력하고 파일이 있는지 확인 옵션으로 체크 해제한 후 확인을 누른다.

      5. 응용 프로그램 구성 창과 MyWiki 의 속성 창을 확인을 누르고 닫는다.

    7. 웹 브라우저에서 http://localhost/MyWiki 를 열어서 웹 페이지가 열리는지 확인한다.

    1.6. IIS 6.0 추가 설정 [Bottom] [Top]

    1.6.1. 404 웹 페이지 오류 발생 처리 [Bottom] [Top]

    Windows Server 2003 의 IIS 6.0 일 경우 CGI 실행을 허용하도록 추가 설정이 필요하다. 404 웹 페이지 오류가 발생할 경우 필요한 설정이다.

    1. [제어판][관리 도구]인터넷 정보 서비스(IIS) 관리 도구를 실행한다.

    2. 웹 서비스 확장에서 오른쪽 클릭을 한 후 새 웹 서비스 확장 추가 메뉴를 선택한다.
    3. 새 웹 서비스 확장 창이 열리면
      1. 확장 이름은 Python CGI 를 입력한다.

      2. 추가 버튼을 누르고 파일 추가 창에서 파일 경로를 python.exe 파일 경로로 지정하고 추가 옵션('-u "%s" "%s"')을 입력한다.
        • 예) C:\Program Files\Python25\python.exe -u "%s" "%s"
      3. 파일을 추가한 후 새 웹 서비스 확장 창에서 확장 상태를 [허용됨]으로 설정 을 체크한 후 확인을 누르고 창을 닫는다.

    추가 설정이 끝나면 인터넷 정보 서비스(IIS) 관리 도구를 닫고 웹 브라우저에서 http://localhost/MyWiki 를 열어서 웹 페이지가 열리는지 다시 확인한다.

    1.6.2. 새로운 페이지 생성 오류 발생 처리 [Bottom] [Top]

    새로운 페이지 생성 시 404 웹 페이지 오류가 발생한다. 이는 웹서버에서 오류 코드를 반환하지 않고 오류 메세지 웹 페이지를 보여주도록 설정되어 있어서 나타는 현상이다. 다음과 같이 기본값을 설정하면 해결할 수 있다.

    1. [제어판][관리 도구]인터넷 정보 서비스(IIS) 관리 도구를 실행한다.

    2. 기본 웹 사이트를 열고 MyWiki 의 속성창을 연다.

    3. [사용자 지정 오류]탭을 열고 해당 HTTP 오류를 선택한 후 [기본값으로 설정]을 누른다.

    4. 콘텐트가 "Not Found"로 바뀌면 [확인]을 누르고 창을 닫는다.

    1.6.3. 페이지 저장 오류 발생 처리 [Bottom] [Top]

    새 로운 페이지를 생성하거나 수정 후 저장시 Python 오류 메세지가 발생한다. 실제 페이지는 저장되지만 edit-log 파일에 수정로그를 저장할 때 오류가 발생하는 것으로 이것은 파일 수정 권한 없어서 발생하는 것이다. 다음과 같은 과정으로 파일 수정 권한을 설정한다.

    1. Windows 탐색기를 열고 MyWiki 폴더를 찾는다.

    2. MyWiki 폴더 아래의 data 폴더의 속성창을 열고 [보안]탭을 선택한다.

    3. [추가] 버튼을 누르면 사용자 또는 그룹 추가 창이 열린다.
    4. [고급] 버튼을 누르고 사용자 또는 그룹 검색 창에서 IUSR_{컴퓨터이름} 을 찾아서 추가한다.

    5. 추가된 사용자 (IUSR_{컴퓨터이름}) 에 쓰기권한을 추가한 후 속성창을 닫는다.

    1.7. wikiconfig.py 수정 [Bottom] [Top]

    • 변수

      설명

      설정값

      sitename


      u'MyWiki'

      logo_string


      u'<img src="/wiki/common/moinmoin.png" alt="MoinMoin Logo">'

      page_front_page


      u'FrontPage'

      url_prefix


      '/wiki'

      theme_default


      'morden'

      language_default


      'ko'

      navi_bar


      u'TitleIndex' 추가

    1.8. MoinMoin 설치[Bottom] [Top]

    1.8.1. UnicodeDecodeError 에러 처리 [Bottom] [Top]

    윈도우즈 2000 에서 IIS 로 MoinMoin설치한 경우, 새로운 페이지를 만들려고 하면 UnicodeDecodeError 가 발생한다. UnicodeDecodeError 에러는 MoinMoin 의 버그가 아니고 윈도우즈 2000 에서 문자셋 인코딩 정보를 잘못 제공하기 때문에 Python 에서 파싱에러가 발생하는 것이다. 그러나 XP/2003 에서는 별문제 없이 사용할 수 있을 것이다.

    해결방법은 의외로 간단하다. Python 의 문자셋 인코딩 정보의 기본값을 지정해주면 된다. Python 이 설치된 디렉토리 아래의 Lib\site-packages 디렉토리에 sitecustomize.py 파일을 만들고 다음과 같은 코드를 저장한다.

    여기서 cp949 는 윈도우즈 계열에서 사용하는 한글 문자셋 인코딩 방식이다.