인생에 뜻을 세우는데 있어 늦은 때라곤 없다

WEB/Server

CentOS7에서 openssl 최신버전 update 하기

projin 2019. 3. 7. 20:50


Let’s Encrypt 인증서를 설치하는 과정에서 OpenSSL 버전을 확인을 하니 OpenSSL 1.0.2k 버전이라서 이왕 하는김에 OpenSSL부터 최신버전 Update 할려고 합니다.


1. OpenSSL 버전 확인



[root@localhost /]# yum info openssl
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirror.moack.net
 * epel: mirror.premi.st
 * extras: centos.mirror.moack.net
 * remi: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: centos.mirror.moack.net
Installed Packages
Name        : openssl
Arch        : x86_64
Epoch       : 1
Version     : 1.0.2k
Release     : 16.el7
Size        : 814 k
Repo        : installed
From repo   : base
Summary     : Utilities from the general purpose cryptography library with TLS implementation
URL         : http://www.openssl.org/
License     : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications between
            : machines. OpenSSL includes a certificate management tool and shared
            : libraries which provide various cryptographic algorithms and
            : protocols.


2. OpenSSL 최신버전 설치

   소스 다운로후 압축을 해제를 하고 설치를 하면 됩니다.


[root@localhost tmp]# wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz

[root@localhost tmp]# tar -xzvf openssl-1.1.1b.tar.gz

[root@localhost tmp]# cd openssl-1.1.1b/

[root@localhost tmp]# ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib

[root@localhost tmp]# make

[root@localhost tmp]# make install


설치가 완료 되면 /usr/local/ssl 디렉토리에 아래에  1.1.1 버전이 설치가 됩니다.



3. 기존 openssl 이름 변경


[root@localhost tmp]# mv /usr/bin/openssl /usr/bin/openssl-1.0.2k


4. 새로 설치한 버전 심볼릭 링크 생성


[root@localhost tmp]# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl


5. 새로 설치한 라이브러디 등록


[root@localhost tmp]# vi /etc/ld.so.conf.d/openssl-1.1.1b.conf

/usr/local/ssl/lib


6. 동적 링크 생성


[root@localhost tmp]# ldconfig -v



7. 새로 설치된 opensssl의 실행 환경 등록을 위애 하래와 같이 쉘스크립트를 만듭니다.


[root@localhost tmp]# vi /etc/profile.d/openssl.sh

#신규설치된 실행파일이 있는 디렉토리를 path에 등록

OPENSSL_PATH="/usr/local/ssl/bin"

export OPENSSL_PATH

PATH=$PATH:$OPENSSL_PATH

export PATH


8. 위에 만든 쉘스크립트를 실행해서 $PATH에 등록 합니다.


[root@localhost tmp]# chmod +x /etc/profile.d/openssl.sh

[root@localhost tmp]# source /etc/profile.d/openssl.sh

[root@localhost tmp]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/ssl/bin:/root/bin

[root@localhost tmp]# which openssl

/usr/local/ssl/bin/openssl


9. 새로 설치한 버전 확인


[root@localhost tmp]# openssl version

OpenSSL 1.1.1b  26 Feb 2019


LIST