Language's/the linux2011.05.15 11:05
일단 나는 초보다. 

페도라에서 아파치 + 톰캣을 연동하려한다.

a. 우선 아파치의 경우는 리눅스를 설치할 때 패키지를 골랐으면 이미 깔려 있다. 본인은 RPM 으로 확인해 보았다.

[yakmo@fedora yakmo]$ rpm -qa | grep -i http 
httpd-manual-2.0.51-2.9 
libghttp-1.0.9-9.1.1 
system-config-httpd-1.2.0-3 
httpd-2.0.51-2.9 
[yakmo@fedora yakmo]$ 

보는 바와 같이 httpd-2… 버전이 인스톨 되어있는 것을 확인할 수 있다. 

나머지 패키지도 이런 식으로 확인하기 바란다. 다만 톰캣의 경우는 그냥 gz 패키지 같은 것을 푸는 것만으로 설치가 끝나므로 (즉 rpm 패키지가 아니므로) 당연히 나오지 않는다. 

#]yum update httpd 또는 yum install httpd 
이용해서 아파치 업데이트 해준다.
아파치가 설치된 위치 : /etc/httpd
mod_jk.so파일을 /etc/httpd/modules 넣는다.
mod_jk.so파일을 make한는 방법과 그냥 복사하는 방법이 있나보다.
yum을 이용해서 아파치를 설치했다면 복사하는 방법으로..해보자

사실 나는 이 것때문에 엄청 헷갈렸다.
리눅스를 모르다 보니
패키지를 설치된 아파치와 
내가 직접 설치한 아파치 이 두개를 설치하고 
~]service httpd start 또는 apacheclt start 명령으로 아파치를 올리면 
기존 패키지에 있는 아파치가 올라간다. 아마도 실행데몬이 기존에 PATH으로 잡혀있어서 그런거 같긴한데
어째든 아파치는 기존에 설치된 패키지를 이용하면 된다.

톰캣은 아파치 싸이트에 가서 다운(tar.gz)받고 설치한다. 
나는 톰캣6으로 받았다.


더보기






a. 우선 아피치홈의 conf 디렉토리로 가서 workers.properties 파일을 생성하라. 

workers.tomcat_home=/usr/local/tomcat 
workers.java_home=$JAVA_HOME 
ps=/ 
worker.list=default 


worker.default.port=8009 
worker.default.host=localhost 
worker.default.type=ajp13 
worker.default.lbfactor=1 

내용은 간단히 이렇게 정의 해두고 저장하자. 

b. $APACHE_HOME/conf/httpd.conf 파일을 열자.($xxx 는 변수대치이다. 자신의 디렉토리를 넣어라) 

모듈이 나열되어 있는 부분에 
LoadModule jk_module modules/mod_jk.so 

를 추가하여 모듈이 불러질 수 있도록 해주자. 

그리고 mod_jk.so 에 대한 설정을 그냥 httpd.conf 안에 넣겠다. 

섹션 3 이전에 넣어야 한다. 그냥 loadmodue 바로 아래에 넣는 것이 서로 찾기도 편하고 보기도 좋다. 


# Mod_jk settings 


JkWorkersFile "conf/workers.properties" 
JkLogFile "logs/mod_jk.log" 

JkLogLevel error 

JkMount /examples default 
JkMount /examples/* default 

# End of mod_jk settings 

아래와 같이 정의하면 기본설정은 끝이다. 

… 뭐가 이리 간단하냐구? 

사실 위의 설정들은 모두 하기 나름이다. 따로 파이을 특정위치에 만들고 include 하고 등등… 복잡한 과정을 거칠 수 도 있지만 그렇지 않고 위와같이 간단히도 할 수 있다. 초보자를 위한것이라면 위가 쉬우며, 관리자도 위의 경우가 찾기도 쉽고 편하다. 

자 그럼 기동시켜보자.

# /etc/init.d/http start 

아파치를 기동했는데 도메인 어쩌구 저쩌구 영어로 씨부린다면
conf/httpd.conf 파일에 vi에디터로 접근해서 
ServerName localhost 추가해준다.

다음 이제 톰캣을 기동시키자. 

# /usr/tomcat/bin/startup.sh 

자 이제 연동 테스트를 해볼까? 

4. 기본 설정의 valid 테스트 

a. 우선 웹에서 http://xxx.xxx.xxx.xxx .. IP 나 loopback 값으로 접속을 해보자. 
아파치의 스타트 페이지가 뜰 것이다. 

b. 이제 톰캣으로 접근해보자. 
http://xxx.xxx.xxx.xxx:8080 
톰캣은 8080 포트를 열고 있다 그리로 접속하면 된다. 

그러면 고양이 그림이 뜨면서 만약 그 웹 브라우저의 제목이 톰켓으로 제대로 되어있으면 성공이고 만약 이상한 함수로 웹 페이지 .. 브라우저의 창 제목이 정해지면 그건 뭔가 자바 쪽을 읽어 들이지 못한 경우다. (이건… 불여우(파이어폭스)에서는 위와 같이 나왔지만 익스플러에선… 두가지 경우가 모두 같은 결과를 표시했던가? 아무튼 확인해보라.) 

자 그럼 이제 연동되는걸 확인해보자. 연동은 8080 설정 값이 없어도 jsp 쪽으로 잘 처리되는 경우를 의미한다 만약 jsp를 아파치가 읽는다면 제대로 된 결과가 나올 리가 없다. 톰캣이 읽어서 처리할 경우는 결과가 제대로 나온다.(코드등이 아니라..) 

http://xxx.xxx.xxx.xxx/examples/jsp/ 로 갔을 때 페이지가 제대로 뜬고 jsp 코드들이 제대로 동작하면 (값이 제대로 나오면) 기본적인 연동에 성공한 것이다. 축하한다! 


[참고] http://ask.nate.com/qna/view.html?n=7773775
 
Posted by bloomoon iyk