Sun ONE logo      이전      목차      색인      다음     

Sun ONE Web Server 6.1 관리자 설명서

15 장
프로그램으로 서버 확장

이 장은 클라이언트가 발하는 요청에 대한 응답으로 HTML 페이지를 동적으로 생성하는 프로그램을 Sun ONE Web Server에 설치하는 방법에 대해 설명합니다. 이러한 프로그램을 서버측 응용 프로그램이라고 합니다. (클라이언트측 응용 프로그램은 클라이언트로 다운로드하여 클라이언트 시스템에서 실행합니다.)

이 장의 내용:


서버측 프로그램의 개요

Java 서블릿 및 CGI 프로그램은 강점과 용도가 다릅니다. 다음 목록이 이러한 서버측 프로그램 사이의 차이점을 보여줍니다.

서버에서 실행되는 서버측 응용 프로그램의 유형

Sun ONE Web Server는 동적으로 내용을 생성하기 위해 다음과 같은 유형의 서버측 응용 프로그램을 실행할 수 있습니다.

Sun ONE Web Server는 서버 자체의 행동을 확장하거나 수정하는 프로그램을 실행할 수도 있습니다. 이러한 프로그램은 플러그인이라고 하며 Netscape Server Application Programming Interface(NSAPI)로 작성됩니다. 플러그인 프로그램의 작성과 설치에 대한 더 자세한 내용은 Sun ONE Web Server 6.1 NSAPI Programmer’s Guide를 참조하십시오.

서버측 응용 프로그램이 서버에 설치되는 방법

각 유형의 프로그램은 서버에 다른 방법으로 설치됩니다. 다음 목록이 해당 절차를 요약합니다.

이러한 설치 절차는 다음 부분에서 설명합니다.


Java 서브릿 및 JavaServer Pages(JSP)

이 부분은 Sun ONE Web Server에서 Java 서브릿 및 JavaServer Pages를 설치하는 방법에 대해 설명합니다.

다음 항목에 대해 설명합니다.

서브릿 및 JavaServer 페이지의 개요

Sun ONE Web Server 6.1은 서브릿 및 JSP가 웹 응용 프로그램에 포함되도록 하는 Servlet 2.3 API 표준을 지원합니다.

서브릿, JavaServer Page, HTML 문서 및 기타 웹 리소스의 집합으로 여기에는 이미지 파일, 압축된 자료 및 기타 데이터가 포함될 수 있습니다. 웹 응용 프로그램은 저장 파일로 패키지화 되거나(WAR 파일) 또는 개방형 디렉토리 구조로 존재할 수 있습니다.


참고

Servlet API 버전 2.3은 버전 2.1과 완전 역방향 호환되므로 모든 기존 서브릿은 수정이나 재컴파일 없이 계속 작업할 수 있습니다.


서브릿을 개발하려면 Sun Microsystems의 Java Servlet API를 사용합니다. Java Servlet API 사용에 대한 더 자세한 내용은 Sun Microsystems에서 제공하는 설명서를 참조하십시오.

http://java.sun.com/products/jpda/doc/conninv.html#Invocation

JSP는 웹 브라우저에서 볼 수 있는 HTML 페이지와 아주 유사한 페이지입니다. 그러나 HTML 태그 외에 JSP 태그 및 Java 코드와 혼합된 지시문 세트를 포함할 수 있어 페이지의 동적 내용을 통합하도록 웹 페이지 디자이너의 능력을 확장합니다. 이러한 추가 기능은 등록정보 값 표시 및 단순한 조건문 사용 등과 같은 기능을 제공합니다. Sun ONE Web Server 6.1은 JavaServer Pages (JSP) 1.2 API 표준을 지원합니다.


참고

응용 프로그램이 요청하는 URI의 대소문자(예를 들어, /foo.JSP)가 파일 시스템 경로의 대소문자와 일치하도록 하십시오(예를 들어, C:\Program Files\WebServer\docs\foo.jsp). Sun ONE Web Server 6.1 Java 웹 컨테이너가 현재 대소문자를 구분하는 일치를 수행하기 때문에 필요합니다.


JSP 만들기에 대한 더 자세한 내용은 Sun Microsystem’s JavaServer Pages 웹 사이트를 참조하십시오.

http://java.sun.com/products/jsp/index.html

Sun ONE Web Server와 함께 서브릿 및 JSP를 개발하는 데 대한 더 자세한 내용은 Sun ONE Web Server 6.1 Programmer’s Guide to Web Applications을 참조하십시오.

서버가 서브릿을 실행하기 위해 필요한 사항

Sun ONE Web Server는 Java Development Kit (JDK) 버전 1.4.1_03을 포함합니다. Web Server 이전 버전에서, Java는 서버측에서 구성되었으나 6.1 릴리스에서는 Web Server의 인스턴스당 Java를 구성할 수 있습니다.

Sun ONE Web Server 6.1과 함께 번들 제공되는 JDK를 사용하거나 각자 선택한 JDK를 사용할 수 있습니다. 이 경우에는 JDK에 대한 경로를 지정해야 합니다. 이 작업에 대한 자세한 설명은 "JVM 설정 구성" 273페이지 를 참조하십시오.

기본적으로, Java는 Sun ONE Web Server를 설치할 때 사용하지 않도록 설정됩니다. 서브릿을 사용하도록 설정하려면 먼저 Java를 설정해야 합니다.

Java 설정 방법에 대한 더 자세한 내용은 "Java 사용 설정과 해제" 271페이지 을 참조하십시오.

웹 응용 프로그램 구현

다음 부분은 wdeploy 명령줄 유틸리티를 사용하여 또는 사용자 인터페이스를 통해 수동으로 웹 응용 프로그램을 구현, 편집 및 삭제하는 방법에 대해 설명합니다.

server.xml 파일 사용

웹 응용 프로그램은 구현되면 기본적으로 사용하도록 설정됩니다. 구현된 웹 응용 프로그램을 수동으로 사용하지 않도록 설정하려면 server.xml 파일을 다음과 같이 수동으로 수정해야 합니다.

<VS>
<WEBAPP uri="/mywebapp" path="/webappdir" enabled = "false" >
</WEBAPP>

...

</VS>

잘못해서 동일한 설명을 가진 하나 이상의 웹 응용 프로그램을 구현 또는 편집하면 그 중 하나는 사용하지 않도록 설정되고 서버는 enabled = “false”를 무시하며 enabled = true의 기본 설명으로 계속합니다.

server.xml 파일에 대한 자세한 내용은 Sun ONE Web Server 6.1 Programmer's Guide to Web Applications를 참조하십시오.

두 가지 방법으로 웹 응용 프로그램을 구현 및 편집할 수 있습니다.

Administration Server Interface 사용

Sun ONE Web Server의 Service Pack 1 릴리스의 버전 6.0으로 웹 응용 프로그램을 지정된 가상 서버에 대해 구현, 편집, 삭제, 사용 불가능 및 사용 가능 설정할 수 있습니다.

웹 응용 프로그램 구현

Virtual Server Manager의 Web Applications 탭 아래에서 Deploy Web Applications 페이지를 선택하여 Deploy Web Applications 페이지에 액세스할 수 있습니다.

웹 응용 프로그램을 구현하려면 다음 단계를 따르십시오.

  1. WAR File On 드롭다운 목록에서 Local Machine 또는 Server Machine을 선택합니다.
  2. WAR 파일을 서버로 업로드하는 경우에는 Local Machine을 선택합니다. WAR 파일이 이미 서버 컴퓨터에 있는 경우에는 Server Machine을 선택합니다.

  3. 제공된 필드의 웹 응용 프로그램이 포함된 WAR 파일의 로컬 또는 서버 컴퓨터 경로를 입력합니다.
  4. 서버 컴퓨터의 경우 WAR 파일의 절대 경로를 입력합니다.

    로컬 컴퓨터에서 사용 가능 경로를 찾아볼 수 있습니다. Browse를 누르면 File Upload 창이 표시되며, 여기에서 서버로 업로드할 WAR 파일을 선택할 수 있습니다.

  5. 제공된 필드에 가상 서버에 있는 웹 응용 프로그램용 URI를 입력합니다.
  6. WAR 파일의 내용을 추출할 서버 컴퓨터의 디렉토리 절대 경로를 입력합니다. 디렉토리가 없는 경우 새로 만들어집니다.
  7. OK를 누릅니다.
  8. Apply를 누릅니다.
  9. 구현할 웹 응용 프로그램에 대해 Dynamic Reconfiguration을 선택합니다.
웹 응용 프로그램 편집

이미 구현된 웹 응용 프로그램을 편집, 삭제, 사용 안 함 또는 사용함으로 설정할 수 있습니다. Virtual Server Manager의 Web Applications 탭 아래에서 Edit Web Applications를 선택하여 Edit Web Applications 페이지에 액세스합니다.

이미 구현된 웹 응용 프로그램을 편집, 삭제, 사용 안 함 또는 사용함으로 설정하려면 다음 단계를 따르십시오.

  1. 편집할 웹 응용 프로그램 옆에 있는 Action 열의 드롭다운 목록에서 수행하려는 작업을 선택합니다. 옵션:
    • Edit를 선택하여 웹 응용 프로그램을 액세스할 수 있는 URI를 변경합니다.
    • Delete를 선택하여 웹 응용 프로그램 파일에서 웹 응용 프로그램 항목을 삭제하고 웹 응용 프로그램이 구현된 디렉토리를 삭제합니다.
    • Disable을 선택하면 URI에서 웹 응용 프로그램에 액세스할 수 없으나 웹 응용 프로그램이 삭제되지는 않습니다.
    • Enable을 선택하면 이전에 사용 안 함으로 설정된 웹 응용 프로그램을 다시 사용할 수 있습니다.

      주의

      웹 응용 프로그램을 삭제하면 응용 프로그램이 구현된 디렉토리도 삭제됩니다.


  2. (선택) 웹 응용 프로그램을 편집할 경우 URI 필드에 새 URI를 입력합니다.
  3. OK를 누릅니다.
  4. Apply를 누릅니다.
  5. 웹 응용 프로그램을 구현할 Dynamic Reconfiguration을 선택합니다.

명령줄 인터페이스 사용

웹 응용 프로그램을 수동 구현하기 전에 server_root/bin/https/httpsadmin/bin 디렉토리가 경로에 있고 IWS_SERVER_HOME 환경 변수가 server_root 디렉토리에 대해 설정되도록 해야 합니다.

가상 서버 응용 프로그램을 구현하려면:

명령줄에서 wdeploy 유틸리티를 사용하여 WAR 파일을 가상 서버 웹 응용 프로그램 환경으로 구현할 수 있습니다

wdeploy deploy -u <uri_path> -i <instance> -v <vs_id> [ [-V <verboseLevel>]| [-q] ] [-n] [-d <directory>] <war_file>

가상 서버 웹 응용 프로그램을 삭제하려면:

wdeploy delete -u <uri_path> -i <instance> -v <vs_id> [ [-V <verboseLevel>] | [-q] ] [-n] hard|soft

가상 서버에 대한 웹 응용 프로그램 URI 및 디렉토리를 나열하려면:

wdeploy list -i <instance> -v <vs_id> [ [-V <verboseLevel>] | [ -q] ]

명령줄 매개변수는 다음과 같은 의미가 있습니다.

uri_path

웹 응용 프로그램에 대한 URI 접두사.

instance

서버 인스턴스 이름.

vs_id

가상 서버 ID.

directory

(선택) 응용 프로그램이 구현되거나 응용 프로램이 삭제되는 디렉토리. 디렉토리가 구현에 대해 지정되지 않으면 응용 프로그램은 문서 루트 디렉토리에 구현됩니다.

hard | soft

디렉토리 및 server.xml 항목이 삭제되는지(hard) 아니면 server.xml 항목만 삭제되는지(soft) 지정합니다.

war_file

WAR 파일 이름

verboseLevel

콘솔에 로그 메시지를 표시하는 자세한 수준. 값은 0 ~ 4 범위입니다. 기본값은 1입니다.

Sun ONE web Server 6.1에서는 server.xml의 LOG 요소의 loglevel 속성이 이 요소 대신 사용된다는 점을 유의하십시오.

-q

(안정) 자세한 수준을 0으로 설정합니다. 이것은 설정 -V 0과 동등합니다.

-n

wdeploy가 웹 서버에 대한 재구성 명령을 자동 전송하지 못하게 합니다. 더 자세한 내용은 wdeploy 명령에서 -n 사용를 참조하십시오.


주의

웹 응용 프로그램을 구현하고 디렉토리를 지정하지 않으면 응용 프로그램이 문서 루트 디렉토리에 구현됩니다. 그런 다음 hard 매개변수를 사용하여 응용 프로그램을 삭제하면 문서 루트 디렉토리가 삭제됩니다.


wdeploy deploy 명령을 실행하면 세 가지 일이 발생합니다.

예:

wdeploy deploy -u /hello -i server.sun.com -v acme.com -d /s1ws61/https-server.sun.com/acme.com/web-apps/hello /s1ws61/plugins/servlets/examples/web-apps/HelloWorld/HelloWorld.war

이 유틸리티의 결과는 다음 server.xml 항목과 같습니다.

<VS>
<WEBAPP uri="/hello"
dir="/s1ws61/https-server.sun.com/acme.com/webapps/hello"/>
</VS>

/s1ws61/https-server.sun.com/acme.com/web-apps/hello 디렉토리는 다음 내용을 갖습니다.

colors
index.jsp
META-INF
WEB-INF/
web.xml
/classes/
HelloWorldServlet.class
HelloWorldServlet.java
SnoopServlet.class
SnoopServlet.java

wdeploy 명령에서 -n 사용

Sun ONE Web Server의 Service Pack 1 릴리스의 버전 6.0에서는 웹 응용 프로그램을 구현 또는 삭제한 후 wdeploy가 서버를 동적으로 구성하여 구현 또는 서버가 삭제된 웹 응용 프로그램을 로드 또는 언로드하도록 합니다. 이전에 다음 중 하나를 수행하여 변경 사항이 적용되도록 서버를 명시적으로 재구성해야 했습니다

이제 wdeploy 명령 성공이 새 웹 응용 프로그램에 대한 요청을 서비스하도록 또는 삭제된 웹 응용 프로그램에 대한 요청 서비스를 중지하도록 자동 설정됩니다.

-n 옵션은 wdeploy가 웹 서버에 대한 재구성 명령을 자동 전송하지 못하게 합니다. 다중 웹 응용 프로그램을 구현 또는 구현 취소할 경우(예를 들어, 스크립트에서) 명령의 -n 옵션을 사용합니다. 그러면 마지막 웹 응용 프로그램이 구현된 후 한 번만 서버를 재구성합니다.

구현된 웹 응용 프로그램 액세스

응용 프로그램을 구현한 후 다음과 같이 브라우저에서 액세스할 수 있습니다.

http://vs_urlhost[:vs_port]/uri_path/[index_page]

URL의 일부는 다음과 같은 의미를 갖습니다.

vs_urlhost

가상 서버의 urlhosts 값 중 하나.

vs_port

(선택) 가상 서버가 기본값이 아닌 포트를 사용할 경우에만 필요합니다.

uri_path

응용 프로그램 구현에 사용한 것과 동일합니다. 이것은 컨텍스트 경로이기도 합니다.

index_page

(선택) 최종 사용자가 먼저 액세스하려하는 응용 프로그램의 페이지.

예:

http://acme.com:80/hello/index.jsp

또는

http://acme.com/hello/

값 반환

wdeploy 옵션은 다음 종료 값을 반환합니다.

웹 응용 프로그램에 없는 서브릿 및 JSP 구현

응용 프로그램 외부에서 4.x 서브릿 및 JSP를 구현할 수 있지만 기본 가상 서버에서만 가능합니다. 자세한 내용은 Sun ONE Web Server 6.1 Programmer's Guide to Web Applications를 참조하십시오.

JVM 설정 구성

Server Manager의 Java 탭에서 Java Virtual Machine(JVM)의 속성을 구성할 수 있습니다.

이러한 옵션에 대한 자세한 내용은 Sun ONE Web Server 6.1 Programmer's Guide to Web Applications를 참조하십시오.

버전 파일 삭제

Server Manager의 Java 탭의 Delete Version Files 페이지를 사용하여 JavaServer Pages 클래스 캐시 및 세션 데이터 캐시에 대한 버전 번호를 포함하는 파일을 삭제할 수 있습니다. 이 페이지에는 다음 필드가 있습니다.

Session Data 삭제

서버가 MmapSessionManager 세션 관리자를 사용할 경우 지속적인 세션 정보를 저장하는 SessionData 디렉토리를 삭제합니다.

JSP ClassCache 파일 삭제

JavaServer Pages(JSP)에 대한 정보를 캐시하는 ClassCache 디렉토리를 삭제합니다. 이 디렉토리의 기본 위치는 다음과 같습니다.

server_root/https-server_id/ClassCache/virtual_server_id/webapp_uri/

서버가 JSP 페이지를 서비스할 경우 JSP와 연관된 .java 및 .class 파일을 만들고 ClassCache 디렉토리 아래의 JSP 클래스 캐시에 저장합니다.

서버는 JavaServer Pages(JSP) 및 서브릿에 대한 캐시 정보에 대해 두 개의 디렉토리를 사용합니다.

각 캐시에는 서버가 캐시의 디렉토리 및 파일 구조를 결정하는 데 사용하는 버전 번호가 담긴 version 파일이 있습니다. 버전 파일만 삭제하면 캐시를 비울 수 있습니다.

서버가 시작하고 버전 파일을 찾지 못하면 해당 캐시의 디렉토리 구조를 삭제하고 버전 파일을 다시 만듭니다. 다음에 서버가 JSP 페이지를 서비스할 때 JSP 클래스 캐시를 다시 만듭니다. 다음에 MMappedSessionManager 세션 관리자를 사용하는 동안 JSP 페이지 또는 서브릿을 서비스할 때 세션 데이터 캐시를 다시 만듭니다.

서버의 장래 업그레이드가 캐시에 대해 다른 형식을 사용하면 서버는 버전 파일의 번호를 확인하고 버전 번호가 올바르지 않을 경우 캐시를 비웁니다.


CGI 프로그램 설치

이 부분은 CGI 프로그램을 설치하는 방법에 대해 다룹니다. 다음 주제에 대해 설명합니다.

또한 다음 부분은 Windows 특정 CGI 프로그램을 설치하는 방법에 대해 설명합니다.

CGI의 개요

Common Gateway Interface(CGI) 프로그램은 어떤 프로그래밍 언어로도 정의할 수 있습니다. UNIX/Linux machine 시스템에서 Bourne 셸 또는 Perl 스크립트로 작성된 CGI 프로그램을 찾을 수 있습니다.


참고

UNIX/Linux 하에서는 추가 CGIStub 프로세스가 실행되고 서버는 이것을 CGI 실행을 돕는 데 사용합니다. 이러한 프로세스는 CGI에 대한 최초 액세스 동안에만 만들어집니다. 프로세스의 숫자는 서버의 CGI 로드에 따라 다릅니다. 이러한 CGIStub 프로세스를 종료하지 마십시오. 서버가 중지하면 사라집니다.


Windows 컴퓨터에서 C++ 또는 배치 파일로 작성된 CGI 프로그램을 찾을 수 있습니다. Windows의 경우 Visual Basic과 같은 Windows 기반 프로그래밍 언어로 작성된 CGI 프로그램은 다른 메커니즘을 사용하여 서버와 작동합니다. 이들을 Windows CGI 프로그램이라고 합니다. Windows CGI에 대한 더 자세한 내용은 "Windows CGI 프로그램 설치"를 참조하십시오.


참고

명령줄 유틸리티를 실행하려면 Path 변수가 server_root/bin/https/bin을 포함하도록 수동으로 설정해야 합니다.


프로그래밍 언어와 관계없이 모든 CGI 프로그램은 동일한 방식으로 데이터를 받아들이고 반환합니다. CGI 프로그램 작성에 대한 더 자세한 내용은 다음 정보원을 참조하십시오.

서버 시스템에 CGI 프로그램을 저장하는 방법은 두 가지입니다.

원할 경우 동시에 두 가지 옵션을 모두 사용함으로 설정할 수 있습니다.

두 가지 구현에는 장점이 있습니다. 특정한 사용자 집합만 CGI 프로그램을 추가하도록 하려면 지정된 디렉토리에 CGI 프로그램을 유지하고 해당 디렉토리에 대한 액세스를 제한합니다. HTML 파일을 추가할 수 있는 모든 사람이 CGI 프로그램을 추가할 수 있도록 하려면 파일 유형 방법을 사용합니다. 사용자는 자신의 HTML 파일과 동일한 디렉토리에 CGI 파일을 유지할 수 있습니다.

디렉토리 옵션을 선택하면 서버는 해당 디렉토리의 모든 파일을 CGI 프로그램으로 해석합니다. 동일한 토큰으로 파일 유형 옵션을 선택하면 서버는 파일 확장자 .cgi, .exe 또는 .bat를 가진 모든 파일을 CGI 프로그램으로 처리합니다. 파일이 CGI 프로그램이 아닌 확장자 중 하나를 가지면 사용자가 액세스를 시도할 때 오류가 발생합니다.


참고

기본적으로 CGI 프로그램의 파일 확장자는 .cgi, .exe 및 .bat, 그러나 MIME 유형 파일을 수정하여 CGI 프로그램을 나타내는 확장자를 변경할 수 있습니다. Server Preferences 탭을 선택하고 MIME Types 링크를 눌러 이 작업을 수행할 수 있습니다.


CGI 디렉토리 지정

가상 서버 클래스에 대해 CGI 전용 디렉토리를 지정하려면 다음 단계를 따르십시오.

  1. Class Manager에서 Programs 탭을 선택합니다.
  2. CGI Directory 창이 나타납니다.

  3. URL Prefix 필드에서 이 디렉토리에 대해 사용할 URL 접두사를 입력합니다. 즉, 입력한 텍스트가 URL에 있는 CGI 프로그램용 디렉토리로 표시됩니다.
  4. 예를 들어, URL 접두사로 cgi-bin을 입력하는 경우 해당 CGI 프로그램에 대한 모든 URL의 구조는 다음과 같습니다.

    http://yourserver.domain.com/cgi-bin/program-name


    참고

    지정하는 URL 접두사는 CGI 디렉토리 필드에서 지정하는 실제 CGI 디렉토리와 다를 수 있습니다.


  5. CGI Directory 텍스트 필드에서 디렉토리 위치를 절대 경로로 입력합니다. 이 디렉토리가 반드시 문서 루트 아래에 있어야 하는 것은 아닙니다. 다음 단계에서 URL 접두사를 지정해야 하기 때문입니다.
  6. OK를 누릅니다.
  7. 변경 사항을 저장하고 적용합니다.

기존 CGI 디렉토리를 제거하려면 CGI Directory 양식에서 해당 디렉토리의 Remove 버튼을 누릅니다. 기존 디렉토리의 URL 접두사 또는 CGI 디렉토리를 변경하려면 해당 디렉토리의 Edit 버튼을 누릅니다.

CGI 프로그램을 지정한 디렉토리로 복사합니다. 해당 디렉토리의 모든 파일이 CGI 파일로 처리되므로 HTML 파일은 CGI 디렉토리에 넣지 않도록 합니다.

각 소프트웨어 가상 서버에 대해 고유한 CGI 속성 구성

단일한 가상 서버에 대해 CGI 속성을 지정하려면 다음 단계를 따르십시오.

  1. Class Manager에서 Manager Virtual Servers 버튼을 누릅니다.
  2. Virtual Server Manager에서 Settings 링크를 선택합니다.
  3. CGI User 텍스트 필드에 CGI 프로글매을 실행할 사용자의 이름을 입력합니다.
  4. CGI Grouptext 필드에 CGI 프로그램을 실행할 그룹 이름을 입력합니다.
  5. CGI Directory 텍스트 필드에서 chroot 뒤에 그러나 실행이 시작하기 전에 chdir에 대한 디렉토리를 입력합니다.
  6. (UNIX만 해당) CGI Nice 텍스트 필드에 서버에 대한 상대적인 CGI 프로그램의 우선 순위를 결정하는 증가분을 입력합니다. 보통 서버는 값이 0인 nice로 실행되며 nice의 증가분은 0(CGI 프로그램이 서버와 동일한 우선 순위로 실행)에서 19(CGI 프로그램이 서버보다 매우 낮은 우선 순위로 실행) 사이입니다. -1의 증가분을 지정하여 CGI 프로그램의 운선 순위를 서버보다 높게 설정할 수 있으나, 권장되지 않습니다.
  7. Chroot Directory 텍스트 필드에 실행이 시작하기 전에 chroot에 대한 디렉토리를 입력합니다.
  8. OK를 누릅니다.
  9. 변경 사항을 저장 및 적용합니다.

CGI를 파일 유형으로 지정

CGI 프로그램을 파일 유형으로 지정하려면 다음 단계를 따르십시오.

  1. Class Manager에서 Programs 탭을 선택합니다.
  2. CGI File Type 페이지를 누릅니다.
  3. CGI as a File Type 창이 나타납니다.

  4. Editing picker에서 이 변경 사항을 적용할 리소스를 선택합니다.
  5. Activate CGI as a File Type 아래엥서 Yes 라디오 버튼을 누릅니다.
  6. OK를 누릅니다.
  7. 변경 사항을 저장 및 적용합니다.

CGI 파일은 파일 확장자 .bat, .exe 또는 .cgi를 가져야 합니다. 이러한 확장자를 가진 CGI가 아닌 파일을 서버가 CGI 파일로 처리하면 오류가 발생합니다.

실행 파일 다운로드

.exe를 CGI 파일 유형으로 사용할 경우 .exe 파일을 실행 파일로 다운로드할 수 없습니다.

이 문제에 대한 한 가지 해결책은 사용자가 다운로드할 수 있도록 하려는 실행 파일을 압축하여 확장자가 .exe가 안 되게 하는 것입니다. 이 해결책은 다운로드 시간을 단축시키는 추가 장점도 있습니다.

또 다른 가능한 해결책은 magnus-internal/cgi 유형에서 .exe를 파일 확장자로 제거하여 그것을 application/octet-stream 유형(일반 다운로드 가능 파일에 대한 MIME 유형) 대신 추가하는 것입니다. Server Manager에서 Server Preferences 탭을 누르고 MIME Types 링크를 선택하여 할 수 있습니다. 그러나 이 방법의 단점은 변경을 한 후에 .exe 파일을 CGI 프로그램으로 사용할 수 없다는 것입니다.

또 다른 해결책은 디렉토리의 모든 파일이 자동으로 다운로드되는 다운로드 디렉토리를 설정하는 obj.conf 파일을 편집하는 것입니다. 서버의 나머지는 영향을 받지 않습니다. 이 디렉토리 설정에 대한 지시 사항은 다음 기술 노트를 참조하십시오.

http://help.netscape.com/kb/server/960513-130.html


Windows CGI 프로그램 설치

이 부분은 Windows CGI 프로그램을 설치하는 방법을 다룹니다. 다음 주제가 이 부분에 포함됩니다.

Windows CGI 프로그램의 개요

Windows CGI 프로그램은 상당수가 다른 CGI 프로그램으로 처리됩니다. Windows CGI 프로그램만 포함하는 디렉토리를 지정하거나 Windows CGI 프로그램이 동일한 파일 확장자를 갖도록 지정합니다. 다른 CGI 프로그램과 같이 원할 경우 동시에 두 가지 방법을 모두 사용할 수 있습니다. 예를 들어, 모든 Windows CGI 프로그램에 대한 디렉토리를 만들고 Windows CGI 파일 확장자를 지정할 수 있습니다.

Windows CGI 프로그램이 일반 CGI 프로그램과 같이 행동하더라도 서버는 실제 프로그램을 조금 다르게 처리합니다. 따라서 Windows CGI 프로그램에 대해 다른 디렉토리를 지정해야 합니다. Windows CGI 파일 유형을 사용함으로 설정하면 파일 확장자 .wcg를 사용합니다.

Sun ONE Web Servers는 Windows CGI 1.3a 비공식 표준을 지원하며 다음과 같은 차이점이 있습니다.

Windows CGI 디렉토리 지정

Windows CGI 전용 디렉토리를 지정하려면:

  1. Class Manager에서 Programs 탭을 선택합니다.
  2. WinCGI Directory 링크를 누릅니다.
  3. WinCGI Directory 창이 나타납니다.

  4. URL Prefix 텍스트필드에 이 디렉토리에 대해 사용하려는 URL 접두사를 입력합니다.
  5. 즉, 입력한 텍스트가 URL에 있는 Windows CGI 프로그램용 디렉토리로 표시됩니다. 예를 들어, URL 접두사로 wcgi-programs을 입력하는 경우 해당 Windows CGI 프로그램에 대한 모든 URL의 구조는 다음과 같습니다.

    http://yourserver.domain.com/wcgi-programs/program-name


    참고

    지정하는 URL 접두사는 Step 5에서 지정하는 실제 실제 Windows CGI 디렉토리와 다를 수 있습니다.


  6. 스크립트 추적을 사용함으로 설정할지 선택합니다.
  7. Enable Script Tracing? 아래에서 Yes 또는 No 라디오 버튼을 누릅니다.

    CGI 매개변수가 파일을 통하여 서버에서 Windows CGI 프로그램으로 전달되며, 이 경우 서버는 Windows CGI 프로그램의 실행이 종료된 후 파일을 삭제합니다. 스크립트 추적을 사용하는 경우 이 파일은 /temp 디렉토리 또는 환경 변수 TMP 및 TEMP가 가리키는 위치에 보관됩니다. 또한 스크립트 추적을 사용하면 Windows 프로그램이 시작하는 모든 창이 표시됩니다.

  8. WinCGI Directory 필드에서 디렉토리의 위치를 절대 경로로 입력합니다.
  9. 이 디렉토리가 반드시 문서 루트 아래에 있어야 하는 것은 아닙니다. 이것이 URL 접두사를 Step 3에서 지정해야 하는 이유입니다.

  10. OK를 누릅니다.
  11. 변경 사항을 저장 및 적용합니다.

기존 Windows CGI 디렉토리를 제거하려면 Windows CGI Directory 양식에서 해당 디렉토리의 Remove 버튼을 누릅니다. 기존 디렉토리의 URL 접두사 또는 Windows CGI 디렉토리를 변경하려면 해당 디렉토리의 Edit 버튼을 누릅니다.

지정한 디렉토리로 Windows CGI 프로그램을 복사합니다. 이러한 디렉토리의 모든 파일은 Windows CGI 파일로 처리된다는 점을 기억하십시오.

Windows CGI를 파일 유형으로 지정

Windows CGI 파일에 대해 파일 확장자를 지정하려면 다음 단계를 수행하십시오.

  1. Server Manager에서 Server Preferences 탭을 누릅니다.
  2. MIME Types 링크를 누릅니다.
  3. Global MIME Types 창이 나타납니다. Global MIME 유형에 대한 더 자세한 내용은 "MIME 유형 선택" 169페이지 를 참조하십시오.

  4. 다음 설정으로 MIME 유형을 추가합니다.
    • 유형: type:
    • 컨텐트 유형: magnus-internal/wincgi.
    • 파일 접미사: 서버가 Windows CGI와 연결하게 하려는 파일 접미사를 입력합니다. CGI, WinCGI 및 셸 CGI 파일 유형을 사용하는 경우 반드시 각 유형의 CGI에 다른 접미사를 지정해야 합니다. 예를 들어, CGI 프로그램과 셸 CGI 프로그램에 모두 .exe 접미사를 사용하면 안 됩니다. 그래야 할 경우 접미사가 고유할 수 있도록 페이지의 다른 MIME 유형 필드를 편집하면 됩니다.
  5. New 버튼을 누릅니다.
  6. 변경 사항을 저장 및 적용합니다.


Windows용 셸 CGI 프로그램 설치

이 부분은 Windows용 Shell CGI 프로그램을 설치하는 방법에 대해 설명합니다. 다음 주제가 이 부분에 포함됩니다.

Windows용 CGI 프로그램의 개요

셸 CGI는 Windows에서 설정된 파일 연결을 사용하여 CGI 응용 프로그램을 실행하도록 하는 서버 구성입니다.

예를 들어, 서버가 hello.pl이라고 하는 셸 CGI 파일에 대한 요청을 받으면 서버는 Windows 파일 연결을 통해 .pl 확장자와 연결된 프로그램을 사용하여 파일을 실행합니다. .pl 확장자가 프로그램 C:\bin\perl.exe와 연결되면 서버는 hello.pl 파일을 다음과 같이 실행하려 시도합니다.

셸 CGI를 구성하는 가장 쉬운 방법은 오직 셸 CGI 파일만 포함하는 디렉토리를 서버의 문서 루트 아래에 만드는 것입니다. 그러나 Sun ONE Web Server에서 MIME 유형을 편집하여 특정한 파일 확장자를 셸 CGI와 연결하ㅗ록 서버를 구성할 수도 있습니다.


참고

Windows 파일 확장자 설정에 대한 더 자세한 내용은 Windows 설명서를 참조하십시오.


셸 CGI 디렉토리 지정(Windows)

셸 CGI 파일용 디렉토리를 만들려면 다음 단계를 수행하십시오.

  1. 컴퓨터에 셀 디렉토리를 만듭니다. 이 디렉토리가 반드시 문서 루트 디렉토리의 하위 디렉토리일 필요는 없습니다.
  2. Server Manager에서 Class Manager 링크를 선택합니다.
  3. 다음으로 Class Manager를 선택합니다.
  4. 셸 CGI Directory 링크가 강조되고 CGI 창이 나타납니다.

  5. URL Prefix 필드에서 셸 CGI 디렉토리와 연결하려는 URL 접두사를 입력합니다.
  6. 예를 들어, 모든 셸 CGI 파일을 디렉토리
    C:\docs\programs\cgi\shell-cgi에 저장한다고 가정합니다. 그러나 사용자에게 해당 디렉토리가 http://www.yourserver.com/shell/로 보이도록 하려 합니다. 이 경우 shell을 URL 접두사로 입력합니다.

  7. Shell CGI Directory 필드에서 만든 디렉토리에 대한 절대 경로를 입력합니다.

  8. 주의

    서버에 반드시 이 디렉토리에 대한 읽기 및 실행 권한이 있어야 합니다. Windows의 경우 서버를 실행하는 사용자 계정(예를 들어 LocalSystem)에 셸 CGI 디렉토리의 프로그램을 읽고 실행할 수 있는 권한이 있어야 합니다.


  9. 또한 셸 CGI 디렉토리의 모든 파일에 Windows에서 설정한 파일 연결이 있는지 확인하십시오. 파일 확장자 연결이 없는 파일을 실행하면 서버에 오류가 발생합니다.

셸 CGI를 파일 유형으로 지정(Windows)

Sun ONE Web Server의 MIME Types 창을 사용하여 파일 확장자를 셸 CGI 기능과 연결할 수 있습니다. Windows에서 연결을 만드는 것과는 다릅니다.

서버에서 파일 확장자를 셀 CGI 기능과 연결하려면 예를 들어, .pl 확장자로 파일에 대한 연결을 만들 수 있습니다. 서버에 해당 확장자가 있는 파일이 요청되면 Windows에서 해당 파일 확장자와 연결된 실행 파일을 호출함으로써 해당 파일을 셸 CGI 파일로 처리합니다.

파일 확장자를 셸 CGI 파일과 연결하려면 다음 단계를 수행하십시오.

  1. 컴퓨터에서 셸 디렉토리를 만듭니다. 이 디렉토리가 반드시 문서 루트 디렉토리의 하위 디렉토리일 필요는 없습니다.
  2. Server Manager에서 Server Preferences를 선택합니다.
  3. MIME Types 링크를 누릅니다.
  4. Global MIME Types 창이 나타납니다. Global MIME 유형에 대한 더 자세한 내용은 "MIME 유형 선택" 169페이지 .를 참조하십시오.

  5. 다음 설정으로 새로운 MIME 유형을 추가합니다.
    • 유형: type:
    • 컨텐트 유형: magnus-internal/shellcgi.
    • 파일 접미사: 서버가 셸 CGI와 연결하게 하려는 파일 접미사를 입력합니다. CGI, WinCGI 및 셸 CGI 파일 유형을 사용하는 경우 반드시 각 유형의 CGI에 다른 접미사를 지정해야 합니다. 예를 들어, CGI 프로그램과 셸 CGI 프로그램에 모두 .exe 접미사를 사용하면 안 됩니다. 그래야 할 경우 접미사가 고유하도록 페이지의 다른 MIME 유형 필드를 편집하면 됩니다.
  6. New Type 버튼을 누릅니다.
  7. 변경 사항을 저장 및 적용합니다.


쿼리 처리기 사용


참고

쿼리 처리기의 사용은 진부한 방법입니다. Sun ONE Web Server 및 Netscape Navigator 클라이언트가 이것을 지원하기는 하지만 사용되는 경우는 드뭅니다. 사람들이 HTML 페이지의 양식을 사용하여 쿼리를 제출하는 경우가 훨씬 더 일반적입니다.


기본 쿼리 처리기 CGI 프로그램을 지정할 수 있습니다. 쿼리 처리기는 HTML 파일의 ISINDEX 태그를 통하여 보내진 텍스트를 처리합니다.

ISINDEX는 HTML 페이지에서 텍스트 필드를 만드는 형식 텍스트 필드와 유사하며, 여기에서 입력을 받을 수 있습니다. 그러나 페이지 텍스트 필드의 정보와 달리 ISINDEX 상자의 정보는 사용자가 Return을 누를 때 바로 제출됩니다. 기본 쿼리 처리기를 지정하면 서버가 어느 프로그램에 입력을 전달할 지 알 수 있습니다. ISINDEX 태그에 대한 자세한 설명은 HTML 참조 설명서를 참조하십시오.

쿼리 처리기를 만들려면 다음과 같이 합니다.

  1. Server Manager에서 Programs 탭을 선택합니다.
  2. Query Handler 링크를 누릅니다.
  3. Query Handler 창이 나타납니다.

  4. Editing Picker를 사용하여 기본 쿼리 처리기로 설정하려는 리소스를 선택합니다.
  5. 디렉토리를 선택하면 서버가 해당 디렉토리 또는 디렉토리의 파일용 URL을 수신하는 경우에만 지정한 쿼리 처리기가 실행됩니다.

  6. Default Query Handler 필드에서 선택한 리소스에 대해 기본적으로 사용하려는 CGI 프로그램에 대한 전체 경로를 입력합니다.
  7. OK를 누릅니다.
  8. 변경 사항을 저장 및 적용합니다.


이전      목차      색인      다음     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.