· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Zope_Install-KLDP

ZOPE 의 소개와 설치

ZOPE 의 소개와 설치

이 관수 kslee@plaza1.snu.ac.kr, 최 희철 ironyjk@kldp.org

2000 년 3월 19일
이 문서는 zope에 대한 소개와 설치에 대한 매우 간단한 매뉴얼입니다.

1. 시작하면서.

1.1 참고문헌들

http://weblogs.userland.com/zopeNewbies/faq

Making A First Zope Website

Installing and Upgrading Zope 2.X

http://starship.python.net/crew/jrush/Zope/Zope214.html

INSTALL Document.

좀 더 자세한 정보를 원하면

일단 설치에 관해서는 zope 설치 디렉토리에 생기는 doc 안의 문서들을 참고하기 바랍니다.

기본 문서들은 http://www.zope.org/Documentation/Guides에 있고, zope사용자들이 기고한 HowTo와 Tip들도 유용합니다. 각각 http://www.zope.org/Documentation/How-To, http://www.zope.org/Documentation/How-To에 있습니다. 또한 ZDP(Zope Documentation Project)의 문서들도 빠른 속도로 증가하고 있습니다. URL은 http://zdp.zope.org/ 입니다.

그리고 Zope를 위한 우리말 사이트 ZinK가 있습니다. ZinK는 phps.snu.ac.kr:8080/ZOPE/ 으로 방문해주시기 바랍니다.

이 mini-HowTo의 오류나 개선 사항은

저자인 이 관수 kslee@plaza1.snu.ac.kr, 최 희철 ironyjk@kldp.org 에게 메일 주시기 바랍니다.

2. 소개

2.1 zope 아주아주 재밌는 것.^^

일단 이름부터 풀이하자면 Z Object Publishing Environment입니다. 간단히 말해서 객체(웹 문서나 웹 어플리케이션등)을 네트웍을 통해 서비스할 수 있도록 해주는 도구입니다. 하필 ZOPE로 이름을 정한 이유는 1998년말에 4글자로 된 최상위 도메인명 중에서 비어있는 것을 그것 밖에 찾지 못해서라고 합니다. :) 원칙적으로 약어니까 ZOPE라고 써야 바른 표기법일 터이지만 이미 보통명사화되고 있으므로 이 글에서는 걍 zope라고 쓰겠습니다.

zope는 기본적인 쓸모는 웹 어플리케이션을 만드는데 있습니다. 간결한 게시판에서 극도로 복잡한 보안에 세심한 신경을 써야 하는 웹 어플리케이션 사이트(예: MedcastWeb )까지 각자의 취향과 기술수준에 따라 다양한 방식으로 활용할 수 있습니다.

동적 HTML 페이지가 필요없을 경우에도 zope를 이용하면 타자수를 팍 줄일 수 있습니다. 일관된 외양을 갖춘 사이트를 만들기 위해 각종 point-and-click 프로그램들이 뱉어내는 지저분한 HTML코드를 참아 주어야 할 이유가 없어집니다.

zope를 쓸모 있게 사용하기 위해 전문가(guru)일 필요가 전혀 없습니다. HTML코드를 읽을 줄만 알면 금방 zope를 활용하기 시작할 수 있습니다. 물론 능숙해진 다음에는 인생이 편안해집니다!

2.2 zope의 특징(좋은점과 나쁜점)

좋은점

소스가 공개되어 있습니다.

당근이지요. 게다가 제약 조건이 거의 없습니다. zope를 기반으로 개발한 프로그램을 배포할 때는 문서에 zope를 사용했다는 것을 밝힐 것, 그리고 zope나 개발사인 Digital Creaion사의 이름을 함부로 광고에 사용하지 말 것 정도 입니다. zope를 이용하는 사이트에 대해서는 zope 버튼을 달아주면 고맙고 아니면 할 수 없지 뭐 하는 식의 태도입니다.

인터페이스가 다양합니다.

설치 외에 거의 모든 작업을 브라우저만 갖고 할 수 있습니다. 또한 FTP와 HTTP 그리고 HTTP에 기반한 Web-DAV, XML-RPC, SOAP등 표준 프로토콜을 제대로 지원하는 도구들은 자유로이 사용할 수 있습니다. 즉 KFM이나 emacs를 떠나지 않아도 됩니다. 정말로 원한다면 Office 2000 같은 Microsoft의 도구도 사용할 수 있습니다.

여러 형태로 설치 가능합니다.

zope는 마치 커다란 cgi프로그램인양 사용할 수도 있고, 완전히 독자적인 HTTP/FTP 서버로 사용할 수도 있습니다. Apache와 잘 통합되며 Roxen이나 iPlanet(aka Netscape)사 및 Microsoft사의 웹 서버들과도 잘 어울립니다.

다양한 형식으로 데이터를 서비스 할 수 있습니다.

XML데이터를 쉽게 읽어오고 기존의 데이터를 XML로 잘 뱉어 냅니다. 굳이 웹페이지를 통하지 않고서도 XML을 이해하는 다른 서버 프로그램들과 쉽게 연동할 수 있습니다. 또 몇 줄만 바꾸면 HTML페이지를 WML페이지로 서비스할 수 있습니다.

재활용과 협동작업이 쉽습니다

표준 프로토콜만 지키면 zope 사이트와 다른 사이트 간의 컨텐트 공유가 간단합니다. 한 zope 사이트에서 개발한 어플리케이션과 작업 내용을 다른 zope사이트로 뭉텅이째 옮기는 것도 쉽습니다. 관계형 DB에 저장된 데이터를 그대로 이용할 수도 있고, 그 데이터로부터 새로운 객체를 만들어 사용하는 것도 쉽습니다. 또한 웹 디자이너와 웹 어플리케이션 개발자가 상대방의 작업을 방해않고 편리하게 협력할 수 있게 해줍니다. 사이트 관리를 부분별로 필요한 만큼만의 권한만 주어 위임할 수도 있습니다.

파이썬으로 작성되었습니다.

한 줌도 안되는 일부 모듈을 제외하면, zope는 가장 간결하고 배우기 쉽고 이식성이 높은 언어인 파이썬으로 쓰여졌습니다. 따라서 zope의 내부 구조를 들여다 보고, 필요한 대로 고쳐 쓰는 일이 무척 쉽습니다.

나쁜점

언제 어디서나 작업할 수 있습니다

그래서 컴퓨터만 있으면 자꾸 '할 일/하고 싶은 일'이 생깁니다. 가정생활/연애전선에 치명적입니다.

파이썬으로 쓰여졌습니다.

아직 파이썬을 아는 사람이 많지 않습니다.

포르셰가 아닙니다.

zope는 속도 위주로 최적화되어 있지 않습니다. 아파치보다 절대로 느립니다! 시간당 히트수가 3 4만(하루 1백만 히트급)을 넘어가면 구형 PC(펜티엄 133, RAM 32MB)로 사이트을 운영할 생각은 확실히 버려야 합니다. 참고로 www.zope.org 사이트(당연히 zope로 운영됩니다)는 1200달러 이하의 PC로 하루 2백만 히트까지 견딘다고 합니다. 하지만 www.zope.org 사이트 운영진 만큼 잘 운영하려면 경험이 많아야 할 것 같습니다.

3. ZOPE 설치하기

3.1 linux/unix 에서의 install

소스 배포본을 이용한 설치

가장 유연한 설치방식 입니다만, 그만큼 번잡할 수도 있습니다. 간단히 시험해볼 솔라리스 사용자나 인텔계열용 리눅스 사용자 분들은 바이너리 배포본을 사용하시는 것이 훨씬 편리합니다.

Zope 를 설치하기 전 python 1.5.2가 설치되어 있어야 합니다. 요즘의 배포본은 대부분 python 1.5.2를 기본으로 갖고 있습니다. 프롬프트에서 python이라고 치면 나오는 첫줄에 나오는 판 번호를 보면 쉽게 확인할 수 있습니다. 없는 분은 각 배포본 사이트나 www.python.org 국내 미러 사이트에서 구하시기 바랍니다.

zope 소스 배포본은 http://www.zope.org/Products/Zope/2.1.5/Zope-2.1.5-src.tgz에서 내려받을 수 있습니다(2000년 3월 현재 최신판).

아파치와 연동하지 않을 경우(zserver 사용).

설치 사례

                        01: cd /usr/local
                        02: su
                        03: tar xvzf Zope-2.0.1-src.tgz 
                        04: mv Zope-2.0.1-src Zope
                        05: chown -R nobody.nobody Zope
                        06: cd Zope
                        07: su nobody
                        08: python -O wo_pcgi.py
                        09: python zpasswd.pyo -p new_passwd access
                        10: exit
                        11: python z2.pyo
                        12: exit
                        

위와 같이 설치하면 같이 zope에 딸려오는 zserver를 통해서 서비스가 이루어집니다. 이때 아무런 설정 작업을 하지 않으면 http 포트는 8080, ftp 포트는 8021, telnet 포트는 8099입니다(telnet 포트는 작동 중인 zope의 내부 상태를 검사할 때 사용합니다).

해설

  1. 01: /usr/local 말고 어느 디렉토리에 설치에도 무방 합니다.
  2. 02, 05, 07, 10, 12: root로서 설치할 때의 경우입니다. zope는 원칙적으로 설치 유저의 권한을 갖고 작동합니다.] 외부에서 접근가능한 zope가 루트 권한을 갖고 있으면 곤란하니까 05와 07에서 zope가 nobody로 작동하도록 바꿔주는 것입니다. 일반 사용자로서 설치할 때는 02, 07, 10, 12가 필요없고, 때에 따라 05에서
                            chown -R username.usergroup Zope
                            
    
    라고 해버리면 됩니다.
  3. 08, 09, 11: -O 옵션을 주면 파이썬 인터프리터는 파이썬 파일(*.py 파일)을 '최적화 컴파일'합니다. 이때 컴파일된 파일의 확장자가 .pyo입니다. 이렇게 하면 일반 컴파일된 파일(*.pyc)보다 수행 속도가 약간 증가합니다만, traceback정보(에러 보고 정보)가 거의 보고 되지 않습니다. 그러므로 zope를 처음 사용하시는 분들이나 개발 플랫폼에서는 -O 옵션을 사용하지 않기 바랍니다. 사용하지 않기를 권합니다. 귀찮을 때는 *.pyc나 *.pyo 대신 그냥 *.py 확장자를 사용하면 파이썬 인터프리터가 알아서 최신 버전을 찾아 사용합니다.
  4. 09: zope를 설치한 디렉토리에 생성되는 access파일에는 superuser의 정보가 담겨 있습니다. 이 superuser 정보 만큼은 브라우저로 관리할 수 없고 프롬프트 상에서 작업을 해야 합니다. zpasswd.py 파일은 access 화일에 superuser의 패스워드를 암호화해서 저장합니다. 다른 사람이 superuser의 패스워드를 보지 못하도록 할 때 편리합니다. 상관없을 때는 access화일에 걍
                            myZopeSuperuserId:myPasswd:mydomain
                            
    
    라고 한 줄만 달랑 써주면 됩니다. 중간에 공백이 없어야 하고 각 필드는 콜론(:)으로 구별됩니다. 마지막 mydomain은 선택사항으로 써주면 해당 도메인/호스트에서만 superuser로 접근이 가능하게 됩니다. 아, myZopeSuperuserId와 myPasswd는 영문으로 하기 바랍니다. 잘 알려 진대로 브라우저에 따라 한글을 취급하는 방식이 제멋대로이기 때문입니다.
  5. 11: zope를 띄웁니다. z2는 zope 2를 뜻합니다. 설치를 마치고 브라우저로 http://yourhost:8080/를 보면 초기 화면이 뜹니다. 관리(manage) 인터페이스로 가는 Id와 패스워드는 당연히 access파일의 myZopeSuperuserId와 myPasswd입니다. 즐기시기 바랍니다.

아파치와 연동할 경우(pcgi사용)

설치사례

zope 설치

                        01: cd /usr/local
                        02: su
                        03: tar xvzf Zope-2.0.1-src.tgz 
                        04: mv Zope-2.0.1-src Zope
                        05: chown -R nobody.nobody Zope
                        06: cd Zope
                        07: su nobody
                        08: python -O w_pcgi.py
                        09: python zpasswd.pyo -p new_passwd access
                        10: exit
                        11: cp Zope.cgi /home/httpd/cgi-bin/
                        12: python z2.pyo -p /home/httpd/cgi-bin/Zope.cgi
                        13: exit
                        

아파치 설정(httpd.conf) 편집

                        14: RewriteEngine on
                        15: RewriteCond %{HTTP:Authorization}  ^(.*)
                        16: RewriteRule ^/zope(.*) /home/httpd/cgi-bin/Zope.cgi/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]
                        

위와 같이 하면 pcgi 프로토콜을 이용하여 전체 아파치 사이트 중 /zope/ 이하의 URL이 zope에 의해 서비스됩니다.

해설

  1. 02, 05, 07, 10, 13: 아파치(또는 다른 웹서버)와 연동하려면 원칙적으로 root로서 설치해야 합니다.
  2. 08, 11: 08번 줄에 의해 zope 설치 디렉토리에 Zope.cgi 파일이 생성됩니다. 이 파일을 cgi가 실행될 수 있는 디렉토리에 복사하거나 링크해야 합니다.

    Zope.cgi는 pcgi 파일로서 보통 cgi 프로그램과 마찬가지로 불릴 때마다 새롭게 실행됩니다. 일단 실행된 Zope.cgi는 백그라운드에서 zope가 돌아가고 있는지 검사하고 없으면 zope를 실행시킵니다. 돌아가고 있으면 zope에게서 필요한 데이터를 물어다가 아파치에게 돌려주고 죽습니다. 당연히 pcgi를 사용하면 보통 cgi와 마찬가지로 서버에 부담을 줍니다. 다만 zope 자체는 백그라운드에서 별도로 돌아가므로 다행히 그 부담이 zope가 하는 일에 비해서는 작습니다. pcgi는 zope 외에 다른 프로그램에서도 활용할 수 있습니다.

    pcgi를 직접 이용하는 방법 외에 mod_pcgi, mod_proxy, mod_FastCGI 등을 이용하여 아파치와 zope를 통합할 수 있습니다. zope-install-directory/doc/WEBSERVER.txt 등을 참고하십시오.

  3. 12: 12번 줄을 생략할 수도 있습니다. 그러면 zope는 아파치가 처음으로 Zope.cgi 파일을 불러낼 때 실행됩니다. 이때 약간의 시간지연이 있습니다. 12번 줄을 넣으면 zope는 멀티쓰레드 모드로 작동하고, 대체적으로 응답속도가 빨라집니다. (물론 시스템 리소스에 비해 쓰래드 수가 많으면 도로아미타불입니다 : ( )
  4. 14, 15, 16: 기존의 아파치 사이트는 그대로 두고 /zope/ 이하의 URL만 zope로 서비스하는 설정입니다. 아래의 RPM으로 설치하기 (w/ Apache)절에는 일부 URL만 아파치로 서비스하고 대부분을 zope로 설치하는 설정이 있습니다. 참고하시기 바랍니다.
  5. 16: 대개들 zope가 서비스하는 URL이 zope나 Zope로 시작하도록 설정합니다(^/zope(.*) 부분). 부디 좀 더 상상력을 발휘해서 진부하지 않은 URL을 사용합시다!

바이너리 배포본을 이용한 설치(인텔 계열 리눅스 사용자용)

설치하기 제일 간단한 경우입니다. 파이썬 1.5.2도 zope 설치 디렉토리의 서브 트리에 자동으로 설치되기 때문에 아무 생각할 필요가 없습니다. 솔라리스용 바이너리 배포본은 시험해보지 못했기 때문에 설명을 생략합니다만, 인텔 리눅스용 바이너리 배포본과 차이가 없다고 합니다. 일단 zope를 구경하시려는 분들은 이 방법을 권합니다.

인텔 리눅스용 바이너리 배포본은 http://www.zope.org/Products/Zope/2.1.5/Zope-2.1.5-linux2-x86.tgz 에서, 솔라리스용 바이너리 배포본은 http://www.zope.org/Products/Zope/2.1.5/Zope-2.1.5-solaris-2.6-sparc.tgz 에서 내려받을 수 있습니다.

아파치와 연동하지 않을 경우(zserver 사용).

설치사례

zope 설치

                        01: cd /home/myhomedir/anydir
                        02: tar xfz /path/to/downloaded/Zope-2.1.5-linux2-x86.tgz
                        03: cd Zope-2.1.5
                        04: ./install -u myid -g mygroup
                        05: chown -R myid.mygrop var
                        06: echo 'myZopeSuperuserId:myZopePasswd:myDomain' > access
                        07: ./start
                        

해설

  1. root로서 설치하지 않는 한, 이 경우에는 별로 주의할 것이 없습니다. 일부러 제일 게으른 설치의 예를 들었습니다.
  2. 01, 03: 이렇게 하면 /home/myhomedir/anydir/Zope-2.1.5가 zope설치 디렉토리가 됩니다.
  3. 04: zope가 myid.mygroup으로 작동되도록 install 스크립트에게 명령을 내립니다. 엔터키를 누르면 잠깐 지혼자 버벅거리는데 프롬프트가 나오면 핵심적인 설치과정은 끝난 것입니다.
  4. 05: 가끔 퍼미션 설정이 이상할 때가 있는데(필자 중 이관수는 리눅스 초보자 6년차입니다), 귀찮으니까 쳐다보지도 않고 zope가 쓰기 권한을 가지고 있어야 하는 var디렉토리 이하의 소유자를 몽창 바꿉니다.
  5. 06: 기본 access파일의 내용을 마음대로 바꿉니다. access파일에 대해서는 앞의 설명을 참고하십시오.
  6. 07: 자동 생성되는 start 스크립트를 실행시킵니다. start 스크립트를 사용하면 여러가지 방식으로 z2.py를 실행시킬 수 있습니다. 단, 기본 start 스크립트를 그대로 실행시키변 zope가 백그라운드에서 돌아가다가 실행자가 로그아웃 했을때 죽어버립니다. 로그아웃 이후에도 zope가 돌아가도록 하려면 start 스크립트를 편집기로 열어서 '-D' 옵션을 지워버리면 됩니다.
  7. 이제 브라우저로 http://myServerDomainOrIP:8080/을 열면 zope와 재미있게 놀 수 있습니다.

아파치와 연동할 경우(pcgi 사용).

설치사례

                        01: cd /anydir/but/not/accessible/by/apache
                        02: su
                        03: tar xfz /path/to/downloaded/Zope-2.1.5-linux2-x86.tgz
                        04: cd Zope-2.1.5
                        05: ./install 
                        06: chown -R nobody.nobody var
                        07: echo 'myZopeSuperuserId:myZopePasswd:myDomain' > access
                        08: cp Zope.cgi /home/httpd/cgi-bin/
                        09: chmod a+x /home/httpd/cgi-bin/Zope.cgi
                        10: 아파치 설정 편집
                        11: exit
                        

해설

  1. 02, 05, 10, 11: 아파치와 연동하려면 꼭 root로서 설치하여야 합니다. 결국은 아파치 설정을 편집해야 하므로 어차피 root로서 작업해야 하니까 별 불만은 없으리라고 봅니다.
  2. 01: 만일 이 경로가 아파치가 읽고 쓸 수 있는 것이라면 누군가가 zope파일들을 바꿀 수 있다는 말이겠죠? 노파심에서 다시 한번 강조합니다.
  3. 03, 04: 이렇게 하면 Zope-2.1.5가 zope 디렉토리가 됩니다. 경험상 디렉토리 이름에 판 번호를 남겨두는 것이 업그레이드 할 때 덜 헷깔려서 낫습니다(zope 관리자 화면에서 판번호를 확인할 수도 있지만 디렉토리 이름에 판번호가 있으면 더 편리합니다). 하지만 보기 싫으신 분들은 03과 04 사이에서 zope 디렉토리명을 바꾸어도 무방합니다.
  4. 05, 06: zope 디렉토리의 하위 디렉토리 중 var만 웹서버의 user.group인 nobody.nobody의 소유면 됩니다. 만일 05에서, 제시된 바와 달리,
                            ./install -u nobody -g nobody
                            
    
    라고 해도 무방하고, 그러면 06도 필요없어 보이기는 하지만 그리하면 var이외의 다른 파일들과 하위 디렉토리들도 world-read/writable해지니까 권하지 않습니다. 특별히 게으르시고 모험심이 있는 분이 실험해주시면 감사하겠습니다.
  5. 07: 패스워드를 암호화하고 싶으신 분은 RPM 설치를 참고하시기 바랍니다.
  6. 08, 09: 복사하고 복사된 Zope.cgi의 퍼미션을 확인해보면 좋습니다. 자동으로 설정되기는 하지만 그래도 한번 보는 것만 못합니다. cp대신 mv해버려도 되기는 하지만 나중을 생각하면 zope 디렉토리에 Zope.cgi 파일을 남겨두는 것도 좋습니다.

    pcgi파일(Zope.cgi)의 이름이 꼭 Zope.cgi일 필요는 없습니다. 만일 한 기계에서 여러 개의 zope를 아파치와 연동할 때는 각 zope별로 pcgi.파일의 이름을 달리 주면 됩니다.

  7. 10: 아파치 설정 편집은 zope를 어떻게 이용할 것인가에 따라 아주 다양합니다. 소스 설치와 RPM 설치의 아파치 설정 편집 예들도 꼭 살펴보기 바랍니다. 여기서는 한 서버에서 사용자 별로 zope를 돌려 줄 때의 예를 들겠습니다(리소스를 많이 잡아 먹기 때문에 권할 바는 아닙니다만, 그럴 수도 있다는 것을 보여주는 것 만으로도 예로서의 가치는 있다고 봅니다).

    사이트의 /users, /users/foo, /users/bar URL이 각기 zope에 의해 서비스 되는 아파치 설정(httpd.conf) 편집의 예

                            1: RewriteEngine on
                            2: RewriteCond %{HTTP:Authorization}  ^(.*)
                            3: RewriteRule ^/users/foo(.*) /home/httpd/users/cgi-bin/Zope1.cgi/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]
                            4: RewriteRule ^/users/bar(.*) /home/httpd/cgi-bin/bar.cgi/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]                                                
                            5: RewriteRule ^/users(.*) /home/httpd/cgi-bin/zope.cgi/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]
                            
    
    3, 4, 5 행을 주의해 보기 바랍니다. 4행의 경우처럼 /users/bar를 zope가 서비스 한다면 pcgi파일을 기본 cgi디렉토리에 bar.cgi로 두는 것이 보통이지만, 필요하다면 cgi가 되는 곳이면 아무 디렉토리에 마음에 드는 이름으로 pcgi파일을 두어도 무방합니다. 또한 3,4,5행의 순서에 주의하기 바랍니다. 3, 4행은 서로 바뀌어도 상관없지만, 5행은 3, 4행 다음에 와야 합니다. 이는 /users/foo, /users/bar이 /users의 하위 URL이기 때문입니다. 만일 5행이 3,4행보다 먼저 온다면 /users/bar는 bar.cgi가 아니라 zope.cgi가 부르는 zope가 언제나 서비스하게 됩니다. bar.cgi를 부를 방법이 없어지는 것이지요. mod_rewrite는 복잡하므로 관련 문헌을 꼭 참고하기 바랍니다.

  8. 11: 아파치 설정까지 끝났으면 빠져 나와서 브라우저로 http://localhost/users를 확인해보시기 바랍니다.

RPM 을 통한 설치. (Redhat 계열 )

Zope 를 설치하기 전 python 1.5.2가 설치되어 있어야 합니다.

                python
                
한 후 나오는 판번호를 확인하기 바랍니다. 없는 분은 각 배포본 사이트나 www.python.org 국내 미러 사이트에서 구하시기 바랍니다.

RPM 파일들은 몇 종류가 있습니다만, www.zope.org의 Download 페이지에 소게된 것은 Jeff Rush씨의 것 뿐입니다. 이것을 사용하는 것이 제일 무난할 것입니다. 다만 설치방법에 따라 RPM들을 골라 받아야 한다는 점에 주의하기 바랍니다. 여기 http://starship.python.net/crew/jrush/Zope/Zope214.html 에서 RPM 을 받습니다. 2000년 3월 19일 현재 최신 RPM판 버전은 2.1.4으로 소스배포본 및 바이너리배포본보다는 하나 늦습니만, 곧 업데이트되리라고 봅니다. 최신 배포본들에 zope 패키지되어 있다는 말을 듣기는 했습니다만 확인해보지는 못했습니다.

RPM 설치의 장점은 부팅시 자동으로 zope가 뜬다는 점입니다. 물론 init스크립트를 편집할 수 있는 분은 어떻게든 이리 되도록 하실 수 있으시겠습니다만, 편리한 것만은 사실입니다. 단점은 한 기계에 여러 zope를 돌리기에는 불편하다는 점입니다. 또 그저 시험해볼려는 분에게는 매번 zope가 원하지도 않는데 떠버리는 것은 불편할 것입니다. 처음 시험해보는 분들은 바이너리 배포본 설치를 권합니다.

아파치와 연동하지 않는 경우(zserver사용)

http://starship.python.net/crew/jrush/Zope/Zope214.html 에서 Zope-2.1.4-1.i386.rpm 와 Zope-zserver-2.1.4-1.i386.rpm 를 다운 받습니다.

                        rpm -ivh Zope-2.1.4-1.i386.rpm
                        rpm -ivh Zope-zserver-2.1.4-1.i386.rpm
                        
를 실행해서 설치합니다. 이 때 설치되는 디렉토리는 다음과 같습니다.
                        /usr/share/zope -> zope 홈디렉토리
                        /var/zope -> access 등의 정의 파일들
                        /usr/doc/Zope-* 과 /home/httpd/html/zope/ -> 문서파일들
                        /etc/rc.d/init.d/zope -> zserver 데몬의 start stop 스크립트
                        

설치가 끝났으면, /etc/rc.d/init.d/zope start 를 통해 zope를 실행시킵니다. 웹 브라우져로 http://localhost:8080에 접속하시면 zope의 첫 화면을 보실 수 있습니다. http://localhost:8080/manage 에 접속하시면, zope의 관리자 화면을 보실 수 있습니다. 기본 아이디와 암호는 /var/zope/access 에 superuser와 123으로 지정되어 있습니다.

아파치와 연동할 경우 (pcgi 사용)

Zope 를 설치하기 전 python과 apache가 설치되어 있어야 합니다.

http://starship.python.net/crew/jrush/Zope/Zope214.html 에서 RPM 을 받습니다. (2000 년 3월 현재 최신버젼)

Zope-2.1.4-1.i386.rpm 와 Zope-pcgi-2.1.4-1.i386.rpm 를 다운 받습니다.

                        rpm -ivh Zope-2.1.4-1.i386.rpm
                        rpm -ivh Zope-pcgi-2.1.4-1.i386.rpm 
                        
를 실행해서 설치한후 httpd.conf를 아래와 같이 설정합니다.
                        RewriteEngine on
                        RewriteRule ^/static/(.*)   /home/httpd/html/$1 [l]
                        RewriteRule ^/cgi-bin/(.*)  /home/httpd/cgi-bin/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]
                        RewriteCond %{HTTP:Authorization}  ^(.*)
                        RewriteRule ^/(.*) /home/httpd/cgi-bin/Zope/$1 [e=HTTP_CGI_AUTHORIZATION:%1,t=application/x-httpd-cgi,l]
                        
그리고 Zope.cgi를 아래와 같이 복사하거나 심볼릭 링크시켜주어야 합니다.
                        ln -s /var/zope/Zope.cgi /home/httpd/cgi-bin/Zope 또는 
                        cp /var/zope/Zope.cgi /home/httpd/cgi-bin/Zope
                        
심볼릭 링크를 사용하였다면, 아래와 같이 FollowSymLinks 옵션을 주어야 합니다.
                        <Directory /home/httpd/cgi-bin>
                        AllowOverride  None
                        Options        ExecCGI  FollowSymLinks
                        
                        
설정이 끝났다면, 아파치와 zope를 재시작 시켜주어야 합니다.
                        /etc/rc.d/init.d/httpd restart 
                        /etc/rc.d/init.d/zope start 
                        
모든 설정이 성공적으로 끝났다면, http://localhost에서 첫 화면 http://localhost/manage 에서 zope의 관리자 화면을 보실 수 있으실 겁니다. 이전에 홈페이지를 운영하고 있었다면, http://localhost/static 에서 이전의 홈페이지를 찾으실 수 있으실 겁니다.

3.2 windows 계열에서의 인스톨.

Windows 계열에서의 Zope 인스톨은 매우 간단합니다. Python 은 자동으로 설치되며, 단지. http://yyy.zope.org/Products/Zope/2.1.5/Zope-2.1.5-win32-x86.exe/view (2000 년 3월 현재 최신버젼) 에서 다운 받은 Zope 만 가지고 있으면 됩니다. Zope의 설치 순서입니다.

  1. 다운 받은 Zope 를 더블 클릭해서 installer 를 실행시킵니다.
  2. 소개 화면에서 'Next'를 클릭합니다.
  3. Copyright 문을 읽고 'Accept' 를 클릭합니다.
  4. 사이트의 이름을 정하고 'Next'를 클릭합니다. 이 이름은 중복되지 않아야 하고, 공백이나, 특수문자를 사용하면 안됩니다. (site name 은 한 컴퓨터에 여러개의 Zope를 설치할때 사용됩니다.)
  5. 관리자를 위한 username과 password를 입력합니다. 이 username과 password는 Zope의 관리에 사용됩니다.
  6. 'Next'를 클릭하면, Program Files 에 위에서 입력한 사이트의 이름으로 디렉토리가 생기면서 Zope 가 설치될 것입니다.
  7. Zope를 수동적으로 실행시킬 것인지. 아니면, win32 service로 실행시킬 것인지 선택할 수 있을 것입니다. (Windows NT/2000 인 경우)

    win32 service로 설치 한다면, 컴퓨터를 켤때, Zope service가 자동으로 시작될 것입니다.

  8. 'Finish' 를 누르면 설치가 끝납니다.

Zope는 Zope 홈 디렉토리의 start.bat 를 더블 클릭함으로써, 간단히 실행시킬 수 있습니다. ( win32 service로 설치하셨다면, 이런 수고를 하실 필요는 없습니다.)

http://localhost:8080/manage에서 위에서 만든 username과 password로 로그인 하시면, Zope 관리 화면을 보실 수 있으실 것입니다.

네트워크가 설치되어 있지 않다면, MicroSoft Loopback Adapter 를 하드웨어 추가로 추가한 후 실험해 보실 것을 권장합니다.

4. FAQ

  1. http://localhost:8080/manage 에 서버에서만 접속이 됩니다.

    rpm 으로 설치하셨을 경우 기본적으로 access 파일은

                    superuser:{SHA}QL0AFWMIX8NRZTKeof9cXsvbvu8=:localhost
                    
    
    이렇게 만들어지며, 마지막의 localhost는 접속할 수 있는 컴퓨터의 주소를 나타냅니다. 아래와 같이 변경하세요.
                    *.yourdomain.com
                    
    

  2. Zope 를 rpm으로 설치했는데 http://localhost:8080/manage 의 인증에 자꾸 실패합니다.

    접속이 안될 경우 /var/zope 에서 zpasswd -p 새로운암호 access명령으로 암호를 바꾸고 /etc/rc.d/init.d/zope restart로 zope를 재시작 시킨후 접근하십시오.

  3. 한 컴퓨터에 zope를 여럿 설치하고 싶습니다.

    아무런 문제가 없습니다. 다만 zope의 zserver가 사용하는 기본 포트를 바꾸어 주어야 합니다. zope 디렉토리의 start 스크립트 ( windows 계열은 start.bat)를 편집기로 열어서, z2.py 다음에 -P 7000(이나 다른 번호)를 추가하면 됩니다. -P 7000이면 그 zope의 http포트는 8080 대신 7080, ftp 포트는 7021, telnet 포트는 7099가 됩니다. https나 FastCGI를 사용하지 않는다면 -P 옵션 다음의 숫자는 1024 이상 100단위 아무런 숫자나 됩니다만, https나 FastCGI를 사용하게 될 경우를 생각해서 1000단위 숫자를 쓰기를 권합니다.

  4. 로그아웃 할 때마다 zope가 죽습니다.

    zope 디렉토리의 start 스크립트에 기본으로 설정되어 있는 -D 옵션을 삭제하십시오. D 옵션은 debug용 옵션으로, 설정되면 에러메시지를 stdout으로 보냅니다. 대신 실행자가 로그아웃하면 zope도 죽이는 만행을 자행합니다.


ID
Password
Join
Your mode of life will be changed for the better because of good news soon.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0038 sec