[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를 설정하는 경우에는 웹 어플리케이션에서 서버의 파일시스템에 쉽게 접근할 수 있는 편의성을 주지만 보안에 특히 신경 써야한다. 서버의 파일시스템에 직접 액세스하므로 외부에서 액세스하면 안되는 중요한 파일이나 디렉토리를 포함해서는 안된다. 불특정 다수가 파일시스템에 접근할 수 있는 만큼 권한이 불필요한 공개된 데이터만 해당 파일시스템에 존재해야 한다. 해당 예제에서는 리눅스(경로 구분자 : /)에서 진행을 했지만 경로만 올바르게 설정한다면 윈도우(경로 구분자 : \)에서도 사용이 가능하다.
'OS & Server > Linux' 카테고리의 다른 글
[LINUX] CIFS를 이용한 외부 서버 파일 시스템 접근 (0) | 2023.06.02 |
---|---|
[Apache Tomcat] maxPostSize, maxParameterCount (0) | 2023.03.29 |
[Linux] 리눅스 마운트 디렉토리 경로 변경 (6) | 2023.02.21 |
[Linux] 리눅스에서 쉘 스크립트(Shell Script)로 명령어 실행 (0) | 2023.02.15 |
[Linux] 날짜를 기준으로 생성 및 수정된 파일 찾기 (0) | 2023.01.25 |
댓글