fedora linux 9. webserver setting. (3)

Posted by 겨울에
2011. 2. 14. 23:54 scrap/ Linux

출처 : http://blog.naver.com/hshighabove?Redirect=Log&logNo=120056978819


tomcat,apache 연동은 2가지 방법으로 가능하다.

먼저 jk-jakarta-connecter(이하 jk2)이용하는 방법과

apache의 proxy와 rewrite로 하는 방법이 있다.

먼저 jk2로 설치 해보기로 하자.

 

6.jk2 설치

다운로드는 apache.com에서 찾기가 힘들어 인터넷으로 검색했더니

이곳에 있었다.

http://www.wowunix.com/down/set/tomcat-connectors/jk2/src/

jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz

이파일을 받아 설치를 했다.

압축을 풀고 폴더를 이동 시킨 후 INSTALL 파일에 따라 설치 했더니 가볍게 됐다.

압축을 풀며 상위폴더에 INSTALL 파일은 없다.

따라 설치해보다.

cd ./jk/native2/ <-- 설치 파일이 있는곳

vi INSTALL.txt <--설치 파일을 보자

  $ ./configure --with-apxs2=PREFIX/bin/apxs
  $ make
  $ cd ../build/jk2/apache2
  $ PREFIX/bin/apxs -n jk2 -i mod_jk2.so
위 처럼 나와 있다. 그래도 따라 해보며 된다.

mod_jk2.so 가 /usr/local/apache/modules/ 안에 있는 지 확인 해보고

있다고 하며 다음 진행한다.

LoadModule jk2_module modules/mod_jk2.so <--httpd.conf 에 추가를 한다.

httpd.conf가 있는 폴더에 workers2.properties를 생성하라고 한다.

만들어 보자

vim /usr/local/apache/conf/workers2.properties

[channel.socket:localhost:8009]
port=8009
 host=127.0.0.1
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
[uri:/examples/*] <--jsp 사용할 폴더를 뜻한다. 최상위부터 하고 싶으며 [uri:/*] 이렇게 입력하자
worker=ajp13:localhost:8009

저장 후 tomcat,apache 순으로 실행해보자

http://ip/examples/

아마 이런식으로 메세지가 생겼다며 일단은 apache에서 tomcat으로 넘어간것이다.

HTTP Status 404

..

..

Apache Tomcat/5.5.27

 

오류가 난것을 해결하기 위해서는 server.xml를 세팅을 해야하지만

지금은 오직 웹서버 세팅이니까 다음번에 설명하도록 하겠다.

 

7.proxy,rewrite를 이용한 tomcat,apache 연동

일단 설치 여부를 확인하자.

/etc/init.d/httpd -l

 mod_proxy.c

 mod_rewrite.c
위 두가지가 있다며 다시 설치 하지 않아도 되지만 없다며 apache를 다시 설치해보자

일단은 두가지를 백업을 하자. 물론 안해도 상관은 없지만 쉽게 가기위해서 한다.

cp -R /usr/local/apache/conf/ /tmp <--apache 설정 파일

cp -R /usr/local/apache/modules /tmp <--php,jk2 모듈를 백업

rmdir /usr/local/apache

apache 설치를 할때 proxy와 rewrite 를 추가 해야한다.

하지만 처음에 할 때 하지 않았기 때문에 다시 설치를 하는 것이다.

한번 했으니 설명없이 따라하자.

./configure --prefix=/usr/local/apache --enable-so --enable-proxy --enable-rewrite

make

make install

cp /tmp/conf/*.* /usr/local/apache/conf/

cp /tmp/modules/*.* /usrl/local/apache/modules/

vim /usr/local/apache/conf/httpd.conf

#LoadModule jk2_module         modules/mod_jk2.so <--주석처리

 

ProxyPass /examples/ ajp://localhost:8009/

 

RewriteEngine on <--Rewrite 사용여부 확인
RewriteCond %{REQUEST_FILENAME} .jsp
RewriteRule (.*) ajp://localhost:8009$1 [p]

proxy와 rewrite 부분 자세히 설명하기에는 사실 잘 모른다

그냥 대략적으로 proxy를 이용해서 그냥 폴더는 8009포트가 사용하는 데몬이 컨트롤 한다는 뜻같고

rewirte는 .jsp 파일을 apache가 아니라 tomcat 이 한다는 것 같다.

 

8.tomcat 설정

vim /usr/local/tomcat/conf/server.xml

<Host name="localhost" appBase="/usr/ocal/apache/htdocs/" <--기본폴더를 변경

unpackWARs="true" autoDeploy="true" 
xmlValidation="false" xmlNamespaceAware="false">

<Context path="examples" docBase="examples" reloadble="true" /> <--폴더를 추가

저장

mkdir /usr/ocal/apache/htdocs/examples

vim /usr/ocal/apache/htdocs/examples/test.jsp

<%=out.println("안녕하세요")%>

service httpd stop

/usr/local/tomat/bin/shutdown.sh

/usr/local/tomat/bin/startup.sh

service httpd start

http://ip/examples/test.jsp

 

안녕하세요라도 나오며 성공

 

이렇게 해도 서버 세팅이 마무리 됐다.

혹 궁금하거나 오류나는 부분이 있다 댓글을 남겨주시기를..