아파치 톰캣 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
'''아파치 톰캣'''(Apache Tomcat)은 [[아파치 재단]]에서 제공하는 [[공개 소프트웨어]] [[웹 애플리케이션 서버]](WAS)이다. 톰캣(Tomcat)이란 수고양이를 의미한다. 아파치 톰캣 소프트웨어는 개방적이고 참여적인 환경에서 개발되었으며 [[아파치 라이센스]] 버전 2로 배포된다. 아파치 톰캣 프로젝트는 전 세계의 최고의 개발자들과 협력하기 위한 것이다. 참여 규칙은 [http://tomcat.apache.org/getinvolved.html 이곳]에 나와 있다. | '''아파치 톰캣'''(Apache Tomcat)은 [[아파치 재단]]에서 제공하는 [[공개 소프트웨어]] [[웹 애플리케이션 서버]](WAS)이다. 톰캣(Tomcat)이란 수고양이를 의미한다. 아파치 톰캣 소프트웨어는 개방적이고 참여적인 환경에서 개발되었으며 [[아파치 라이센스]] 버전 2로 배포된다. 아파치 톰캣 프로젝트는 전 세계의 최고의 개발자들과 협력하기 위한 것이다. 참여 규칙은 [http://tomcat.apache.org/getinvolved.html 이곳]에 나와 있다. | ||
==개요== | ==개요== | ||
흔히 사용하는 | 흔히 사용하는 웹페이지는 [[아파치]]와 톰캣으로 이루어져 있다. 리눅스 서버를 만들거나 웹서버를 만들다 보면, 아파치 톰캣을 설치하라고 하며, [[아파치]](Apache)와 톰캣(Tomcat)의 기능과 차이를 아는 것 또한 중요하며, 동적(dynamic)인 웹을 만들기 위한 웹 컨테이너, 서블릿 컨테이너라고 불리며, 웹서버에서 정적으로 처리해야 할 데이터를 제외한 [[JSP]], [[ASP]], [[PHP]] 등은 웹 컨테이너(톰캣)에 전달한다. 톰캣을 사용하면 동적인 데이터 처리가 가능하며, [[DB]] 연결, 데이터 조작, 다른 응용프로그램과 상호 작용이 가능하다. 8080 포트로 처리된다. 톰캣이 [[아파치]] 기능을 일부 가져오기 때문에 합쳐 부른다. | ||
==역사== | ==역사== | ||
톰캣은 선 마이크로시스템즈의 소프트웨어 설계자인 제임스 덩컨 데이비슨에 의한 서블릿 참조 구현으로 출발했다. 그는 이후 이 프로젝트를 오픈소스화하는 데 도움을 주었으며 선 마이크로시스템즈가 아파치 소프트웨어 재단에 기부하는 데 핵심적인 역할을 했다. 아파치 앤트 소프트웨어 빌드 자동화 툴은 오픈 소스 프로젝트로 톰캣을 만든 것의 부작용으로서 개발되었다. 데이비슨은 처음에 이 프로젝트가 오픈소스가 되기를 바랐고 많은 오픈소스 프로젝트들이 O'Reilly와 관련된 책들을 가지고 있었기 때문에 그는 이 프로젝트의 이름을 동물의 이름을 따서 짓기를 원했다. 그는 톰캣이 자신을 지탱할 수 있는 무언가를 상징한다고 생각했기 때문에 톰캣을 생각해냈다. 톰캣은 이미 또 다른 오렐리 타이틀을 위해 사용되고 있었지만, 2003년 오렐리가 눈표범과 함께 톰캣 책을 출판하면서 동물 표지를 보고 싶은 그의 소망은 결국 실현되었다.<ref name="아파치 톰캣">Apache Tomcat Wikipedia - https://en.wikipedia.org/wiki/Apache_Tomcat#Web_application</ref> | 톰캣은 선 마이크로시스템즈의 소프트웨어 설계자인 제임스 덩컨 데이비슨에 의한 서블릿 참조 구현으로 출발했다. 그는 이후 이 프로젝트를 오픈소스화하는 데 도움을 주었으며 선 마이크로시스템즈가 아파치 소프트웨어 재단에 기부하는 데 핵심적인 역할을 했다. 아파치 앤트 소프트웨어 빌드 자동화 툴은 오픈 소스 프로젝트로 톰캣을 만든 것의 부작용으로서 개발되었다. 데이비슨은 처음에 이 프로젝트가 오픈소스가 되기를 바랐고 많은 오픈소스 프로젝트들이 O'Reilly와 관련된 책들을 가지고 있었기 때문에 그는 이 프로젝트의 이름을 동물의 이름을 따서 짓기를 원했다. 그는 톰캣이 자신을 지탱할 수 있는 무언가를 상징한다고 생각했기 때문에 톰캣을 생각해냈다. 톰캣은 이미 또 다른 오렐리 타이틀을 위해 사용되고 있었지만, 2003년 오렐리가 눈표범과 함께 톰캣 책을 출판하면서 동물 표지를 보고 싶은 그의 소망은 결국 실현되었다.<ref name="아파치 톰캣">Apache Tomcat Wikipedia - https://en.wikipedia.org/wiki/Apache_Tomcat#Web_application</ref> | ||
==종류== | |||
===아파치=== | |||
[[아파치]](Apache) 소프트웨어 재단에서 오픈 소스로 라이선스에 따라 배포되어 자신의 마음대로 사용할 수 있는 Http 웹 서버이다. 오픈소스 커뮤니티에서 만든 서버를 통틀어 아파치 서버로 불러온다. 웹서버는 클라이언트의 요청을 기다리고, 요청에 대한 데이터를 만들어서 응답하는 역할을 한다. 이때의 데이터는 정적인 데이터인 [[html]], [[css]], 이미지 등으로 한정된다. | |||
===톰캣=== | |||
가장 일반적이면서, 많이 사용되고있는 [[WAS]](웹 애플리케이션 서버)이다.[[WAS]]는 컨테이너, 웹 컨테이너, 서블릿 컨테이너라고도 부르며, 웹서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하며 다양한 역할을 수행한다. 웹 컨테이너는 클라이언트의 요청이 있을 때 내부 프로그램을 통해 결과를 만들어내고 이곳을 다시 클라이언트에게 돌려주는 역할을 한다. | |||
===차이점=== | |||
그 이유는 목적이 다르기 때문이며 웹 서버는 정적인 데이터를 처리하는 서버이다. 이미지나 단순 [[html]] 파일과 같은 리소스를 제공하는 서버는 웹 서버를 통하면 [[WAS]]를 이용하는 것보다 빠르고 안정적이다. [[WAS]]는 동적인 데이터를 처리하는 서버이며 DB와 연결되어 데이터를 주고받거나 프로그램으로 데이터 조작이 필요한 경우에는 [[와스]]를 활용해야 한다. | |||
===아파치 톰캣이라 불리는 이유=== | |||
톰캣에서 [[아파치]]의 기능(웹서비스데몬, Httpd<ref name="Httpd">HTTP 데몬(HTTP Daemon)의 준말으로, 웹 서버의 백그라운드에서 실행되어, 들어오는 서버 요청을 대기하는 소프트웨어 프로그램이다.</ref>)를 포함하고 있기 때문에. 그렇지만 톰캣이 [[아파치]]의 모든 기능을 포함하고 있는 것은 아니며, 보통 [[아파치]] 톰캣이라 부를때 톰캣 앞에 [[아파치]]가 붙는 이유는 많은 개발자가 어플리케이션 서버를 톰캣으로 이용하는 경우, 스태틱 파일인 [[CSS]], [[JS]], [[HTML]], 이미지는 톰캣앞에 [[아파치]] 웹 서버인 Httped를 두어 처리하며, 외부 요청은 Apache Httpd<ref name="Httpd" />가 받고, 톰캣 내에서 처리할 자바 애플리케이션만 톰캣으로 다시 전달해서 처리하고 그 외의 리소스는 Apache Httpd<ref name="Httpd" />가 직접 처리하게 만들어야 성능이 좋다고 생각하였기에 [[아파치]]가 앞에 붙게 되었다. | |||
==특징== | ==특징== | ||
기본적으로 톰캣은 | 기본적으로 톰캣은 서블릿 및 자바 서버 페이지 컨테이너이다. 자바 서블릿은 코드와 비즈니스 로직을 캡슐화하고 요청과 응답을 자바 서버에서 처리하는 방법을 정의한다. 자바 서버 페이지는 서버 측 뷰 렌더링 기술이다. 개발자는 서블릿 또는 자바 서버 페이지의 페이지를 작성한 다음 톰캣이 라우팅을 처리하도록 한다. 톰캣에는 웹 서버인 코요테 엔진도 포함되어 있다. 코요테 덕분에 Java Persistence API(JPA)를 비롯한 다양한 자바 엔터프라이즈 사양과 기능을 포함하도록 톰캣을 확장할 수 있다. 톰캣에는 또한 TomEE라는 확장된 버전이 있으며, 이는 더 많은 엔터프라이즈 기능을 포함한다. 서블릿 컨테이너는 사용자 입장에서 서블릿을 유지하고 호출하여 실행하는 쉘이다. 톰캣은 크게 3가지로 컨테이너로 구분한다.<ref name="infoworld">Matthew Tyson, 〈[https://www.infoworld.com/article/3510460/what-is-apache-tomcat-the-original-java-servlet-container.html What is Tomcat? The original Java servlet container]〉, 《infoworld》, 2019-12-19</ref> | ||
===Stand-alone servlet containers=== | |||
내장된 웹서버의 기능을 사용하는 것이며, 기능 면에서 자바 웹서버의 부분인 서블릿 컨테이너와 자바 근간의 웹 서버를 사용한다. | 내장된 웹서버의 기능을 사용하는 것이며, 기능 면에서 자바 웹서버의 부분인 서블릿 컨테이너와 자바 근간의 웹 서버를 사용한다. | ||
===In-process servlet containers=== | |||
서블릿 컨테이너는 웹서버 플러그인과 자바 컨테이너를 구현하며, 웹서버 플러그인은 웹서버의 주소 공간 내에 JVM을 열고 그 안에 자바 컨테이너가 실행되도록 한다. 다중 스레드의 단일 프로세스 서버에 적당하고 퍼포먼스도 좋긴 하나 확장성의 한계가 있다. | 서블릿 컨테이너는 웹서버 플러그인과 자바 컨테이너를 구현하며, 웹서버 플러그인은 웹서버의 주소 공간 내에 JVM을 열고 그 안에 자바 컨테이너가 실행되도록 한다. 다중 스레드의 단일 프로세스 서버에 적당하고 퍼포먼스도 좋긴 하나 확장성의 한계가 있다. | ||
===Out-of-process servlet containers=== | |||
웹서버 플러그인과 웹서버의 외부 JVM에서 실행하는 JAVA 컨테이너 구현하였으며, 웹서버 플러그인과 자바 컨테이너 JVM은 몇몇 IPC<ref>TCP/IP 소켓</ref>를 사용해서 통신 Out-of-process 엔진의 반응 시간은 in-process만큼 좋지 않지만, out-of-process 엔진은 확장성과 안전성 면은 In-process보다 좋다. | 웹서버 플러그인과 웹서버의 외부 JVM에서 실행하는 JAVA 컨테이너 구현하였으며, 웹서버 플러그인과 자바 컨테이너 JVM은 몇몇 IPC<ref>TCP/IP 소켓</ref>를 사용해서 통신 Out-of-process 엔진의 반응 시간은 in-process만큼 좋지 않지만, out-of-process 엔진은 확장성과 안전성 면은 In-process보다 좋다. | ||
==구성 요소== | ==구성 요소== | ||
'''카탈리나''' | *'''카탈리나''' | ||
:카탈리나는 톰캣의 서블릿 컨테이너다. 카탈리나는 서블릿과 자바 서버 페이지(JSP, JAVA Server Page)에 대한 선 마이크로시스템즈의 사양을 구현한다. 톰캣에서 영역 요소는 해당 사용자에게 할당된 사용자 이름, 암호 및 역할의 "데이터베이스"를 나타낸다(유닉스 그룹과 유사함). 서로 다른 영역의 구현은 카탈리나를 그러한 인증 정보가 이미 생성되고 유지되고 있는 환경에 통합한 다음, 서블릿 규격에 설명된 대로 컨테이너 관리 보안을 구현하는 데 사용할 수 있게 한다. | |||
*'''코요테''' | |||
:코요테는 웹서버로서 HTTP 1.1 프로토콜을 지원하는 톰캣용 커넥터 컴포넌트다. 이것은 명목상 자바 서블릿 또는 자바 서버 페이지 컨테이너인 카탈리나가 HTTP 문서로서 로컬 파일을 제공하는 평범한 웹 서버 역할도 할 수 있게 해준다. 코요테는 특정 TCP 포트의 서버로 들어오는 연결을 청취하고 톰캣 엔진에 요청을 전달하여 요청을 처리하고 요청 클라이언트에 응답을 다시 보낸다. 또 다른 코요테 커넥터인 코요테 JK는 비슷하게 듣지만 대신 JK 프로토콜을 사용하여 아파치와 같은 다른 웹 서버에 요청을 전달한다. 이것은 보통 더 나은 성능을 제공한다. | |||
*'''재스퍼''' | |||
:재스퍼는 톰캣의 자바 서버 페이지 엔진이다. 재스퍼는 자바 서버 페이지 파일을 구문 분석하여 서블릿으로 자바 코드로 컴파일한다. 재스퍼는 런타임에 자바 서버 페이지 파일의 변경 사항을 감지하여 다시 컴파일한다. | |||
* | :*'''자바 서버 페이지 태그 라이브러리 풀링''' | ||
::자바 서버 페이지 파일의 각 태그 표시는 태그 처리기 클래스에 의해 처리된다. 태그 핸들러 클래스 객체는 풀링하여 전체 자바 서버 페이지 서블릿에 재사용할 수 있다. | |||
''' | :*'''백그라운드 자바 서버 페이지 컴파일''' | ||
::수정된 자바 서버 페이지 자바 코드를 다시 컴파일하는 동안 서버 요청에 대해 이전 버전을 계속 사용할 수 있음 이전 자바 서버 페이지 서블릿은 새로운 자바 서버 페이지 서블릿의 재컴파일 작업이 완료되면 삭제된다. | |||
* | :*'''자바 개발 도구 자바 컴파일러 ''' | ||
::재스퍼 2는 앤트와 자바 대신 이클립스 자바 개발 도구(JDT, Java Development Tools) 자바 컴파일러를 사용할 수 있다. | |||
''' | :*'''클러스터''' | ||
::이 구성요소는 대형 응용프로그램을 관리하기 위해 추가되었다. 그것은 많은 기법을 통해 달성할 수 있는 부하 분산에 사용된다. 클러스터링 지원에는 현재 JDK 버전 1.5 이상이 필요하다. | |||
* | :*'''고가용성''' | ||
::실시간 환경에 영향을 주지 않고 시스템 업그레이드(예: 새로운 릴리스, 변경 요청) 일정을 쉽게 예약할 수 있도록 고가용성 기능이 추가되었다. 이것은 메인 서버가 메인 포트에서 업그레이드되는 동안 다른 포트의 임시 서버에 라이브 트래픽 요청을 전송함으로써 이루어진다. 트래픽이 많은 웹 애플리케이션에서 사용자 요청을 처리하는 데 매우 유용하다. | |||
'''고가용성''' | |||
:*'''웹 애플리케이션''' | |||
::다양한 환경 전반에 걸친 배포 지원을 추가하기 위해 시스템 기반 웹 애플리케이션 개선뿐만 아니라 사용자도 추가했다. 네트워크 전체의 애플리케이션뿐만 아니라 세션 관리도 시도한다. 아파치 톰캣과 함께 많은 추가 구성요소를 사용할 수 있다. 이러한 구성요소는 사용자가 필요한 경우 또는 미러 중 하나에서 다운로드할 수 있는 경우에 제작할 수 있다.<ref name="아파치 톰캣" /> | |||
==버전== | ==버전== | ||
{| class="wikitable sortable" style="margin:auto; margin:0 0 0 2em;" | {| class="wikitable sortable" style="margin:auto; margin:0 0 0 2em;" | ||
|+아파치 톰캣 버전 | |||
|- | |- | ||
!시리즈 | !시리즈 | ||
67번째 줄: | 55번째 줄: | ||
!최신 릴리즈 | !최신 릴리즈 | ||
!최신 릴리즈 날짜 | !최신 릴리즈 날짜 | ||
!끝난 날짜 | !끝난 날짜 | ||
|- | |- | ||
|2.0 | |2.0 | ||
78번째 줄: | 66번째 줄: | ||
|3.0 | |3.0 | ||
|1999 | |1999 | ||
|최초 공개. 기증된 선 자바 웹 서버 코드와 ASF 및 구현 서블릿 2.2 및 자바 서버 페이지 1.1 규격의 병합. | |최초 공개. 기증된 선 자바 웹 서버 코드와 ASF 및 구현 서블릿 2.2 및 자바 서버 페이지 1.1 규격의 병합. | ||
|3.3.2 | |3.3.2 | ||
|2004-03-09 | |2004-03-09 | ||
87번째 줄: | 75번째 줄: | ||
|서블릿 2.3 및 자바 서버 페이지 1.2 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | |서블릿 2.3 및 자바 서버 페이지 1.2 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | ||
|4.1.40 | |4.1.40 | ||
| 2009-06-25 | |2009-06-25 | ||
| | | | ||
|- | |- | ||
94번째 줄: | 82번째 줄: | ||
|서블릿 2.4, 자바 서버 페이지 2.0 및 EL 1.1 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | |서블릿 2.4, 자바 서버 페이지 2.0 및 EL 1.1 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | ||
|5.0.30 | |5.0.30 | ||
| 2004-08-30 | |2004-08-30 | ||
| | | | ||
|- | |- | ||
|5.5 | |5.5 | ||
|2004-11-10 | |2004-11-10 | ||
|J2SE 5.0용으로 설계됨. 이클립스 자바 개발 도구를 포함하면 톰캣은 완전한 자바 개발 키트를 설치하지 않고도 실행할 수 있다. | |J2SE 5.0용으로 설계됨. 이클립스 자바 개발 도구를 포함하면 톰캣은 완전한 자바 개발 키트를 설치하지 않고도 실행할 수 있다. | ||
|5.5.36 | |5.5.36 | ||
|2012-10-10 | |2012-10-10 | ||
108번째 줄: | 96번째 줄: | ||
|서블릿 2.5, 자바 서버 페이지 2.1 및 EL 2.1 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | |서블릿 2.5, 자바 서버 페이지 2.1 및 EL 2.1 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | ||
|6.0.53 | |6.0.53 | ||
| 2017-04-07 | |2017-04-07 | ||
|2016-12-31 | |2016-12-31 | ||
|- | |- | ||
122번째 줄: | 110번째 줄: | ||
|서블릿 3.1, 자바 서버 페이지 2.3 및 EL 3.0 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | |서블릿 3.1, 자바 서버 페이지 2.3 및 EL 3.0 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | ||
|8.0.53 | |8.0.53 | ||
| 2018-07-05 | |2018-07-05 | ||
|2018-06-30 | |2018-06-30 | ||
|- | |- | ||
128번째 줄: | 116번째 줄: | ||
|2016-06-13 | |2016-06-13 | ||
|HTTP/2, JSSE용 OpenSSL, TLS 가상 호스팅 및 JASPIC 1.1 지원 추가. Java EE 8 지연 후 톰캣 9에서 생성됨. | |HTTP/2, JSSE용 OpenSSL, TLS 가상 호스팅 및 JASPIC 1.1 지원 추가. Java EE 8 지연 후 톰캣 9에서 생성됨. | ||
| 8.5.57 | |8.5.57 | ||
| 2020-07-05 | |2020-07-05 | ||
| | | | ||
|- | |- | ||
136번째 줄: | 124번째 줄: | ||
|서블릿 4.0 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | |서블릿 4.0 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | ||
|9.0.37 | |9.0.37 | ||
| 2020-07-05 | |2020-07-05 | ||
| | | | ||
|- | |- | ||
142번째 줄: | 130번째 줄: | ||
|알 수 없음 | |알 수 없음 | ||
|서블릿 5.0, JSP 3.0, EL 4.0, 웹소켓 2.0 및 Authentication 2.0 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | |서블릿 5.0, JSP 3.0, EL 4.0, 웹소켓 2.0 및 Authentication 2.0 사양을 지원하는 첫 번째 아파치 톰캣 릴리즈. | ||
|10.0.0-M7 | |10.0.0-M7 | ||
|2020-07-05 | |2020-07-05 | ||
| | | | ||
|} | |- | ||
|}<ref name="아파치 톰캣" /> | |||
==설치== | ==설치== | ||
톰캣을 설치하기 위한 최소 사전 요구 사항이 있다. JAVA_HOME 환경이 설정된 JDK 버전 1.8 이상을 설치하면 되고 선택적으로 Windows PATH에 JDK의 bin 폴더를 추가하면 된다. JDK가 설치되어 있는지 또는 어떤 버전인지 잘 모를 경우 명령 프롬프트를 열고 java -version을 입력한다. JDK가 설치된 경우 이 명령은 버전 및 빌드 세부 정보를 표시한다. | 톰캣을 설치하기 위한 최소 사전 요구 사항이 있다. JAVA_HOME 환경이 설정된 JDK 버전 1.8 이상을 설치하면 되고 선택적으로 Windows PATH에 JDK의 bin 폴더를 추가하면 된다. JDK가 설치되어 있는지 또는 어떤 버전인지 잘 모를 경우 명령 프롬프트를 열고 java -version을 입력한다. JDK가 설치된 경우 이 명령은 버전 및 빌드 세부 정보를 표시한다. | ||
158번째 줄: | 147번째 줄: | ||
JCL - 20161018_01 based on Oracle jdk8u111-b14 | JCL - 20161018_01 based on Oracle jdk8u111-b14 | ||
톰캣은 Apache.org에서 프로젝트의 다운로드 페이지에서 얻을 수 있다. 컴퓨터 아키텍처와 일치하는 zip 파일을 찾는다. 톰캣 설치 방법에 대한 이 예는 64비트 Windows Xeon를 예로 64비트 옵션을 선택했다. 파일의 압축을 풀고 Tomcat-9 폴더 이름을 바꾼다. 그런 다음 Tomcat-9 폴더를 \downloads 디렉토리에서 파일 시스템의 더 적합한 위치에 복사한다. | 톰캣은 Apache.org에서 프로젝트의 다운로드 페이지에서 얻을 수 있다. 컴퓨터 아키텍처와 일치하는 zip 파일을 찾는다. 톰캣 설치 방법에 대한 이 예는 64비트 Windows Xeon를 예로 64비트 옵션을 선택했다. 파일의 압축을 풀고 Tomcat-9 폴더 이름을 바꾼다. 그런 다음 Tomcat-9 폴더를 \downloads 디렉토리에서 파일 시스템의 더 적합한 위치에 복사한다. | ||
===설치 홈 디렉토리=== | ===설치 홈 디렉토리=== | ||
*'''톰캣 환경 변수''' | *'''톰캣 환경 변수''' | ||
:톰캣을 사용하는 애플리케이션은 Catalina_HOME 환경 변수 값을 검사하여 애플리케이션 서버의 위치를 찾는다. 그리고 CATLINA_HOME이라는 새 환경 변수를 생성하여 C:\_tools\tomcat을 가리키도록 한다. startup.bat 및 shutdown.bat 같은 톰캣 유틸리티를 명령 프롬프트 및 Bash 셸에 전체적으로 사용할 수 있도록 하려면 톰캣의 \bin 디렉토리를 Windows PATH에 저장하면 되지만 이 작업은 필요하지 않다. | :톰캣을 사용하는 애플리케이션은 Catalina_HOME 환경 변수 값을 검사하여 애플리케이션 서버의 위치를 찾는다. 그리고 CATLINA_HOME이라는 새 환경 변수를 생성하여 C:\_tools\tomcat을 가리키도록 한다. startup.bat 및 shutdown.bat 같은 톰캣 유틸리티를 명령 프롬프트 및 Bash 셸에 전체적으로 사용할 수 있도록 하려면 톰캣의 \bin 디렉토리를 Windows PATH에 저장하면 되지만 이 작업은 필요하지 않다. | ||
171번째 줄: | 160번째 줄: | ||
Using CLASSPATH: “C:\_tools\tomcat-9\bin\bootstrap.jar;C:\_tools\tomcat-9\bin\tomcat-juli.jar” | Using CLASSPATH: “C:\_tools\tomcat-9\bin\bootstrap.jar;C:\_tools\tomcat-9\bin\tomcat-juli.jar” | ||
==장점== | ==장점== | ||
*아파치 소프트웨어 재단에서 개발되는 자바 애플리케이션을 위한 대표적인 오픈소스 | *아파치 소프트웨어 재단에서 개발되는 자바 애플리케이션을 위한 대표적인 오픈소스 와스 제품이다. | ||
*독립적으로 사용이 가능하며, 아파치 웹서버와 IIS 등의 웹서버와 연동이 가능하다. | *독립적으로 사용이 가능하며, 아파치 웹서버와 IIS 등의 웹서버와 연동이 가능하다. | ||
*상용 | *상용 와스 제품 보다도 가볍고 빠른 성능을 제공한다. | ||
* | *와스 제품으로 세계에서 가장 많이 사용되는 제품이다.<ref name="오픈나루">〈[http://www.opennaru.com/opensource/tomcat/ 세계에서 가장 많이 사용되는 WAS – APACHE TOMCAT]〉, 《오픈나루》</ref> | ||
==현황== | ==현황== | ||
이터널 블루(EternalBlue, ETERNALBLUE)라고 알려진 익스폴로잇(exploit)의 새로운 버전 하나가 중국의 기업 수백 곳을 타격하고 있으며, 이러한 캠패인은 암호화폐를 노리는 크림토재킹을 위주로 한 공격으로, 비피(Beapy)라고 불린다. 비피는 웹서버를 노리기도 하며, 웹서버를 호스트로 활용하기 때문이다. 초기 미미캐츠(Mimikatz) 모듈을 사용하여 크리덴셜을 훔치기도 하며, [[아파치]] 톰캣과 오라클 웹 로직 서버를 집중적으로 공략하였다. 이러한 내용은 차후 더 위험한 공격으로 발전하는 가능성을 내포하고 있다. 암호화폐 채굴인 만큼 데이터가 밖으로 새 나가거나 유출될 걱정은 없는 게 정상이지만, 암호화폐 채굴은 시스템과 네트워크의 성능과 속도를 크게 저하함으로써 시간과 자원을 낭비하게 하며, 비피의 경우는 크리덴셜까지 훔치기 때문에 다른 암호화폐 채굴 공격보다 더 위험하고 전문가는 말한다. 방지하기 위해 보안솔루션을 설치하고, 직원들을 교육해야 하며, 회사 차원에서 시스템 패치를 점검하는 것이 중요하다고 알렸다. | 이터널 블루(EternalBlue, ETERNALBLUE)라고 알려진 익스폴로잇(exploit)의 새로운 버전 하나가 중국의 기업 수백 곳을 타격하고 있으며, 이러한 캠패인은 암호화폐를 노리는 크림토재킹을 위주로 한 공격으로, 비피(Beapy)라고 불린다. 비피는 웹서버를 노리기도 하며, 웹서버를 호스트로 활용하기 때문이다. 초기 미미캐츠(Mimikatz) 모듈을 사용하여 크리덴셜을 훔치기도 하며, [[아파치]] 톰캣과 오라클 웹 로직 서버를 집중적으로 공략하였다. 이러한 내용은 차후 더 위험한 공격으로 발전하는 가능성을 내포하고 있다. 암호화폐 채굴인 만큼 데이터가 밖으로 새 나가거나 유출될 걱정은 없는 게 정상이지만, 암호화폐 채굴은 시스템과 네트워크의 성능과 속도를 크게 저하함으로써 시간과 자원을 낭비하게 하며, 비피의 경우는 크리덴셜까지 훔치기 때문에 다른 암호화폐 채굴 공격보다 더 위험하고 전문가는 말한다. 방지하기 위해 보안솔루션을 설치하고, 직원들을 교육해야 하며, 회사 차원에서 시스템 패치를 점검하는 것이 중요하다고 알렸다. | ||
{{각주}} | |||
==참고 자료== | ==참고 자료== | ||
*톰캣 공식홈페이지 - http://tomcat.apache.org/ | *톰캣 공식홈페이지 - http://tomcat.apache.org/ | ||
* Apache Tomcat Wikipedia - https://en.wikipedia.org/wiki/Apache_Tomcat#Web_application | *Apache Tomcat Wikipedia - https://en.wikipedia.org/wiki/Apache_Tomcat#Web_application | ||
*〈[http://www.opennaru.com/opensource/tomcat/ 세계에서 가장 많이 사용되는 WAS – APACHE TOMCAT]〉, 《오픈나루》 | *〈[http://www.opennaru.com/opensource/tomcat/ 세계에서 가장 많이 사용되는 WAS – APACHE TOMCAT]〉, 《오픈나루》 | ||
*매운떡볶이튀김 〈[https://hottteokbokki.tistory.com/entry/%ED%86%B0%EC%BA%A3 톰캣]〉, 《tistory》, 2013-07-21 | *매운떡볶이튀김 〈[https://hottteokbokki.tistory.com/entry/%ED%86%B0%EC%BA%A3 톰캣]〉, 《tistory》, 2013-07-21 | ||
189번째 줄: | 180번째 줄: | ||
*Cameron McKenzie, 〈[https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-to-install-Tomcat-as-your-Java-application-server How to install Tomcat as your Java application server]〉, 《TheServerSide》, 2019-05-05 | *Cameron McKenzie, 〈[https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-to-install-Tomcat-as-your-Java-application-server How to install Tomcat as your Java application server]〉, 《TheServerSide》, 2019-05-05 | ||
*Matthew Tyson, 〈[https://www.infoworld.com/article/3510460/what-is-apache-tomcat-the-original-java-servlet-container.html What is Tomcat? The original Java servlet container]〉, 《infoworld》, 2019-12-19 | *Matthew Tyson, 〈[https://www.infoworld.com/article/3510460/what-is-apache-tomcat-the-original-java-servlet-container.html What is Tomcat? The original Java servlet container]〉, 《infoworld》, 2019-12-19 | ||
* solinsystem,〈[https://blog.naver.com/solinsystem/222790901382 오픈소스 소프트웨어 아파치톰캣 도입 및 마이그레이션 장애문의- (주) 솔인시스템 Apache Tomcat 기술지원 전문 기업]〉, 《네이버블로그》, 2022-07-20 | *solinsystem,〈[https://blog.naver.com/solinsystem/222790901382 오픈소스 소프트웨어 아파치톰캣 도입 및 마이그레이션 장애문의- (주) 솔인시스템 Apache Tomcat 기술지원 전문 기업]〉, 《네이버블로그》, 2022-07-20 | ||
*solinsystem,[https://www.solinsystem.co.kr/business/businessTomcat.do] WAS시장 점유율 1위 오픈소스 소프트웨어 Apache Tomcat〉, 《네이버블로그》, 2022-07-20 | *solinsystem,[https://www.solinsystem.co.kr/business/businessTomcat.do] WAS시장 점유율 1위 오픈소스 소프트웨어 Apache Tomcat〉, 《네이버블로그》, 2022-07-20 | ||
==같이 보기== | ==같이 보기== | ||
*[[와스 | *[[와스]] | ||
*[[아파치재단]] | *[[아파치재단]] | ||
*[[웹로직]] | *[[웹로직]] | ||
204번째 줄: | 195번째 줄: | ||
*[[CSS]] | *[[CSS]] | ||
*[[JS]] | *[[JS]] | ||
{{와스|검토 필요}} | |||