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
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
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
'TOMCAT' 카테고리의 다른 글
Tomcat 서버에 웹 애플리케이션 빌드 및 배포 (0) | 2020.12.27 |
---|---|
Nginx 설치 및 설정 (0) | 2020.12.21 |
자바, 메이븐 설치 및 설정 (0) | 2020.12.20 |
nginx에 점검 페이지 설정 (0) | 2020.12.19 |
nginx 설치 및 설정 디렉토리, 파일 설명 (0) | 2020.12.19 |
댓글