본문 바로가기
IT Info/Linux

Linux 아파치(httpd) 컴파일 설치 및 SSL 적용 방법 [RHEL, CentOS]

by Myste.Lee 2020. 10. 24.
728x90

이전 포스팅에는 아주 간단하게 YUM 으로 아파치(httpd) 설치하여 기본 Openssl 이용한 SSL 적용했었다

 

이번에는 컴파일로 하나하나 내입맛대로 (그래봐야 경로 바꾸기...) 설정을 해보는 시간을 가져보도록 하자

 

우선 필요한 파일 목록이다 왜 이렇게 필요한지는 하나씩 알아보자

 1. httpd-2.4.46.tar

 2. perl-5.32.0.tar

 3. openssl-1.1.1h.tar

 

#아파치 컴파일 설치 시작!

tar -httpd-2.4.46.tar.gz 명령어로 압축 해제 후 디렉터리 이동

./configure --with-ssl=/usr/bin --prefix=/app/apache --enable-ssl --enable-so

이번엔 SSL 적용을 위하여 --with-ssl --enable-ssl --enable-so 추가 되었다 (이전 아파치 컴파일 설치 글 참고)

... 필요 패키지는 설치하자.. (이전 아파치 컴파일 설치 글 참고) 다시 위의 명령어를 입력하면~

그렇다 Openssl 버전이 넘나 낮아서 안된단다 저기 단호한 no 보이는가? 이제 Openssl 설치할꺼다

 tar -zxvf openssl-1.1.1h.tar.gz 압축 해제 후 디렉터리 이동 (이제 압축 해제 옵션은 눈감도고 할듯?)

./config 명령어를 날려서! 바로오오오!!!  (따로 경로를 지정하진 않았다)

응 Perl 5 가져와......

 

....

 

tar -zxvf perl-5.32.0.tar.gz    압축 해제 후 디렉터리 이동하자....

이놈도 뭐 똑같겠지... ./config 음..없네..? ./Configure ... 설치 옵션이 상당히 많네..? 이게 아닌가?

그때!  README 를 읽어본다....참 파일명도 읽어주셈 인데 우린 왜 안읽을까?

cat README

내가 원하는 문구가 저기 있구만 바로~ 때려준다

./Configure -des -Dprefix=$HOME/localperl

 

-des 옵션 좀 찾아보려니 ... 뭐 있긴 있다 아래 참고 

  -d : use defaults for all answers. (일종의 기본 설치)

  -e : go on without questioning past the production of config.sh. (config.sh 대로 걍 진행..?)

  -s : silent mode, only echoes questions and essential information. (다른건 안보이고 필수만 보이도록)

-Dprefix= 이건 이제 뭔지 알꺼같지?

 

위 명령어가 다 끝나면 make test 명령어를 수행 한다 이게 좀 오래 걸린다 (Now you must run 'make')

끝나면 make install 명령어로 설치 진행! 

Install 끝난 뒤 정상적으로 설치 되었는지 버전 확인 명령어를 쳐본다

perl --version    설치는 잘 된듯... 

... Perl 설치를 한 이유는 Openssl 때문이였다 다시 Openssl 설치 해본다 (경로 따로 지정 안함) 다시 돌아가서

...

 tar -zxvf openssl-1.1.1h.tar.gz 압축 해제 후 디렉터리 이동 (이제 압축 해제 옵션은 눈감도고 할듯?)

./config 명령어를 날려서! 바로오오오!!!  (따로 경로를 지정하진 않았다)

make test (얘도 시간좀 걸림..) , make install 진행 하자!
후후 다 끝났다 이제... openssl 명령을!!!!

응 아직 아니야... 흠.. libssl.so.1.1 없단다..? 있는데....?

그렇다 경로가 잘못되었다 /usr/local/lib64 에서 /usr/lib64 소프링크를 생성 해주자! 그럼 드디어!!!

응 하나더... 총 2개 파일을 옮겨주자 libssl.so.1.1 libcrypto.so.1.1 -> /usr/lib64

ln -s /usr/local/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ls -s /usr/local/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

이렇게 Openssl 설치를 완료 했다!....그렇다 아파치를 위해 이 여정을 지나온 것이다 다시 처음으로 돌아가보자

아파치 컴파일 디렉터리로 이동!

./configure --with-ssl=/usr/bin --prefix=/app/apache --enable-ssl --enable-so

그리고는 make / make install 수행!

* Openssl 설치 이후에도 동일하게 버전이 낮다라는 에러가 나면 환경 변수 설정을 해주자

OPENSSL_HOME=/usr/local
PATH=$PATH:$OPENSSL_HOME/bin

이런식으로...

 

드디어 아파치 설치가 끝났다 !! SSL 없이 컴파일 설치랑은 좀... 피로도가 다르다...

데몬을 지속적으로 껏켯 할 수 있도록 환경 변수 지정을 해주자

vi /etc/profile

APACHE_HOME=/app/apache
PATH=$PATH:$APACHE_HOME/bin
export APACHE_HOME

 

source /etc/profile   *프로파일 재 로드

 

apachectl start 서비스 시작! 일단 80포트로 서비스는 잘 올라간다 이제 SSL 설정을 해보자

사설 SSL 인증서 생성은 이번 포스팅 참고 하자

 

이제 진짜 SSL설정을 할꺼다!

vi /app/apache/conf/extra/httpd-ssl.conf

*맨 아래에 추가해도되지만 난 그냥 기존 설정에 필요한 문구만 바꿀꺼다

144번 줄  SSLCertificateFile /app/apache/conf/sslcert/ssl.crt    *인증서 파일

154번 줄 SSLCertificateKeyFile /app/apache/conf/sslcert/private.key   *서버 키파일

 

ㅎㅎ흫흫 이제 키도 넣도 인증서도 넣었으니 https:// 를 쓰자!!!

apachectl start    !!!

 

..?...? 443 어디감???

그렇다!! httpd.conf 파일에서 수정을 해주어야 한다! 어떤걸?

89번 줄    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so     #주석해제 _ 모듈 사용

136번 줄  LoadModule ssl_module modules/mod_ssl.so                                       #주석해제 _ 모듈 사용

497번 줄  Include conf/extra/httpd-ssl.conf                                                       #주석해제 _ 설정 파일 참조 허용

바꾸는 김에 ServerName 도메인명 수정! (포스팅엔  ssltest.com 으로 함)

쨘!

이렇게 긴 여정 끝에 아파치에 SSL 적용을 해보았다

 

#요약

1. Perl 설치

2. Openssl 설치

3. Apache 설치

4. SSL 설정

 

... 요약하면 짧은게 왜케 힘들었지...

 

... 끝....

 

728x90

댓글