Apache HTTP Server

OpenSSL 컴파일 설치

제끼나·2018년 5월 16일·조회 17,329

1. 개요

Linux에 번들로 설치된 Apache 2.2 버전을 사용하여 운영중인 시스템에 여러 보안 취약사항 지적으로

Apache 패치 혹은 업그레이드가 필요하게 되었습니다.

기왕 하는김에~ Apache 2.4 버전으로 업그레이드 하기로 결정!

기존에 SSL 도 적용되어 있어서 (1.0.1.e 버전을 사용) 현재 가장 stable 한 버전인 1.1.0.h 로 올려보기로 했습니다.

https://www.openssl.org/source/  - "The latest stable version is the 1.1.0 series."

이제 1.0.1 이하 버전은 지원하지 않거든요!

버전은 정했고~ 그럼 어떻게 설치할까요?

운영 중인 시스템에 단일 서버라 부담이 팍팍~ yum install openssl-devel 땅~ 쳐버리기엔 여러 리스크가 있으니~~

그래서 1.1.0.h 버전을 컴파일 설치하기로 합니다. (암만!)

2. OpenSSL 컴파일 설치

일단 서버에 적당한 곳에 임시 디렉토리를 생성해두고~ OpenSSL 소스를 내려받아봅니다.

(물론, OpenSSL 설치 이전에 zlib-devel 은 꼭 설치 해주셔야 해요~!)

wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz

소스 파일을 받고~압축을 풀고~~ 해당경로로 이동!

그리고 아래와 같이 컴파일을 합니다. 주의해서!

--prefix 에 꼭 컴파일 설치될 경로를 지정해주셔야 합니다. 안그랬다간...기존에 사용하던 버전에 엎어쳐져버리는

무시무시한 일이 기다리고 있을지도 모르니까요..ㅠ^ㅠ

저는 64bit으로 컴파일 했습니다. Configure 의 usage는 반드시 OS컴파일러를 지정해주도록 되어있어요!

맞는 OS에 해당하는 것으로 지정해주세요~~저는 linux-x86_64 로!

./Configure linux-x86_64 shared no-md2 no-mdc2 no-rc5 no-rc4 --prefix=/install/openssl
make
make install

과정이 모두 끝났으면~ 잘 설치되었나 볼까요? 버전 확인부터!

# /installer/bin/openssl version
/installer/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
#

에러가.....얘는 어디를 바라보고 있는걸까요!

libssl.so.1.1 은 여기에 있단 말이야!!!

# ls -atlr
-rw-r--r-- 1 root root 4766142 2018-05-15 15:31 libcrypto.a
-rw-r--r-- 1 root root 769600 2018-05-15 15:31 libssl.a
lrwxrwxrwx 1 root root 16 2018-05-15 15:31 libcrypto.so -> libcrypto.so.1.1
lrwxrwxrwx 1 root root 13 2018-05-15 15:31 libssl.so -> libssl.so.1.1
drwxr-xr-x 2 root root 4096 2018-05-15 15:31 pkgconfig
drwxr-xr-x 2 root root 4096 2018-05-15 15:31 engines-1.1
-rwxr-xr-x 1 root root 2800516 2018-05-15 15:31 libcrypto.so.1.1
-rwxr-xr-x 1 root root 518420 2018-05-15 15:31 libssl.so.1.1
drwxr-xr-x 4 root root 4096 2018-05-15 15:31 .
drwxr-xr-x 7 root root 4096 2018-05-15 15:31 ..
# pwd
/installer/openssl/lib

기존 라이브러리 패스에서 찾느라고 못찾는군요!

그렇담 바로 이거죠~

export LD_LIBRARY_PATH=/installer/openssl/lib

이렇게 해주면~ 아래처럼 버전 확인이 됩니다! 잘 깔렸죵?^^

# ./openssl version
OpenSSL 1.1.0h 27 Mar 2018

새로 설치할 Apache 2.4 의 구동 계정에도 LD_LIBRARY_PATH 변수를 셋팅해줘야 해요~!

.bash_profile 에 살짝 넣어두시면 되겠습니다~~~!

요런걸 또 만나기 싫으시다면요~ㅎㅎㅎ

httpd: Syntax error on line 134 of /apache2.4/conf/httpd.conf: Cannot load modules/mod_ssl.so into server: libss .so.1.1: cannot open shared object file: No such file or directory

오늘은 여기까지! :)

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.