[Linux Server] OpenSSL source compile
[Linux Server] OpenSSL source compile
17.10.10 update : ./config --prefix 변경
설치 전 사항 : gcc make openssl-devel zlib zlib-devel 패키지 설치 및 업데이트
설치 순서
1. openssl 다운로드
2. ./config
3. make & make install
4. 에러 해결 방법
source 설치이기 때문에 rpm으로 검색하면 이전 버전이 나옵니다.
이전 버전의 openssl에 현재 버전을 덮어씌운 것입니다.
혹시 모를 상황에 대비해 이전 버전을 확인후 백업해 놓습니다.
[root@localhost qual]# find / -name openssl
/usr/lib/openssl
/usr/include/openssl
/usr/bin/openssl----------------> 현 버전이 있는 곳
[root@localhost qual]# cp /usr/bin/openssl /usr/bin/openssl.bak
「현재 OpenSSL 버전 확인」
[root@localhost qual]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
[root@localhost qual]#
「https://www.openssl.org/source/ 에서 최신 버전 확인」
현 최신 버전인 1.1.0f 버전을 다운 받습니다.
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz 으로 다운 받습니다.
홈페이지에서 최신 버전을 확인 후 https://www.openssl.org/source/openssl-1.1.0f.tar.gz 뒤의 버전 부분을 수정해도 최신버전으로 다운 받습니다.
1. openssl 다운로드
[root@localhost qual]# wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz
--2017-10-06 22:33:14-- https://www.openssl.org/source/openssl-1.1.0f.tar.gz
Resolving www.openssl.org... 202.43.55.100, 2600:1417:8000:391::c1e, 2600:1417:8000:394::c1e
Connecting to www.openssl.org|202.43.55.100|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5278176 (5.0M) [application/x-gzip]
Saving to: `openssl-1.1.0f.tar.gz'
100%[==============================================================================================================================>] 5,278,176 257K/s in 15s
2017-10-06 22:33:33 (335 KB/s) - `openssl-1.1.0f.tar.gz' saved [5278176/5278176]
[root@localhost qual]#
「이제 압축을 해제 합니다」
[root@localhost qual]# tar zxvf openssl-1.1.0f.tar.gz
「압축을 해제한 openssl 디렉토리로 이동합니다.」
[root@localhost qual]# cd openssl-1.1.0f
2. ./config
[root@localhost openssl-1.1.0f]# ./config --prefix=/usr/local/openssl shared enable-md2 zlib
(--prefix 옵션을 주지 않으면 기본적으로 /usr/local 밑으로 나눠서 설치.
hearder(.h)는 /usr/local/include/openssl, openssl 실행파일은 /usr/local/bin, library는 /usr/local/lib/openssl 디렉토리에 설치)
「이제 make & make install을 해줍니다.」
3. make & make install
[root@localhost openssl-1.1.0f]# make
[root@localhost openssl-1.1.0f]# make install
「한번씩 하기 귀찮다면 한방에!!(에러가 없다면 다음으로 넘어갑니다) => make && make install」
「openssl 파일을 찾습니다」
[root@localhost openssl-1.1.0f]# find / -name openssl
/home/qual/openssl-1.1.0f/apps/openssl
/home/qual/openssl-1.1.0f/include/openssl
/usr/lib/openssl
/usr/local/openssl
/usr/local/openssl/share/doc/openssl
/usr/local/openssl/include/openssl
/usr/local/openssl/bin/openssl ----------------------> 새로 설치한 openssl
/usr/include/openssl
/usr/bin/openssl ----------------------> 이전 버전 openssl
[root@localhost openssl-1.1.0f]#
「이제 새로 설치한 openssl을 /usr/bin/openssl로 덮어쓰기 합니다.」
[root@localhost openssl-1.1.0f]# cp /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@localhost openssl-1.1.0f]# openssl version
./openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
[root@localhost openssl-1.1.0f]#
4. 에러 해결 방법
「새로 설치한 openssl의 lib 경로 설정 해줍니다. (libcrypto.so.1.1, libssl.so.1.1 의 파일 위치 찾기)」
[root@localhost home]# cd /usr/local/openssl/lib/
[root@localhost lib]# ls
engines-1.1 libcrypto.a libcrypto.so libcrypto.so.1.1 libssl.a libssl.so libssl.so.1.1 pkgconfig
[root@localhost lib]# pwd
/usr/local/openssl/lib
[root@localhost lib]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# ls
atlas-i386.conf kernel-2.6.32-71.el6.i686.conf mysql-i386.conf xulrunner-32.conf
[root@localhost ld.so.conf.d]# vi openssl-1.1.0f.conf--------------> 파일명(알기 쉽게!!)
/usr/local/openssl/lib------------------> 추가 내용
추가합니다.
[root@localhost ld.so.conf.d]# ldconfig
[root@localhost ld.so.conf.d]# openssl version
OpenSSL 1.1.0f 25 May 2017
컴파일한 최신 버전 확인
기존 실행파일만 교체했기 때문에 yum info openssl 명령과 rpm -qa |grep openssl 명령으로는 아무런 변화를 찾을수 없다.
./config에서 --prefix 때문에 OpenSSH 설치에서 정말 많이 고생했다. OpenSSL만 50번은 족히 컴파일 했으며 OpenSSH도 20번 이상 컴파일해본 결과 최종적인 결과물이다.
다음은 OpenSSH 설치 방법!!
'Linux' 카테고리의 다른 글
[Linux Server] jdk(java) 설치 (0) | 2017.10.12 |
---|---|
[Linux Server] OpenSSH Source Compile (2) | 2017.10.11 |
[MicroServer G7 N54L] LINUX WOL 기능 활성화!! (0) | 2016.11.08 |
[MicroServer G7 N54L] Linux Kernel 4.6.2 compile (0) | 2016.06.21 |
[MicroServer G7 N54L] Linux Bash 보안 업데이트 (1) | 2016.06.16 |