openssl-1.1.1u on CentOS 5.8
0. 주의사항
0.1. 설치되어 있던 버전은 충분히 낡아 빠졌지만 걷어내지는 않는다.
OpenSSL 0.9.8e-fips 을 지우면 curl, yum 은 물론이고, cpan 도 사용할 수 없다.
만약 실수로 지웠다면, 다른 장비를 통해서 다운로드 한 뒤에
rpm
명령어로 다시 설치한다.
0.2. perl 은 다시 설치해야 한다.
1. 준비작업
1.1. 다운로드
https://www.openssl.org/source/ 에서 다운로드 한다.
CentOS 5.8 에서 직접 다운로드 할 수 없고, 다른 장비에서 다운로드 한 파일을 sftp 따위로 올려야 한다.
$ curl -O https://www.openssl.org/source/openssl-1.1.1u.tar.gz
1.2. gcc 및 make 설치
yum install gcc make -y
1.3. 의존성
perl v5.10.0 이상이 있어야 한다.
CentOS 5.8 에서 (perl-5.10.1 대신) perl-5.30.3 을 설치하는 방법은 필자가 작성한 다른 글을 참조한다.
perl 을 설치했다면, PATH 환경변수를 변경하는 것만으로는 부족하고, /usr/bin/perl
을 교체해야 한다.
$ cd /usr/bin $ mv perl perl.5.8.8.backup $ ln -s /opt/perl-5.30.3/bin/perl perl
2. 컴파일 및 설치
설치 디렉토리(--prefix
) 와 openssl 디렉토리(--openssldir
) 는 알아서 변경한다.
대부분의 Linux 배포판들은 /usr 혹은 / 이 설치 디렉토리(
--prefix
)이지만, 컴파일해서 설치하는 것들은 /usr/local 이나 /opt 아래에 두는 경우가 많다.
$ mkdir -p logs/openssl-1.1.1u $ tar xvfz openssl-1.1.1u.tar.gz > logs/openssl-1.1.1u/tar.`date +%Y%m%d.%H%M%S`.log 2>&1 $ cd openssl-1.1.1u $ ./config --prefix=/opt/openssl-1.1.1u --openssldir=/opt/ssl/openssl-1.1.1u > ../logs/openssl-1.1.1u/config.`date +%Y%m%d.%H%M%S`.log 2>&1 $ make > ../logs/openssl-1.1.1u/make.`date +%Y%m%d.%H%M%S`.log 2>&1 $ make test > ../logs/openssl-1.1.1u/test.`date +%Y%m%d.%H%M%S`.log 2>&1 $ make install > ../logs/openssl-1.1.1u/install.`date +%Y%m%d.%H%M%S`.log 2>&1
사양이 낮은 서버에서는 (설치시간을 단축하기 위해서)
make test
명령을 생략하기도 한다.
3. 적용
3.1. 현재 환경에 적용
현재 환경에서는 다음과 같이 적용한다.
$ export LD_LIBRARY_PATH=/opt/openssl-1.1.1u/lib $ export PATH=/opt/openssl-1.1.1u/bin:${PATH}
pkg-config 를 사용하는 경우 다음의 내용도 추가할 수 있다.
$ export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/opt/openssl-1.1.1u/lib/pkgconfig
3.2. 현재 로그인한 사용자에게 적용
현재 로그인한 사용자에게 적용하려면, ".bash_profile" 파일의 끝에 위의 내용을 추가한다.
3.3. 시스템 전체에 적용
이건 신중할 필요가 있다.
3.3.1. ld.so.conf 변경
"/etc/ld.so.conf.d/openssl.conf" 파일을 편집(추가)한다.
$ vi /etc/ld.so.conf.d/openssl.conf
다음의 내용으로 교체(추가)한다.
/opt/openssl-1.1.1u/lib
변경사항을 적용한다.
$ ldconfig
3.3.2. 환경변수 변경
"/etc/bashrc" 파일에 PATH 환경변수를 변경한다.
export PATH=/opt/openssl-1.1.1u/bin:${PATH}
pkg-config 를 사용하는 경우 다음의 내용도 추가할 수 있다.
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/opt/openssl-1.1.1u/lib/pkgconfig
4. 문제해결
해결방법은 전술한 의존성 있는 모듈 설치에 대한 내용을 참조한다.
4.1. Perl v5.10.0 required--this is only v5.8.8
config 할 때 발생한다.
perl 버전을 업그레이드 한다.
4.2. 읽을거리
- INSTALL : 설치방법에 대한 안내
- test/README :
make test
명령에 대한 안내