다음 이전 차례

3. 설치

GNUJSP를 설치하기에 앞서 아파치와 JServ가 제대로 설치되어 있어야 한다. 만일 그렇지 않다면 아파치와 JServ를 먼저 설치하고 동작하는 것을 확인하기 바란다.

가장 먼저 할 일은 GNUJSP를 설치할 위치를 정하는 것이다. /usr/local/gnujsp에 설치하기로 했다면 /usr/local에서 압축을 풀고, 생성된 디렉토리(gnujsp-1.0.0)를 gnujsp로 바꾸어 주면 된다. 이 글에서는 /usr/local/gnujsp-1.0.0에 설치된 것으로 가정하겠다.

JSP 파일은 자바 파일로 변경된 후 컴파일 과정을 거쳐 자바 바이트코드(.class 파일)로 저장된다. 그러므로 이 파일들을 저장할 디렉토리를 만들어 줄 필요가 있다. 이 디렉토리는 반드시 웹써버 사용자(대부분의 경우 nobody)가 읽고 쓸 수 있어야 한다. /usr/local/apache/jsp에 만든다면 다음과 같이 한다.

# mkdir /usr/local/apache/jsp
# chown nobody:nobody /usr/local/apache/jsp

대개의 경우 웹써버 사용자에게 권한을 주기 위해서는 수퍼유저(root)의 권한이 필요하다.

이제 설정 파일들을 수정할 차례이다. GNUJSP도 써블릿이므로 기존의 써블릿 존을 만들어 놓았다면 그 곳에 추가해서 사용하면 된다. 그 경우 아래의 jsp.properties에 추가되는 내용을 GNUJSP를 설치하고자 하는 존의 properties 파일에 추가해 주면 된다. 기존의 존을 사용하지 않고 새로운 존을 만들고자 한다면 설정 파일을 새로 만들어야 한다. 가장 쉽게 설정 파일을 만드는 방법은 기존에 JServ를 설치하고 시험하면서 사용한 .properties 파일을 복사하는 것이다. 이를 jsp.properties란 이름으로 복사하자. 이 파일 안을 들여다보면 repositories를 정의하고 있는 부분이 있을 것이다. 여기에 GNUJSP에서 제공하는 클래스들을 사용할 수 있도록 다음 두 줄을 추가한다.

repositories=/usr/local/gnujsp-1.0.0/lib/gnujsp10.jar
repositories=/usr/local/gnujsp-1.0.0/lib/servlet-2.0-plus.jar

디렉토리는 실제로 GNUJSP가 설치된 곳에 맞도록 바꾸어 주어야 한다. 다음으로 같은 파일에서 Servlet Aliases를 정의하고 있는 곳을 찾아 다음 두 줄을 추가해 준다.

servlet.gnujsp.code=org.gjt.jsp.JspServlet
servlet.gnujsp.initArgs=
    checkclass=true,
    pagebase=/usr/local/apache/htdocs,
    gnujspdir=/usr/local/gnujsp-1.0.0,
    scratchdir=/usr/local/apache/jsp,
    debug=true,
    compiler=builtin-javac -encoding KSC5601
        -classpath %classpath%:%scratchdir%:
        /usr/local/gnujsp-1.0.0/lib/servlet-2.0-plus.jar:
        /usr/local/gnujsp-1.0.0/lib/gnujsp10.jar -d %scratchdir%
         -deprecation %source%

servlet.gnujsp.initArgs= 이하는 굉장히 길지만 모두 한 줄에 들어갈 내용이다. 위의 내용 중 pagebase로 정의한 디렉토리는 아파치에서 DocumentRoot로 정의해 준 디렉토리를 써 주면 된다. encoding을 KSC5601로 한 것은 JSP 파일에서 한글을 사용할 경우를 고려해서이므로 한글을 쓰지 않으면 써 주지 않아도 무방하고, 다른 언어를 사용한다면 해당 언어에 맞는 인코딩 이름으로 바꾸어 주어야 한다.

이것으로 jsp.properties는 완료되었다. 기존의 존을 사용하지 않고 새로 jsp 존을 추가했다면 실제로 jsp를 JServ가 존으로 인식할 수 있도록 jserv.properties와 jserv.conf를 고쳐주어야 한다. jserv.properties에는 다음을 추가한다.

zones=root,jsp
jsp.properties=/path/to/jsp.properties

zones 부분은 이미 사용하고 있는 존의 이름이 적혀 있을 것이다. 거기에 jsp를 추가하면 된다. 경로는 실제로 jsp.properties가 있는 곳을 가리킬 수 있도록 고쳐 주기 바란다. 그리고 jserv.conf에는 다음 두 줄을 추가한다. 기존의 존을 사용한다면 ApJServAction만을 추가하면 된다.

ApJServMount /jsp /jsp
ApJServAction .jsp /jsp/gnujsp

모든 설정이 끝났으므로 웹써버를 다시 실행시켜 변경된 내용을 반영시키면 된다.


다음 이전 차례