티스토리 뷰

SW 개발/CentOS

CentOS, Apache Tomcat 설치하기

지단로보트 2014. 12. 1. 03:18

개요

Apache TomcatJava EE 스펙의 부분 구현체로 소규모 웹사이트부터 엔터프라이즈 웹 애플리케이션까지 광범위하게 사용되는 가볍고 빠른 성능의 오픈 소스 웹 컨테이너이다. 이번 글에서는 CentOS 6에서 Apache Tomcat 8을 설치하고 실행하는 과정을 설명해보고자 한다.

방화벽 허용하기

$ vi /etc/sysconfig/iptables
iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT

$ service iptables restart
  • Apache Tomcat의 기본 서비스 포트는 8080이다. 해당 포트를 방화벽에서 허용하도록 설정한 후 방화벽을 재시작한다.

사용자 계정 생성하기

$ groupadd tomcat
$ useradd -g tomcat tomcat
$ passwd tomcat
  • root 계정으로 Apache Tomcat을 바로 실행하는 것은 보안상 피해야 한다. 설치에 앞서 Tomcat을 관리하기 위한 tomcat이라는 이름의 그룹 및 사용자 계정을 새로 생성한다.

JDK 설치하기

$ su - tomcat
$ wget http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz
$ tar -zxvf jdk-7u71-linux-x64.tar.gz
$ rm jdk-7u71-linux-x64.tar.gz
$ ln -s jdk1.7.0_71 jdk
  • Apache TomcatJava에 종속적이다. CentOSyum을 이용하여 손쉽게 OpenJDK를 설치할 수 있다. 만약 시스템에 설치된 JDK에 영향을 주지 않으면서 현재 사용자 계정에서만 다른 버전의 JDK를 사용하고자 한다면 위와 같이 직접 다운로드하는 방법을 추천한다. 앞서 생성한 tomcat 사용자로 로그인하여 다운로드 및 압축 해제 후 JDK에 대한 심볼릭 링크를 생성한다.

Apache Tomcat 다운로드 및 설치하기

$ wget http://apache.tt.co.kr/tomcat/tomcat-8/v8.0.15/bin/apache-tomcat-8.0.15.tar.gz
$ tar -zxvf apache-tomcat-8.0.15.tar.gz
$ rm apache-tomcat-8.0.15.tar.gz
$ ln -s apache-tomcat-8.0.15 tomcat
  • Apache Tomcat을 다운로드한다. 여기서는 공식 홈페이지 상의 8.0.15 버전의 tar.gz 파일 링크를 그대로 다운로드 후 압축을 해제한다.
  • 추후 관리의 편의를 위해 tomcat이란 이름으로 압축 해제된 디렉토리를 바라보는 심볼릭 링크를 생성한다.

환경변수 및 인코딩 설정하기

$ vi $HOME/.bashrc
export PATH="$HOME/jdk/bin:$HOME/tomcat/bin:$PATH"
export JAVA_HOME="$HOME/jdk"
export JRE_HOME="$HOME/jdk/jre"
export CATALINA_HOME="$HOME/tomcat"
export CATALINA_OPTS="-server -Xms256m -Xmx256m"

$ vi $CATALINA_HOME/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
  • 설치한 Apache Tomcat 8JDK 7을 기반으로 실행한다는 것을 명시하기 위해 tomcat 사용자의 홈 디렉토리의 .bashrc 파일을 열고 가장 마지막에 위와 같이 환경변수를 추가한다.
  • CATALINA_OPTS-Xms, -Xmx 옵션은 Tomcat에서 가용할 수 있는 Heap Size의 최소, 최대 크기를 의미한다. 시스템의 쓰임새와 메모리 용량을 고려하여 적절한 값을 설정한다. Heap Size가 초과되면 java.lang.OutOfMemoryError: Java heap space 오류가 발생한다.
  • URIEncoding 옵션을 별도로 지정하지 않으면 Apache Tomcat은 기본 캐릭터셋으로 서블릿 스펙에 명시된 ISO-8859-1을 사용한다. ISO-8859-1은 대부분의 서유럽 언어만을 수용하기 때문에 요청 URI에 한글이 포함되면 깨져버린다. URIEncodingUTF-8로 지정해야 HTTP Request시 한글 파라메터가 깨지지 않고 온전히 서버로 전달된다.

Apache Tomcat Manager 접근 권한 부여하기

$ vi $CATALINA_HOME/conf/tomcat-users.xml
<tomcat-users>
    <role rolename="manager-gui"/>
    <user username="$USERNAME" password="$PASSWORD" roles="manager-gui"/>
</tomcat-users>

$ vi $CATALINA_HOME/webapps/manager/WEB-INF/web.xml
    <multipart-config>
      <max-file-size>104857600</max-file-size>
      <max-request-size>104857600</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>
  • Apache Tomcat Manager는 웹으로 애플리케이션을 배포하고 관리할 수 있는 도구이다. 접근 권한을 가진 사용자 계정을 생성하면 http://localhost:8080/manager/html 주소를 실행하여 원격 관리가 가능하다.
  • Apache Tomcat Manager 또한 Apache Tomcat에 의해 실행되는 Java Web Application이다. 배포를 위한 .war 업로드시 최대 파일 크기가 50MB로 제한되어 있는데 크기를 늘리려면 위와 같이 web.xmlmax-file-size, max-request-size 엘러먼트의 값을 수정하면 된다. 값의 단위는 byte이다.

Apache Tomcat 서비스 시작하기

$ $CATALINA_HOME/bin/startup.sh
  • Apache Tomcat 서비스를 시작한다. http://localhost:8080/ 주소로 접속하여 서비스가 정상적으로 실행되고 있는지 확인한다.

참고 글


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함