가장 유연한 설치방식 입니다만, 그만큼 번잡할 수도 있습니다. 간단히 시험해볼 솔라리스 사용자나 인텔계열용 리눅스 사용자 분들은 바이너리 배포본을 사용하시는 것이 훨씬 편리합니다.
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월 현재 최신판).
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의 내부 상태를 검사할 때 사용합니다).
chown -R username.usergroup Zope라고 해버리면 됩니다.
myZopeSuperuserId:myPasswd:mydomain라고 한 줄만 달랑 써주면 됩니다. 중간에 공백이 없어야 하고 각 필드는 콜론(:)으로 구별됩니다. 마지막 mydomain은 선택사항으로 써주면 해당 도메인/호스트에서만 superuser로 접근이 가능하게 됩니다. 아, myZopeSuperuserId와 myPasswd는 영문으로 하기 바랍니다. 잘 알려 진대로 브라우저에 따라 한글을 취급하는 방식이 제멋대로이기 때문입니다.
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에 의해 서비스됩니다.
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 등을 참고하십시오.
설치하기 제일 간단한 경우입니다. 파이썬 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 에서 내려받을 수 있습니다.
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
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
./install -u nobody -g nobody라고 해도 무방하고, 그러면 06도 필요없어 보이기는 하지만 그리하면 var이외의 다른 파일들과 하위 디렉토리들도 world-read/writable해지니까 권하지 않습니다. 특별히 게으르시고 모험심이 있는 분이 실험해주시면 감사하겠습니다.
pcgi파일(Zope.cgi)의 이름이 꼭 Zope.cgi일 필요는 없습니다. 만일 한 기계에서 여러 개의 zope를 아파치와 연동할 때는 각 zope별로 pcgi.파일의 이름을 달리 주면 됩니다.
사이트의 /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는 복잡하므로 관련 문헌을 꼭 참고하기 바랍니다.
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가 원하지도 않는데 떠버리는 것은 불편할 것입니다. 처음 시험해보는 분들은 바이너리 배포본 설치를 권합니다.
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으로
지정되어 있습니다.
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 에서 이전의 홈페이지를 찾으실 수 있으실 겁니다.
Windows 계열에서의 Zope 인스톨은 매우 간단합니다. Python 은 자동으로 설치되며, 단지. http://yyy.zope.org/Products/Zope/2.1.5/Zope-2.1.5-win32-x86.exe/view (2000 년 3월 현재 최신버젼) 에서 다운 받은 Zope 만 가지고 있으면 됩니다. Zope의 설치 순서입니다.
win32 service로 설치 한다면, 컴퓨터를 켤때, Zope service가 자동으로 시작될 것입니다.
Zope는 Zope 홈 디렉토리의 start.bat 를 더블 클릭함으로써, 간단히 실행시킬 수 있습니다. ( win32 service로 설치하셨다면, 이런 수고를 하실 필요는 없습니다.)
http://localhost:8080/manage에서 위에서 만든 username과 password로 로그인 하시면, Zope 관리 화면을 보실 수 있으실 것입니다.
네트워크가 설치되어 있지 않다면, MicroSoft Loopback Adapter 를 하드웨어 추가로 추가한 후 실험해 보실 것을 권장합니다.