설치
# yum install wget
...
Is this ok [y/d/N] : y
...
톰캣최신버전 업데이트받을 위치 이동해서 아래와 같이 다운로드
$ cd /home
$ wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.81/bin/apache-tomcat-8.5.81.tar.gz
tar.gz 압축풀기
$ tar -zxvf apache-tomcat-8.5.81.tar.gz
기존라이브러리 백업
$ mv /home/www-apache-tomcat-8.5.57/lib /home/www-apache-tomcat-8.5.57/lib_back
기존톰캣에 업데이트된 라이브러리만 교체
$ cp -r /home/apache-tomcat-8.5.81/lib /home/www-apache-tomcat-8.5.57/
최신라이브러리를 넣어준 기존 톰캣디렉토리명을 최신버전인 8.5.81로 변경해주기
$ mv /home/www-apache-tomcat-8.5.57 /home/www-apache-tomcat-8.5.81
4. 톰캣 버전 8.5 수동 업그레이드시 lib 폴더만 갈아껴주고 재시작을 하면된다는 말이 있는데, 내 경우에는 재시작시 아래와 같은 오류가 발생했다
12-Aug-2022 11:04:34.860 심각 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8553]] org.apache.catalina.LifecycleException: 구성요소 [Connector[HTTP/1.1-8553]]을(를) 초기화하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:571) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:874) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) at org.apache.catalina.startup.Catalina.load(Catalina.java:646) at org.apache.catalina.startup.Catalina.load(Catalina.java:669) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:302) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:472) Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.buf.UriUtil.isAbsoluteURI(Ljava/lang/String;)Z at org.apache.tomcat.util.file.ConfigFileLoader.getInputStream(ConfigFileLoader.java:77) at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:198) at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:207) at org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:282) at org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:246) at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:106) at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:72) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:205) at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1221) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1234) at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:230) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:633) at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:80) at org.apache.catalina.connector.Connector.initInternal(Connector.java:1112) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) ... 12 more
(주의할 것은 bin폴더 gz파일와 jar파일만 옮기고 bin폴더 통째로 옮기지 않기. catalina.sh파일 등 설정이 필요할 파일들이 있기때문)
기존 bin 백업
$ mv /home/www-apache-tomcat-8.5.81/bin /home/www-apache-tomcat-8.5.81/bin_back
wget로 다운받아서 압축 풀은 새 톰캣 bin으로 이동
$ cd /home/apache-tomcat-8.5.81/bin
기존톰캣에 업데이트된 라이브러리만 교체
$ cp *.jar /home/www-apache-tomcat-8.5.81/bin
$ cp *.tar.gz /home/www-apache-tomcat-8.5.81/bin
6. 그리고나서 바꿔준 파일들을 교체해준 bin폴더와 lib폴더의 파일들 권한들도 기존 파일들 권한이랑 비교해서 동일하지않으면 권한을 맞춰준다.
# 현재 최신 버전 다운로드
wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz --no-check-certificate
# 압축 해제
tar xvfz openssl-1.1.1q.tar.gz
# 압축 해제된 경로로 이동하여 소스 컴파일 진행
cd /home/myproject/openssl-1.1.1q
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
# 설치 진행
make && make install
# 주요 심볼릭 링크 설정 필요
ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl