본문 바로가기
TOMCAT

톰캣 설치 및 설정 방법

by SAMSUNG CLOUD-OKY 2020. 12. 21.
반응형

 

 

 

 

 

  1-1) ## Tomcat 설치 (https://jjeongil.tistory.com/1269)  (2020-12-21)

       1. OpenJDK 설치

          - OpenJDK, Java 플랫폼의 오픈 소스 구현은 Ubuntu 18.04의 기본 Java 개발 및 런타임입니다.

          - sudo apt install default-jdk

          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

          root@ip-10-20-18-211:/usr/lib/jvm# java -version

          openjdk version "1.8.0_275"

          OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~16.04-b01)

          OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)

          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

          - 자바 위치 확인

          -------------------------------------------------------

          ubuntu@ip-10-20-13-12:~$ which java

          /usr/bin/java

 

          JAVA_HOME 위치

          /usr/lib/jvm/java-8-openjdk-amd64

          ------------------------------------------------------

 

       2. Tomcat 사용자 생성

          - Tomcat 서비스를 실행할 홈 디렉토리 /opt/tomcat을 사용하여 새 시스템 사용자 및 그룹을 생성합니다.

          - sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

 

 

       3. Tomcat 다운로드 (https://tomcat.apache.org/download-80.cgi)

          - wget unzip을 사용하여 Tomcat 아카이브를 다운로드하고 압축을 풉니다.

          - 시스템에 압축을 풀고 wget을 설치하지 않은 경우 다음을 사용하여 패키지를 설치합니다.

          - sudo apt install unzip wget

 

          - Tomcat 다운로드 페이지에서 최신 버전의 Tomcat 8.5.x를 다운로드합니다.

          - 작성 당시 최신 버전은 8.5.37입니다.

          - 다음 단계를 계속하기 전에 다운로드 페이지에서 새 버전을 확인해야 합니다.

          - /tmp 디렉토리로 변경하고 다음 wget 명령을 사용하여 zip 파일을 다운로드합니다.

          - cd /tmp

          - wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.zip

 

          - 다운로드가 완료되면 파일의 압축을 풀고 /opt/tomcat 디렉토리로 이동합니다.

          - unzip apache-tomcat-*.zip

          - sudo mkdir -p /opt/tomcat

          - sudo mv apache-tomcat-8.5.61 /opt/tomcat/

 

          - 버전 및 업데이트를 보다 효과적으로 제어하기 위해 Tomcat 설치 디렉토리를 가리키는 심볼 링크를 최신 버전으로 만듭니다.

          - sudo ln -s /opt/tomcat/apache-tomcat-8.5.61 /opt/tomcat/latest

 

          - 나중에 Tomcat 설치를 업그레이드하려면 최신 버전의 포장을 풀고 최신 버전을 가리키도록 symlink를 변경하면 됩니다.

          - 이전에 설정한 Tomcat 사용자가 Tomcat 디렉토리에 액세스할 수 있어야 하므로 디렉토리 소유권을 사용자 및 그룹 Tomcat으로 변경합니다.

          - sudo chown -R tomcat: /opt/tomcat

 

          - 다음 chmod 명령을 실행하여 bin 디렉토리 내의 스크립트를 실행 가능하게 만듭니다.

          - sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

 

 

       4. systemd 단위 파일 생성

          - Tomcat을 서비스로 실행하기 위해 새로운 Tomcat을 만들 것입니다.

          - /etc/systemd/system/ 디렉토리의 서비스 단위 파일에 다음 내용이 포함됩니다.

 

          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

          # /etc/systemd/system/tomcat.service

 

          [Unit]

          Description=Tomcat 8.5 servlet container

          After=network.target

 

          [Service]

          Type=forking

 

          User=tomcat

          Group=tomcat

 

          Environment="JAVA_HOME=/usr/lib/jvm/default-java"

          Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

 

          Environment="CATALINA_BASE=/opt/tomcat/latest"

          Environment="CATALINA_HOME=/opt/tomcat/latest"

          Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"

          Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

 

          ExecStart=/opt/tomcat/latest/bin/startup.sh

          ExecStop=/opt/tomcat/latest/bin/shutdown.sh

 

          [Install]

          WantedBy=multi-user.target

          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

          - systemd에 새 장치 파일을 생성했음을 알리고 다음을 실행하여 Tomcat 서비스를 시작합니다.

          - sudo systemctl daemon-reload

          - sudo systemctl start tomcat

          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

          에러발생시 (https://askubuntu.com/questions/828779/failed-to-add-run-systemd-ask-password-to-directory-watch-no-space-left-on-dev 참고)

          Failed to add /run/systemd/ask-password to directory watch: No space left on device

          하기명령어 실행할것

          root@ip-10-20-18-211:/etc/systemd/system# echo 1048576 > /proc/sys/fs/inotify/max_user_watches

 

          장기적인 수정은 /etc/sysctl.conf 다음 행을 포함하도록 파일을 편집하는 것입니다 .

          fs.inotify.max_user_watches=1048576

          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

          - 오류가 없는 경우 부팅 시 Tomcat 서비스를 자동으로 시작할 수 있습니다.

          - sudo systemctl enable tomcat

 

 

 

       5. [IDC] 방화벽을 조정 (AWS에서 미적용)

          - 서버가 방화벽에 의해 보호되고 로컬 네트워크 외부에서 Tomcat 인터페이스에 액세스하려면 포트 8080을 열어야 합니다.

          - 포트 8080에서 트래픽을 허용하려면 다음 명령을 입력합니다.

          - sudo ufw allow 8080/tcp

 

          - 운영 환경에서 Tomcat 애플리케이션을 실행할 때는 로드 밸런싱 장치 또는 역방향 프록시가 있을 가능성이 가장 높으며,

            포트 8080에 대한 액세스를 내부 네트워크로만 제한하는 것이 가장 좋습니다.

 

 

 

       6. Tomcat 웹 관리 인터페이스 구성 (톰캣 ID/PW - admin / )

          - 이제 Tomcat Ubuntu 서버에 설치되었으므로 다음 단계는 웹 관리 인터페이스에 액세스할 수 있는 사용자를 생성하는 것입니다.

          - Tomcat 사용자 및 해당 역할은 Tomcat-users.xml 파일에 정의되어 있습니다.

          - 파일을 열면 파일구성 방법을 설명하는 설명과 예제로 채워집니다.

          - sudo vim /opt/tomcat/latest/conf/tomcat-users.xml

 

 

          - Tomcat 웹 인터페이스(manager-gui admin-gui)에 액세스할 수 있는 새 사용자를 추가하려면 아래와 같이

            tomcat-users.xml 파일에 사용자를 정의해야 합니다. 사용자 이름과 암호를 보다 안전한 것으로 변경해야 합니다.

          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

          # /opt/tomcat/latest/conf/tomcat-users.xml

 

          <tomcat-users>

          <!--

              Comments

          -->

             <role rolename="admin-gui"/>

             <role rolename="manager-gui"/>

             <user username="admin" password="tomcat!@#" roles="admin-gui,manager-gui"/>

          </tomcat-users>

          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

          - 기본적으로 Tomcat 웹 관리 인터페이스는 로컬 호스트에서만 액세스할 수 있도록 구성되어 있습니다.

          - 원격 IP 또는 보안 위험으로 인해 권장되지 않는 모든 위치에서 웹 인터페이스에 액세스할 수 있으려면 다음 파일을 열고 다음과 같이 변경할 수 있습니다.

          - 어디서든 웹 인터페이스에 액세스해야 하는 경우 다음 파일을 열고 노란색으로 강조 표시된 줄을 주석 또는 제거합니다.

          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

          # /opt/tomcat/latest/webapps/manager/META-INF/context.xml

 

          <Context antiResourceLocking="false" privileged="true" >

          <!--

            <Valve className="org.apache.catalina.valves.RemoteAddrValve"

                   allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

          -->

          </Context>

          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

          # /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml

 

          <Context antiResourceLocking="false" privileged="true" >

          <!--

            <Valve className="org.apache.catalina.valves.RemoteAddrValve"

                   allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

          -->

          </Context>

          >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

          - 변경 내용을 적용하려면 Tomcat 서비스를 다시 시작합니다.

          - sudo systemctl restart tomcat

반응형

댓글