본문 바로가기
Apache,Tomcat

Apache Tomcat 연동하기 - 3.Root 설정,연동페이지,image,css 오류

by nomore7 2013. 11. 7.


Apache와 Tomcat을 연동한 이후,ROOT 경로를 합리적으로 설정해야

제대로 연동했다고 할 수 있습니다.

일단 Apache와 Tomcat을연동하였다면 잘 설치되었는지 확인해야합니다.

예를들어 로컬에 설치하였다면


라고 입력하였을때 It works!

라는 창이 떠야하고


라고 입력하였을때


과 같은 결과가 나와야 합니다.

만약 Text는 같지만 css와 image가 보이지 않는다면 연동은 됬지만 ROOT디렉토리가 서로 다르게 설정되어 발생하는 문제입니다.

보통 mod_jk를 설정할때 확장자를 선택하여 어떤 확장자에 대해서 jk모듈을 이용하여 , Tomcat으로 보낼지를 결정하게 됩니다.

이때 둘 사이의 ROOT 디렉토리가 다르기때문에 문제가 발생합니다.

.jsp 파일인 index.jsp는 tomcat으로 넘기지만  index.jsp에 포함되는 css파일과 이미지들은 Apache에서 처리하려하게 되고,
이는 Apache ROOT 디렉토리에 없기때문에 로드되지 않는 것입니다.

이를 해결하기 위해 둘의 Root 디렉토리를 같이 설정해야 합니다.

Apache에서 Root 디렉토리를 설정하기 위해서는 

아파치/conf/httpd.conf 를 수정해야합니다.

DocumentRoot라는 곳을 찾아 원하는 공통 Root 디렉토리를 지정합니다.

ex ) DocumentRoot "/opt/ext/web/" 

Tomcat 역시 수정해야합니다.

Tomcat 5.5기준으로(대부분 5.5이상을 설치하실것이라고 생각합니다)

톰캣/conf/Catalina/localhost/ 경로로 이동합니다.

해당 경로에서 ROOT.xml 파일을 생성합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Context
    docBase="/opt/ext/web/"
    debug="0"
    privileged="true"
    reloadable="true">
</Context>

마찬가지로 docBase = "" 부분에 같은 경로로 적고 저장합니다.


이제 실제로 해당경로에 파일을 옮겨 놓습니다.

기본 apache 홈으로 설정된
아파치/htdocs 의 index.html 을 복사하여 새로운경로 (예 /opt/ext/web/)로 복사합니다.

기본 tomcat 홈으로 설정된 
톰캣/work/ROOT의 파일을 전부 복사하여 새로운경로 (예 /opt/ext/web/)로 복사합니다.


이제 양쪽의 ROOT 디렉토리를 같게 맞췄기 때문에 apache와 tomcat를 재시작합니다.

그리고 다시


를 통해 모두 잘 처리함을 확인 할 수 있습니다.

이상입니다 !