본문 바로가기
OS & Server/Linux

[Apache Tomcat] Context docBase를 이용하여 웹 어플리케이션에서 파일 시스템 접근

by 주리니e 2023. 6. 2.
728x90

[Apache Tomcat] Context docBase를 이용하여 

웹 어플리케이션에서 파일 시스템 접근

 

 

Apache Tomcat에서 Context의 docBase는 웹 어플리케이션의 기본 디렉토리 경로를 지정하는데 사용된다. 이를 통해 웹 어플리케이션에서 해당 경로에서 파일시스템에 접근하여 리소스를 찾을 수 있다. 예를 들어 리눅스 파일 시스템의 /data/image 라는 디렉토리안에 여러 이미지 파일들을 넣으면 웹 어플리케이션에서 경로에 있는 이미지 파일들에 접근이 가능한 것이다. Context docBase를 이용하면 웹 어플리케이션에서 따로 소스코드를 작성하여 파일시스템 접근하는 불편함을 없애준다. 아래 코드를 이용하여 확인해보자.

 

 

  • 디렉토리 생성
$ mkdir /data/image

 

 

  • 웹 어플리케이션에서 접근할 이미지
$ cd /data/image
$ ls -al
-rwxr-xr-x. 1 tomcat tomcat    11212 Dec  5 17:12 dog.jpg

 

 

  • Apache Tomcat의 server.xml 설정

톰캣 홈 디렉토리에서 conf 디렉토리로 이동한 후 server.xml 파일을 수정한다. Host 태그안에 Context 태그를 넣는다.
docBase 속성은 실제 디렉토리 경로를 나타내며 톰캣 서버에서 리소스를 로드한다.  path속성은 웹 어플리케이션에 대한 URL경로를 나타낸다.

# Apache Tomcat Conf 디렉토리 이동
$ cd /usr/share/tomcat9/conf

$ vi server.xml
...
<Host name="localhost"  appBase="webapps">
	...
	<Context docBase="/data/image" path="/app/image" reloadable="true"/>
</Host>
...

 

 

  • 주의할 점

Apache Tomcat의 Context docBase를 설정하는 경우에는 웹 어플리케이션에서 서버의 파일시스템에 쉽게 접근할 수 있는 편의성을 주지만 보안에 특히 신경 써야한다. 서버의 파일시스템에 직접 액세스하므로 외부에서 액세스하면 안되는 중요한 파일이나 디렉토리를 포함해서는 안된다. 불특정 다수가 파일시스템에 접근할 수 있는 만큼  권한이 불필요한 공개된 데이터만 해당 파일시스템에 존재해야 한다. 해당 예제에서는 리눅스(경로 구분자 : /)에서 진행을 했지만 경로만 올바르게 설정한다면 윈도우(경로 구분자 : \)에서도 사용이 가능하다.

728x90

댓글