-
모인모인 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 에 설치하기 [Bottom] [Top]
IIS (Internet Information Services, 인터넷 정보 서비스) 에서 MoinMoin 설치과정을 정리한다.
1.1. IIS 설치 [Bottom] [Top]
IIS 가 설치 되어 있지 않을 경우, 다음과 같은 과정으로 설치한다.
[제어판] 에서 [프로그램 추가/제거] 를 실행한다.
[Windows 구성 요소 추가/제거] 을 선택하면 [Windows 구성 요소 마법사] 가 실행되며 여기서 [인터넷 정보 서비스(IIS)] 를 추가한다.
참고> IIS 는 최소 버전 5.0 이상 설치가 필요하다.
1.2. Python 설치 [Bottom] [Top]
Python 은 아래의 주소에 다운로드 후 설치한다.
참고> Python 은 최소 버전 2.3 이상 설치가 필요하다.
1.3. MoinMoin 설치 [Bottom] [Top]
MoinMoin 다운로드
최신버전은 MoinMoinDownload 에서 받는다.
- 압축 풀기
- 다운로드 받은 파일을 원하는 폴더에 압축을 푼다.
예) moin-1.5.9.tar.gz 파일을 D:\Moin-1.5.9 폴더에 압축을 푼다.
명령창에서 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
- 실행 옵션
--prefix=D:\Moin : 설치할 폴더를 지정한다. (예:D:\Moin)
--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 파일의 앞부분에 다음과 같이 수정하거나 일부를 추가한다.
- Toggle line numbers
1 #!python
2 import sys
3 sys.path.append('D:/Moin/Lib/site-packages')
1.5. IIS 기본 설정 [Bottom] [Top]
IIS 5.0 이상에서 다음과 같은 과정으로 설정한다.
[제어판] 의 [관리 도구] 중 인터넷 정보 서비스(IIS) 관리 도구를 실행한다.
- 기본 웹 사이트를 열고 마우스 오른쪽 클릭으로 새로 만들기 - 가상 디렉토리를 선택한다.
- 가상 디렉토리 만들기 마법사가 실행되면
- 시작 과정에 다음을 누른다.
가상 디렉토리 별칭 과정에서 별칭을 wiki 를 입력한 후 다음을 누른다.
웹 사이트 콘텐트 디렉토리에서 경로를 D:\Moin\share\moin\htdocs 를 선택한 후 다음을 누른다.
- 가상 디렉토리 액세스 권한에서 읽기와 스크립트 실행을 체크한다. 다음을 누르면서 마법사를 종료한다.
- 가상 디렉토리 만들기를 다음과 같이 실행한다.
별칭은 MyWiki, 경로는 D:\Moin\MyWiki 로 설정한다.
- 다음과 같이 읽기 권한을 제거한다.
MyWiki 노드를 열고 data 를 오른쪽 클릭으로 속성을 선택한다.
- 속성 창의 디렉토리 텝에서 읽기를 체크 해제한 후 확인을 누르고 속성 창을 닫는다.
- 같은 과정으로 underlay 속성 창에서 읽기를 체크를 해제한다.
moin.cgi 파일을 실행할 수 있도록 MyWiki 가상 디렉토리를 설정한다.
MyWiki 의 속성 창을 열고 가상 디렉토리 탭의 구성 버튼을 누른다.
- 응용 프로그램 구성 창이 열리면 매핑 탭에서 추가 버튼을 누른다.
- 실행 파일은 python.exe 파일 경로를 지정하고 추가 옵션('-u "%s" "%s"')을 입력한다.
- 예) "C:\Program Files\Python25\python.exe" -u "%s" "%s"
확장명은 .cgi 를 입력하고 파일이 있는지 확인 옵션으로 체크 해제한 후 확인을 누른다.
응용 프로그램 구성 창과 MyWiki 의 속성 창을 확인을 누르고 닫는다.
웹 브라우저에서 http://localhost/MyWiki 를 열어서 웹 페이지가 열리는지 확인한다.
1.6. IIS 6.0 추가 설정 [Bottom] [Top]
1.6.1. 404 웹 페이지 오류 발생 처리 [Bottom] [Top]
Windows Server 2003 의 IIS 6.0 일 경우 CGI 실행을 허용하도록 추가 설정이 필요하다. 404 웹 페이지 오류가 발생할 경우 필요한 설정이다.
[제어판] 의 [관리 도구] 중 인터넷 정보 서비스(IIS) 관리 도구를 실행한다.
- 웹 서비스 확장에서 오른쪽 클릭을 한 후 새 웹 서비스 확장 추가 메뉴를 선택한다.
- 새 웹 서비스 확장 창이 열리면
확장 이름은 Python CGI 를 입력한다.
- 추가 버튼을 누르고 파일 추가 창에서 파일 경로를 python.exe 파일 경로로 지정하고 추가 옵션('-u "%s" "%s"')을 입력한다.
- 예) C:\Program Files\Python25\python.exe -u "%s" "%s"
파일을 추가한 후 새 웹 서비스 확장 창에서 확장 상태를 [허용됨]으로 설정 을 체크한 후 확인을 누르고 창을 닫는다.
추가 설정이 끝나면 인터넷 정보 서비스(IIS) 관리 도구를 닫고 웹 브라우저에서 http://localhost/MyWiki 를 열어서 웹 페이지가 열리는지 다시 확인한다.
1.6.2. 새로운 페이지 생성 오류 발생 처리 [Bottom] [Top]
새로운 페이지 생성 시 404 웹 페이지 오류가 발생한다. 이는 웹서버에서 오류 코드를 반환하지 않고 오류 메세지 웹 페이지를 보여주도록 설정되어 있어서 나타는 현상이다. 다음과 같이 기본값을 설정하면 해결할 수 있다.
[제어판] 의 [관리 도구] 중 인터넷 정보 서비스(IIS) 관리 도구를 실행한다.
기본 웹 사이트를 열고 MyWiki 의 속성창을 연다.
[사용자 지정 오류]탭을 열고 해당 HTTP 오류를 선택한 후 [기본값으로 설정]을 누른다.
콘텐트가 "Not Found"로 바뀌면 [확인]을 누르고 창을 닫는다.
1.6.3. 페이지 저장 오류 발생 처리 [Bottom] [Top]
새 로운 페이지를 생성하거나 수정 후 저장시 Python 오류 메세지가 발생한다. 실제 페이지는 저장되지만 edit-log 파일에 수정로그를 저장할 때 오류가 발생하는 것으로 이것은 파일 수정 권한 없어서 발생하는 것이다. 다음과 같은 과정으로 파일 수정 권한을 설정한다.
Windows 탐색기를 열고 MyWiki 폴더를 찾는다.
MyWiki 폴더 아래의 data 폴더의 속성창을 열고 [보안]탭을 선택한다.
- [추가] 버튼을 누르면 사용자 또는 그룹 추가 창이 열린다.
[고급] 버튼을 누르고 사용자 또는 그룹 검색 창에서 IUSR_{컴퓨터이름} 을 찾아서 추가한다.
추가된 사용자 (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 파일을 만들고 다음과 같은 코드를 저장한다.
- Toggle line numbers
1 import sys
2 sys.setdefaultencoding('cp949')