2010년 8월 11일 수요일

톰켓에서 일부 폴더(common, bin, webapps 등) 접근 (404 에러) 이슈

톰켓에서 일부 폴더 (common, bin, webapps, server)가

접근이 안되고 404에러가 나는 경우가 있다.

 

이유는 간단한다.

 

보통 서버 설정시에 가상호스트를 많이 사용하는데

 

<Host name="dev.domain.com">
   <Context path=""
    docBase="/data/homepage/domain"      
          reloadable="true"
          debug="true">
         </Context>
   <Alias>dev.domain.com</Alias>
  </Host>

 

이렇게들 많이 설정할 것이다.

 

이렇게 되면 Host의 appBase 속성이 빈 문자열이 되면서

자동적으로 $TOMCAT_HOME 를 바라보게 된다.

 

이로인해 $TOMCAT_HOME 하단 폴더를 먼저 바라보는 기이한 현상이 일어나게 된다.

ex) common, bin, webapps, server, conf, logs, shared, temp, work 등

 

고로 Host의 appBase 속성을 꼭 지정하도록 한다

본인은 그냥 webApps로 지정하였다.

 

<Host name="dev.domain.com" appBase="webapps">
   <Context path=""
    docBase="/data/homepage/domain"      
          reloadable="true"
          debug="true">
         </Context>
   <Alias>dev.domain.com</Alias>
  </Host>

 

* 되도록이면 지정하는 폴더는 내부에 아무런 내용이 없는 것으로 하는 것이 좋다.

그래야 또 겹치는 폴더가 없으므로 ㅇㅇ

 

 

* 참고로 본인이 개발한 환경은 apache2 + tomcat5.5 + mod_jk 연동에서 난 오류 이므로 버전이 다르거나 연동하지 않는 경우에는 어떻게 될련지 모릅니다.

 

 

이것 때문에 4시간 삽질한게 자랑 ㅠ

apache usage경로(폴더) 접근제한(403 forbidden) 이슈

 

아파치 설치 경로가 /etc/httpd 라고 할 경우

 

/etc/httpd/conf.d/webalizer.conf 파일 내용에

 

Alias /usage /var/www/usage

<Location /usage>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    # Allow from .example.com
</Location>

 

이런 내용이 가상 디렉토리로 잡아서 생기는 문제이다

이 부분을 주석처리 하면 된다.