서버

apache, tomcat 최신 버전 패치(1)

재노 2022. 3. 19. 16:12

목표

 

상황(조건)

 

조치 과정 - httpd 컴파일하여 apache 만들기

(0) 사전 확인

# apache가 설치된 디렉터리로 이동한다.
cd build/
vi config.nice

→ httpd 컴파일 시 해당 내용과 같게 컴파일한다.(./configure 참고)

 

(1) tomcat과 apache 최신 버전을 다운로드 받는다.

  • tomcat-7.0.109.tar.gz, httpd-2.4.52.tar.gz 다운로드(이 글을 작성한 시점의 가장 최신 버전)
  • httpd 컴파일을 위한 연관 라이브러리 다운로드(가장 최신 버전으로 다운로드)
https://apr.apache.org/download.cgi
- apr-1.7.0.tar.gz
- apr-util-1.6.1.tar.gz

https://sourceforge.net/projects/pcre/files/pcre/
- pcre-8.45.tar.gz

https://tomcat.apache.org/download-connectors.cgi
- tomcat-connectors-1.2.48-src.tar.gz

 

(2) 로컬에서 Linux 환경 구성하기

  • 실패

i) AWS에서 무료 EC2(가상머신)를 만들어 EC2에서 httpd 컴파일하여 apache 생성

→ httpd 컴파일 시의 라이브러리 버전이 EC2와 서버가 달라 서버에서 apache 기동 불가

 

  • 성공

ii) 로컬에 Virtual Box 설치 → 게스트 확장 모드 설치

※ Virtual Box 설치 후 Linux 서버의 OS 버전과 같은 이미지를 다운로드 하여 가상머신을 생성한다.

※ 게스트 확장 모드 설치 후 로컬 - VirtualBox 사이 파일 이동이 가능해야 한다.(공유 폴더 or 드래그&드롭)

# 운영중인 apache 위치와 같게 디렉토리 생성

cd /
mkdir /home
sudo chown apache:apache /home

# VirtualBox에 있는 tar.gz 파일 /app으로 이동

cd /media/sf_shared_folder    # VirtualBox - 로컬의 공유 폴더
sudo mv * /home

# tar.gz 파일의 소유자 및 권한 변경

cd /home
sudo chmod 764 *
sudo chown apache:apache *

# gz 파일 압축 해제

tar -xvf httpd-2.4.52.tar.gz
tar -xvf apr-1.7.0.tar.gz
tar -xvf apr-util.1.6.1.tar.gz
tar -xvf pcre-8.45.tar.gz

# apr과 apr-util을 httpd로 이동

mv apr-1.7.0 ./httpd-2.4.52/srclib/apr
mv apr-util-1.6.1 ./httpd-2.4.52/srclib/apr-util

# httpd 컴파일시 필수 라이브러리 다운로드

sudo yum install -y gcc gcc-c++ make
sudo yum install -y expat-devel
sudo yum install -y openssl-devel

# 설치 완료 후 운영 중인 서버의 패키지와 버전이 동일한지 확인!!!

# pcre 라이브러리 VirtualBox에 설치

cd pcre-8.45
./configure
make
sudo make install

# httpd 컴파일(prefix 파라미터 값으로 새로운 apache를 놓을 경로 입력)

cd /home/httpd-2.4.52
./configure --prefix=/home/apache-2.4.52 --with-included-apr --enable-module=ssl --enable-ssl --with-ssl=/usr/local/openssl
make
make install

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

# apache - tomcat 연동된 경우 tomcat-connectors 라이브러리 추가

cd /home
tar -xvf tomcat-connectors-1.2.48-src.tar.gz

cd tomcat-connectors-1.2.48-src/native
./configure --with-apxs=/home/apache-2.4.52/bin/apxs
make
make install

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

# 신규 apache 기동 테스트

sudo /home/apache-2.4.52/bin/httpd -k start
ps -ef | grep apache     # 기동된 apache 프로세스가 반드시 있어야 한다!!!
sudo /home/apache-2.4.52/bin/httpd -k stop

# 압축

cd /home
tar -cvf apache-2.4.52.tar /home/apache-2.4.52
chmod 764 apache-2.4.52.tar
mv apache-2.4.52.tar /media/sf_shared_folder/

# apache-2.4.52.tar를 VirtualBox에서 로컬 PC로 가져오면 된다.

 

iii) 필요한 apache 개수만큼 위 과정을 반복한다.(apache 설치 경로가 다른 경우)

 

 

(4) 새로운 apache와 tomcat을 서버의 지정된 디렉터리로 업로드한다.

 

※ apache, tomcat 설정 방법은 기존 버전과 유사하게 설정한다.

 

※ apache, tomcat 최신 버전 패치(2) - apache, tomcat 설정 편

 

apache, tomcat 최신 버전 패치(2)

※ apache, tomcat 최신 버전 패치(1) - apache 소스 컴파일 편 apache, tomcat 최신 버전 패치(1) 업무 apache 2.4.52 업데이트 https://httpd.apache.org/security/vulnerabilities_24.html tomcat 7.0 버전 중..

woshcareer.tistory.com

 

 

참고자료

[Tomcat 마이너 버전 업그레이드 방법]
https://mkil.tistory.com/512

[나무위키 - apache]
https://namu.wiki/w/%EC%95%84%ED%8C%8C%EC%B9%98%20HTTP%20%EC%84%9C%EB%B2%84

[jackerlab님 - VirtualBox에 CentOS7 설치]
https://jackerlab.com/virtualbox-centos7-install/

[무한대로님 - VirtualBox 게스트 확장 설치]
https://sidepower.tistory.com/43

[linuxconfig.org - VirtualBox 게스트 확장 설치]
https://linuxconfig.org/how-to-install-virtualbox-guest-additions-on-centos-7-linux

[mer1-97님 - CentOS 사용자 계정에 sudo 권한 추가]
https://velog.io/@mer1-97/Error-sudoers-%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BC%EC%97%90-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.-%EC%9D%B4-%EC%8B%9C%EB%8F%84%EB%A5%BC-%EB%B3%B4%EA%B3%A0%ED%95%A9%EB%8B%88%EB%8B%A4

[제타위키 - 아파치 컴파일 설치] https://zetawiki.com/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%EC%BB%B4%ED%8C%8C%EC%9D%BC_%EC%84%A4%EC%B9%98

[새랑님 - apache 설치 방법]
https://lsk925.tistory.com/96

[장윤재의 정리노트 - Linux에서 Apache 설치]
https://shonm.tistory.com/614

[삵 - Apach 2.4 컴파일 중 에러 발생 조치]
https://sarc.io/index.php/httpd/2149-amazon-linux-apache-http-server-2-4