98..Etc/Etc...2009. 1. 30. 19:21
반응형

아파치 + 리눅스 + 톰켓 설치(1)

 

JSP에 입문하신 여러분들께 제가 권하고자 하는 JSP엔진은 바로 톰켓입니다.

이 시점에서


'아..네..근데 JSP엔진이뭐죠?'


하고 질문하시는 초강력 울트라 캡숑 나이스 짱 왕초보님이 계실겁니다.

모르는 건 당연합니다. 물론 저도 몰랐었죠.

JSP엔진이라 함은 JSP를 돌리기 위해서 필요한 말 그대로 엔진이라 생각하면 될 겁니다.

자동차가 가려면 자동차엔진이 필요하고, 비행기가 날려면 비행기 엔진이 필요하듯이 말이지요.

ASP가 돌려면 IIS가 필요하고, PHP가 돌려면 PHP를 설치해야 하듯이 말이지요.


' 아니, ASP는 뭐고 IIS는 뭐죠? PHP는 먹는건가요? '


라고 질문하시려 했다면 잠시만 참으세요. 그 정도로만 이해하셔도 충분합니다.

어쨌든 여기서는 JSP엔진으로 톰켓을 설치하게 되는 것입니다.

JSP엔진에도 종류가 여러 가지가 있지요.

Jrun이라든가 resin이라든가, AparchJserv등등등...

참고적으로 Jrun은 돈많이 내고 써야하는 거구요. ApacheJserv는 톰켓의 이전 버전 정도로

생각하시면 될겁니다.

서두가 길었죠? 자, 그럼 설치를 시작해보겠습니다.


1. 리눅스의 설치


여기서 리눅스의 설치는 생략하도록 하겠습니다. 지금은 리눅스보다는 아파치와 톰켓의 설치가

우선적으로 설명이 되어야 하거든요. 어쨌든 시중에 있는 배포본은 매우 설치가 쉽도록

되어있습니다. 많은 분들이 원하신다면 강좌를 올리겠습니다만,

아마도 대부분은 리눅스를 설치하실 수 있으실 겁니다.


2. 아파치의 설치

 제 주위엔 남못지 않은 강력한 초보님들이 꽤나 계시답니다.

한번은 어떤 초보님이 이런 불만을 토하시더군요.
 

'아파치 좀 공부할려고 말이야....., 야후에다가 '아파치'치고 검색했더니,

 맨 무슨 헬기만 나와..!!!

 사오정 검색은 싫어!'


라고 말이지요. 그렇습니다. 우리가 알고 있는 아파치는 탱크잡는 헬기를 말하지요.

그러나 이제부터 여러분께서는 아파치하면 웹서버가 떠올라야 합니다.

인터넷상에서 웹서비스를 하려면 웹서버가 설치되어 있어야 하지요.

지금 바로 그 아파치를 설치하려합니다.


그러면 이제 아파치를 다운 받겠습니다.

http://www.apache.kr.net으로 가시면 Download라고 있을겁니다.

거기서 .tar.gz식으로 끝나는 아파치 최신 버전을 다운받으시기 바랍니다.

.zip으로 끝나는 아파치는 윈도우용이니 여기서는 필요가 없습니다.

리눅스에서 넷스케이프로 받으셨다면 일단 /usr/local/ 밑에 받아놓으시기 바랍니다.

윈도우에서 받으셨다면 ftp로 다른 컴퓨터에 있는 리눅스에 옮기시거나,

리눅스가 본인 컴퓨터에 함께 설치되어 있다면 리눅스에서 mount를 하여

윈도우에 있는 아파치를 리눅스로 옮겨다 놓으시기 바랍니다.


어찌됐던 디리던 디리던던~~

지금까지의 작업으로

리눅스의 /usr/local/ 디렉토리 밑에 apache의 최신버전이 놓여 있어야겠죠?

8월현재 아파치 최신버전은 1.3.12로군요.

자, 이제 리눅스에 root계정으로 들어가시기 바랍니다.

어떻게 들어가냐구요?

login : root

password : ***** (본인 컴퓨터의 root계정 패스워드를 칩니다.)

$>

이런 프롬프트가 뜨면,

$> cd /usr/local

을 칩니다. /usr/local 밑으로 위치를 이동하는 것이지요. 앞에 / 가 붙음에 유의 하세요.

절대경로에는 / 가 붙습니다.

$> ls

치시면 방금 다운받은 aparche가 보이지요.

그럼 아파치의 압축을 풀겠습니다.

$> tar xvzf aparche_1.3.12.tar.Z


치시면 뭐가 쫙 풀리죠? 방금 여러분은 압축되어있던 아파치를 푸신겁니다.

apache_1.3.12라는 디렉토리가 하나 생겼을겁니다.

그러면

$> cd apache_1.3.12

치고 들어가셔셔

$>./configure --prefix=/usr/local/apache  --enable-shared=max  --enable-rule=SHARED_CORE  --enable-module=so


하십니다.(1열로 쫙 붙여쓰세요.) 설치를 위한 환경설정을 하는 것이지요.

앞에 ./치시는거 잊지 마시고요.

./는 현재 경로를 나타내는 말입니다.

그러면 막 환경설정을 알아서 하겁니다.

그럼 이제 설치를 하지요.

$> make

치셔서 컴파일을 하시고

$> make install

치셔서 설치하시면 아파치 설치가 끝납니다.


$> cd /usr/local/apache/conf


로 이동하셔서


$> vi  httpd.conf


파일을 엽니다.

#ServerName을 찾으셔서 앞에 #를 지워서 주석 제거하시고

ServerName localhost

이렇게 씁니다. 혹은 해당아이피나 호스트명을 씁니다.

그런 다음,


$> /usr/local/apache/bin/apachectl start


해서 아파치를 시작하십니다.

브라우저에서 http://localhost 하고 엔터 쳐서 화면이 뜨면 설치 성공입니다.

수고하셨습니다.

그럼 이제 쉬실 분들은 잠시 쉬시고, 톰켓을 설치하도록 하겠습니다.

다 쉬셨으면 다음을 클릭하고 톰켓 설치로 넘어가겠습니다.

다음--> 



아파치 + 리눅스 + 톰켓 설치(2)


잘 쉬셨습니까?

어떤분은 한 하루정도 푹 쉬시고 이 페이지로 오신 분도 계시리라 생각이 듭니다.

아마도 일주일만에 오신 분도 계시겠지요. 쉴땐 팍팍 쉬는겁니다.~

그러면 푹 쉬셨으니 이제 기다리시던 톰켓 설치에 들어가도록 하겠습니다.

 

1. JDK의 설치

 

'톰켓 설치한다며..? 왠 JDK?

라고 말씀하시는 분께는 죄송스런 얘기지만, JDK도 설치를 하셔야합니다.

왜냐? JSP는 아시다시피 JAVA로 이루어진 언어지요. 그런데 그 언어가 돌아가려면

현재의 컴퓨터에 JAVA개발환경이 갖추어져 있어야 합니다.

그래서 필요한 것이 JAVA Development Kit 이라는 것이지요. 줄여서 JDK입니다.


그럼 이제 JDK를 설치하도록 하겠습니다.

http://www.blackdown.org에 가시면 왼쪽에 Download라고 있습니다.

거기로 들어가시면 나라별로 다운로드할 장소가 나오지요.

아무 나라나 선택하셔서 i386이라는 폴더에 들어가셔서

jdk1_2_2-linux-i386.tar.gz를 다운받으시기 바랍니다.

저는 개인적으로 네덜란드를 주로 사용합니다. 우연히 딱 찍은게 네덜란드인데

그런대로 속도가 나오는 것 같더군요.

이래서 괜시리 네덜란드에 대한 이미지가 좋아지게 되는군요.

위치는 역시 /usr/local 밑에 다운받습니다.


$> cd /usr/local/

$> ls


치시면 방금받는 JDK가 보이지요?

역시 압축을 풀도록 하겠습니다.


$> tar xvzf jdk1_2_2-linux-i386.tar.gz


쫙 풀리죠?

전 항상 느끼는 거지만 압축을 풀 때마다 쌓인 스트레스가 해소되는 느낌을 받습니다.

정말 말그대로 쫘~악 하고 풀리니까요.


$> ls


하고 보시면 jdk1_2_2라는 디렉토리가 생겨있는걸 보실 수 있습니다.

사용상의 편의를 위해서 디렉토리의 이름을 바꿉니다.


$> mv   jdk1_2_2   jdk


mv는 이동하라는 명령어인데 jdk1_2_2를 jdk라는 이름으로 이동했으니,

이름바꾸기랑 다를바가 없죠.

이렇게 해서 설치가 끝났습니다. 벌써?

무척 간단하죠? 그냥 다운받고 압축을 푸니 설치가 끝이로군요.

하지만 중요한 것은 jdk를 패스에 추가하는 것입니다.

처음 설치하시는 분께는 여기서부터가 조금 어렵습니다.

부끄럽지만 저도 한 때는 패스라는 개념이 안잡혀서 혼란스러워하던 때가 있었지요.

패스가 path를 말하는 건지 pass를 말하는건지도 헛갈려 했었지요.

'실은 내가 그 수준인데 말이지...'

하시는 분들도 있을겁니다. 제가 여기서 정답을 말씀드리지 않고 넘어가면,

그분께선 남몰래 저를 원망하시겠지요.

그래서 정답을 말씀드리자면, 정답은 path입니다.  패뜨~


자, 일단 현재 권한이 root권한이어야 합니다.

처음에 로긴할 때 root로 로긴했다면 상관이 없구요, 다른 계정으로 로긴했다면


$> su root


를 치시고 패스워드 치셔서 root권한으로 전환하시기 바랍니다.

그럼 이제 위치를 이동하겠습니다.


$>cd /etc


그다음 환경설정을 시작해야겠지요.


$> vi  profile


그럼 파일이 열리지요?

제일 밑에 다음과 같이 적어주시기 바랍니다.

export JAVA_HOME=/usr/local/jdk/
export CLASSPATH=./:$JAVA_HOME/lib/tools.jar:/usr/local/jakarta-tomcat/lib/servlet.jar
export PATH=$PATH:$JAVA_HOME/bin

이렇게 적어주시고
:wq치시고 빠져나오시기 바랍니다.

/usr/local/jakarta-tomcat/lib/servlet.jar

이 부분은 서블릿을 돌리기위해 톰켓의 servlet.jar를 패스에 추가하는 부분입니다.

그럼 이제 지금 바꾼 환경을 적용하도록 하겠습니다.

$> source profile


그럼 환경설정이 끝납니다.

현재 상태에서


$> javac


쳤을 때 뭐라고 쫙 나오면 설치 성공입니다.

명령을 찾을수 없다고 나오면 다시 한번 살펴보시고 설치하시기 바랍니다.

 

2. Tomcat의 설치


드디어 Tomcat을 설치합니다.

이제부터 톰켓이라는 JSP/서블릿 엔진을 설치하도록 하겠습니다.

'서블릿이 모야?'

라고 질문하시겠죠?

간단히 말하자면, 서블릿은 CGI의 자바버전입니다.

'CGI는 또 모냐? 구체적으로 좀 얘기해 달란말이쥐...'

하하... 그래서 제가 준비한 강좌가 또 있습니다.

kimho의 JSP와 서블릿의 개념에 대한 강좌입니다.

지금 너무 궁금해 죽겠다 하시는 분께서는 위 메뉴에서

JSP공부하기를 클릭하셔서 보시구요,

일단 설치부터 마무리 하겠다 하시는 분께서는 남은 설치를 마무리하시고

보시기 바랍니다. 나중에 봐도 늦지는 않거든요.

그럼 이제 톰켓을 다운받으시겠습니다.

http://jakarta.apache.org 에 가시면 왼쪽에 Download가 있습니다.

거기서 Binary를 선택하시고, 오른쪽에 Tomcat3.1이라고 링크되어 있는곳을

클릭하세요. 그런다음 톰켓3.1버전을 다운 받으십니다.

jakarta-tomcat.tar.gz 입니다.

역시 위치는 /usr/local입니다.


그리고 한가지 더..., 다운받는곳의 링크들 밑에 linux와 win32가 있는데, linux로 들어가셔서

mod_jserv.so라는 파일을 받으십니다. 이 파일은 잠시후에 설명하겠지만,

아파치와 톰켓을 붙일 때 사용합니다. 먼소린지 모르시겠죠? 이따 설명이 나옵니다.

만약 다운받은 파일이름이

mod_jserv.so..so

이런식으로 되어 있다면 이름을 제대로 바꾸십니다.


$> mv  mod_jserv.so..so   mod_jserv.so


자, 이제 언제나 그랬듯이 압축을 쫘~악 풀도록 하겠습니다.


$> tar xvzf jakarta-tomcat.tar.gz


오~예~ 해소되는 기분...


그러면 /usr/local 밑에 jakarta-tomcat이라는 디렉토리가 생겼을 것입니다.

디렉토리 이름을 꼭 jakarta-tomcat으로 해주세요. 이 강좌는 이 이름을 바탕으로 썼습니다.

기뻐해 주십시요. 톰켓의 설치가 끝났습니다.

언제나 기쁜일은 부지불식간에 오는 것 같습니다...^^


그럼 이제 테스트를 해볼까요?


$> cd /usr/local/jakarta-tomcat/bin

$> ./startup.sh


이렇게 톰켓을 시동시킨후,

브라우저창에서 http://localhost:8080으로 접속하시기 바랍니다.

톰켓의 기본 포트는 8080입니다.

지금 현재 윈도우에서 리눅스로 텔넷 접속으로 설치중이신 분은

브라우저에서 아무리 http://localhost:8080치셔도 안나오겠죠?

localhost 란 자기 자신의 주소를 가리키는거지깐요.

리눅스상태에서 http://localhost:8080으로 접속하십니다.

혹은 윈도우상에서 리눅스쪽의 상태를 확인하시려면

http://아이피주소:8080이겠죠? 예를들면 http://211.11.11.11:8080 이 되겠죠?

고양이 한 마리가 보이면 성공입니다.

축하드립니다.


아파치와 톰켓을 붙이자

 

아파치와 톰켓을 붙이는 이유

아파치를 설치하지 않고, 톰켓만 설치해도 톰켓의 index페이지는 뜹니다.
다시말해, 톰켓만 설치하고 웹서비스를 하는게 가능하다는 얘기입니다.
그렇다면 어째서 아파치와 연동하는 것일까요?
웹서버의 기능에서 아파치가 월등히 우수합니다.
현재 전 세계적으로 웹서버 시장의 60%를 아파치가 점유하고 있습니다.
그만큼 강력하다는 것이지요.
직접 써보시다보면 아시겠지만, 아파치의 탁월한 기능에 대해 놀라지 않을수가 없습니다.
아파치와 톰켓을 연동했을때 돌아가는 구조는 이렇습니다.
일반적인 웹서비스는 성능이 우수한 아파치를 통해서 합니다.
그런데 그중에서 jsp와 관련된 요청이 들어오면 아파치는 jserv모듈을 이용하여 톰켓과 연동하여 결과물을 가져옵니다.
클라이언트 + 아파치 + 톰켓의 3Tier구조가 되는 것이지요.

웹서비스의 기본포트는 80입니다. 포트번호를 치지 않고

http://www.kimho.pe.kr 이라고 치는 것은 실은

http://www.kimho.pe.kr:80하고 같은 것이지요.

톰켓에서는 아파치와 톰켓을 붙일 때 사용하는 파일로 mod_jserv.so라는 모듈을 제공합니다.

아까 다운받으신 mod_jserv.so라는 파일을

/usr/local/apache/libexec/ 밑으로 옮기십니다.


$> cp /usr/local/mod_jserv.so  /usr/local/apache/libexec/


그런다음


$> cd /usr/local/apahce/conf


로 이동하셔서


$> vi  httpd.conf


이 httpd.conf라는 아파치 설정 파일을 열어서 젤 밑에다가

Include /usr/local/jakarta-tomcat/conf/tomcat.conf

이렇게 쓰십니다. 웹서비스의 환경설정에 tomcat.conf에 있는 환경설정도 함께

적용된다는 뜻입니다.

톰켓의 conf디렉토리의 tomcat.conf도 여셔서

ApJservMount default /root 라고 되어있는 부분 밑에

ApJservMount   /    /root

이렇게 추가시켜주세요.

이제 80포트로 접속시에도 톰켓의 디렉토리를 뒤져서 화면상에 보여주게 됩니다.

테스트를 해볼까요?


$> /usr/local/apache/bin/apachectl start


로 아파치를 스타트 시키시고,

http://localhost/examples

쳐서 내용이 나오면 성공입니다. 8080이라는 포트번호를 쓰지 않아도 결과가 보이니까요.


 '어째서 http://localhost라고 테스트 하지 않는거지?'

하고 의문을 품으시는 상당히 예리하신 분이 계시죠? 정말 예리하십니다.

이유는  http://localhost로 접속시 아파치에서는 디폴트로 index.html이라는

파일을 열도록 설정되어 있는데, 아파치의 웹서비스 디렉토리에 이미 이 파일이 있기 때문에

설정 전이나 후나 결과는 같은 index.html을 보여주기 때문입니다.


이렇게 해서 모든 설치를 마쳤습니다.

이제부터는 본격적으로 프로그램을 짜고, 공부를 해야겠지요.

JSP파일은 톰켓의 ROOT디렉토리 밑에 놓으시면 됩니다.

수고하셨습니다.

Posted by 1010