강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

Install ZOPE on Linux

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

 

공개소프트웨어 강좌

 - Install ZOPE on Linux -

작성일 : 2006. 08. 09.

PIC20.gif

 프로그램명

 라이센스

 ZOPE

 ZPL
(http://www.zope.org/Resources/License/ZPL)

 리뷰버전

 지원언어

 Zope-2.7.9-final.tgz

 Python

 운영체제

 제작(자)사

All(i386)지원

tseaver

 권장사항

 

 Homepage

 http://www.zope.org

 작성자

리눅스포털 (주)수퍼유저코리아 (www.superuser.co.kr) 서버관리팀 주진은

 소개 및 작동원리

 

 ZOPE(Z Object Publishing Environment)는 Python이란 프로그램으로 작성된 오픈 소스 웹 애플리케이션 서버이다. ZOPE로 이름을 정한 이유는 1998년말에 비어 있는 도메인을 그것 밖에 찾지 못해서 ZOPE로 정해졌다고 합니다. ZOPE로 사용하는 것이 바른 표기법이지만 보통명사화 되어 zope라고 사용하기도 한다.

 

 HTTP, FTP, WebDAV, XML-RPC 등의 기능을 기본 포함하고 있으면, 아파치와 같은 다른 웹서버와 함께 사용할 수도 있다.

PIC21.gif[ZOPE 내부 구성도]

 특징 및 역사

[역사]

 인터넷 서비스 제공자로 ZOPE의 핵심기술을 "Zope Corporation"(Digital Creations에서 회사명 변경)이 설계했습니다. 그 당시는 신문사의 web페이지를 제공하는 것이었습니다. 다음에 이러한 신문사로부터「신문사의」고객용 web 페이지를 제공하고 싶어졌습니다. 같은 환경에서 규모를 확대하기 위해서는, web 사이트의 임의의 레벨로 여러 사용자 그룹에 제어권한을 안전하게 위임 할 수 있도록 Zope가 설계되었습니다.


[ZOPE의 기능]

 -. 데이터베이스 통합

 -. 템플릿 기반 페이지 구현

 -. 사용자 인증

 -. 사이트의 특정 부분을 특정 사용자가 업데이트 할 수 있도록 선택적 권한설정

 -. 사용자 코드 배포을 위한 객체 지향 패러다임

 -. 객체 및 세션의 지속적인 관리

 

 ZOPE에서 페이지는 ZOPE 데이터베이스의 객체이다. ZOPE은 폴더 개념을 사용하는 객체로 URL를 매핑(mapping)한다. 페이지 개념은 HTML이지만 동적 콘텐츠를 HTML로 삽입할 수 있다. 그래서 웹 사이트를 구성하는 정적 HTML과 동적CGI프로그램이라는 근본적으로 다른 두 개를 가지는 대신 ZOPE 페이지 객체를 갖게 되는 것이다.

 HTML이 프로그램을 효과적으로 삽입할 수 있다. 이것을 템플레이딩(templating)이라고 하며 DTML(Document Template Markup Language)을 사용하여 제어된다. SSL(server-side includes)와 많은 부분 비슷하지만 더욱 유연하다. 다른 비슷한 기술로는 ASP와 JSP가 있다.

 

 ZOPE에서 객체는 지속된다. 각각의 동적 페이지 히트를 시작하고, 초기화하면, 계산 및 정리하는 프로세스 대신 ZOPE 객체는 미리 초기화되고 프로세스를 실행한다. 사용 빈도가 많은 사이트의 경우 퍼포먼서가 뛰어나다는 의미가 된다.

 

 ZOPE은 데이터베이스 커넥션을 유지하기 때문에 각각의 페이지 히트에 대해서는 쿼리 자체만 신경 쓰면 된다. 이러한 퍼포먼스는 Apache의 mod_perl로도 얻을 수 있다. 하지만 플랫폼에서 모두 같이 작용할 지 불투명한 Perl, mod_perl, HTML::Mason, 기타 모듈들을 설치하는 대신 ZOPE은 이 모든 것을 가져다가 한데 모아 사용 할 수 있다.

 

 개별 파일에 페이지들을 저장하는 대신 ZOPE사용자는 FTP 또는 파일을 관리하는 그와 유사한 툴을 사용하여 모든 페이지를 ZOPE 객체 데이터 베이스에 저장한다. 이러한 방식이 세련되지 못한 듯이 보이지만 ZOPE은 소수의 파일을 실행할 수 있고 자주 사용되는 페이지를 캐싱 할 수 있다. 또한 각 페이지에 대한 액세스를 관리하여 사용자가 액세스 할 수 있는 공간을 지정하여 OS에 액세스하는 위험부담 없이도 매우 쉽게 사용자와 그룹을 설정할 수 있다. 게다가 사용자들은 웹이 가능한 머신에서 편집을 수행할 수 있다. 별도 FTP서버를 구현 사용할 필요가 없다.(ZOPE에서 기본 지원하고 있다.)

 사용용도

 HTTP, FTP, WebDAV, XML-RPC 등의 기능이 있기 때문에 통합웹서비스를 구축하고자 한다면 편리할 것이다. 또한 아파치와 같은 다른 웹서버와 함께 사용하여 다양한 기능을 구현할 수 있다.

 비지니스의 관점으로 보면 ZOPE의 유용성은 강력한 공동작업, 컨텐츠의 단순한 관리, web 컴퍼넌트의 3가지를 자유자재로 구현 할 수 있습니다. 단점은 현재 영문만 지원하고 있다는 것입니다.

 설치방법

1. ZOPE Install

1.1. 설치순서

   ㄱ. 일반사용자계정에서 ZOPE 2.7.x 다운받음        ㄴ. 일반사용자계정에서 압축해제

   ㄷ. Installing ZOPE                                ㄹ. ZOPE의 관리자 화면 접속

   ㅁ. 서버 기동시 ZOPE 자동 실행 설정

 

1.2. ZOPE 설치와 ZOPE 실행

1.2.1. ZOPE 설치

    -. http://www.zope.org에서 ZOPE 설치 파일을 다운 받는다.
    -. 설치할 계정의 디렉토리에 ZOPE파일을 풀어놓는다..

 

    ./configure --prefix="조프를 설치할 절대경로" --with-python="Python 실행명령어 절대경로"

        예제) ./configure --prefix=/home/nemo/Zope-2.7.4  --with-python=/usr/local/python2.4/python

    make

    make install

 

    -. 조프가 실제 실행될 Instance Home과 조프 관리자 계정 및 비밀번호를 등록한다.

      "조프가 설치되 절대경로"/bin/mkzopeinstance.py  명령어를 실행한다.

         예제) /home/nemo/Zope-2.7.9/bin/mkzopeinstance.py

 

1.2.2. Run Zope

     일반사용자 계정으로 runzope를 실행

      "Instance Home 절대경로"/bin/runzope

     ※ 접속 기본 Port는 8080이며 ftp 접속 Port는 8021입니다.

 

1.3. ZOPE 관리자 화면 접속

     ZOPE의 설치와 서비스 실행이 되었다면 "http://'zope가 설치된 서버 IP주소':8080"라는 URL로

ZOPE 초기화면인 Zope Quick Start Page를 볼 수 있다.

 

     관리자 화면으로 Logging해보자.

     ZOPE 첫화면의 "Zope Management Interface"를 클릭하면 '사용자 이름과 암호'를 뭇는 창이 나온다. 여기에 사용자 이름과 암호는 Instance Home 설정시 적용한 사용자명과 암호를 입력하면 접속이 된다.

 

1.4. 서버 기동시 Zope 자동 실행 설정

     /etc/rc.d/rc.local 파일에 “ZOPE가 설치된 경로/bin/zopectl --user=구동시킬유저명 stat"를 추가한다.

    예제) /home/nemo/Zope/bin/zopectl --user=nemo start

 환경설정

 

 환경설정파일은 Instance Home 디렉토리 아래 etc 디렉토리에 zope.conf가 존재한다.

 운영방법과 간단한 FAQ

 

질문) 8080포트를 이용 할 수 없습니다. 이런 경우 어떻게 합니까?

  답) Network 환경이나 서버에서 Port 8080을 사용 못할 경우 ZOPE 실행시 "-X port-base='증가시킬번호'"라는 옵션을 추가하여 Port를 변경할 수 있다.

      예시) /home/nemo/bin/runzope -X port-base=1000

           (설명 : Port 9080으로 서비스가 시작된다.)

 

질문) Zope와 MySQL 접속방법은?

  답) ZOPE 홈페이지에서 ZMySQLDA-2.0.8.tar.gz 다운받아 ZOPE가 설치된 디렉토리에서

       압축을 해제하고, ‘조프가 설치된 경로’/lib/python/Products/경로에 복사한다.

        예시) mv ZMySQLDA /home/nemo/zope/lib/python/Products/ZMySQLDA

     복사가 끝난 다음 반드시 ZOPE를 재가동하여야함.

 

질문) ZOPE에서 한글을 입력하고 출력하고 싶습니다. 어떻게 하죠?

  답) 관리자 접속화면에 접속 후 Root Folder의 Properties에서 새 프로퍼티(property)를 추가한다.

      예시)  Name : management_page_charset

             Type : string

             Value : utf-8

 

질문) ZOPE 사용에 필요한 매뉴얼이 없나요?

  답) ZOPE는 기본 매뉴얼을 제공합니다. http://www.zope.org/Documentation/ 참고 하시면 ZOPE에 관한 많은 자료가 있다. 별도 사용자를 위해 제공되는 매뉴얼이 있다. The Zope Book이라고 하는 사용자를 위한 매뉴얼이 제공된다. 번역본은 www.zope.co.kr에서 찾아 볼 수 있다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,818 개
  • 현재 접속자 :  96 명