#. 설치 참고 글
http://apache.mirror.cdnetworks.com/apr/
https://httpd.apache.org/docs/2.4/ko/programs/rotatelogs.html
#. 설치 사전 준비
01. Apache 설치 파일 다운로드
아래 사이트에 접속하여 다운로드 받는다
http://mirror.apache-kr.org/apache/httpd/
02. Apache 설치 전 필수 라이브러리 설치
yum 명령어를 통해 아래의 라이브러리를 다운로드 및 설치한다
yum install gcc-c++
yum install zlib-devel
yum install openssl-devel
yum install pcre-devel
yum install expat-devel
yum groupinstall "Development Tools"
03. Apache apr 다운로드
apr, apr-util 파일이 없으면 설치 중 에러가 발생한다.
아래 사이트에 접속하여 다운로드 받는다
http://apache.mirror.cdnetworks.com/apr/
#. 설치 실행
01. 설치 파일 압축 해제
Apache 설치 파일, Apache apr 파일을 모두 압축 해제한다.
압축 해제한 apr 및 apr-util 디렉토리는
마찬가지로 압축 해제한 Apache 설치 파일 디렉토리 내로 이동한다.
{Apache 설치 파일}/srclib 디렉토리 내로 이동시킨다.
이동 시킨 apr 및 apr-util 파일명을 변경해주어야 한다.
아래 이미지와 같이 버전명을 제거하고 라이브러리 이름만 남긴다.
02. 컴파일 명령어
압축 해제한 Apache 설치 파일 디렉토리 내에
configure 실행 파일을 확인한다.
아래와 같이 컴파일 명령어를 수행한다
./configure --prefix=/app/test_apache/apache_2454 --enable-mods-shared=all --enable-so --enable-rewrite --enable-proxy --enable-proxy-ajp --enable-proxy-balaner --enable-proxy-http --enable-proxy-connect --enable-ssl --with-included-apr
--------------------------------------------------
##### 주의사항 #####
--prefix 옵션에 넣는 값이 Apache 서버의 home directory가 된다
아래와 같이 옵션 적용 시
--prefix=/app/test_apache/apache_2454
Apache 서버의 home directory는
/app/test_apache/apache_2454 가 된다
정상적으로 컴파일이 완료되면
아래와 같이 build summary 내용이 출력된다.
Install prefix 내용이 곧 Apache 의 home directory 이므로 정상적으로 세팅 되었는지 필히 확인한다
오류 없이 컴파일이 완료 되었다면
아래 명령어로 설치를 완료한다
make && make install
아래와 같이 오류 없이 설치가 완료되었다면
지정한 장소에 (Install prefix 옵션)
Apache 서버가 정상적으로 생성되어 있다.
#. ErrorLog 및 AccessLog rotation 설정
관련 Apache 문서
https://httpd.apache.org/docs/2.4/ko/programs/rotatelogs.html
Error Log 설정
로그 파일 로테이션 설정은 아래 이미지 참고
LogLevel은 info로 수정
(설정예시)
ErrorLog "|/app/apache/apache_2454/bin/rotatelogs /app/apache/apache_2454/logs/error_log/error.log_%Y%m%d 86400 +540"
Access Log 설정
마찬가지로 로그 파일 로테이션 설정은 아래 이미지 참고
common 이 아닌 combined 설정이 권장된다
(설정예시)
CustomLog "|/app/apache/apache_2454/bin/rotatelogs /app/apache/apache_2454/logs/access_log/access.log_%Y%m%d 86400 +540" combined
#. openssl 활용하여 테스트용 ssl 인증서 생성하기
openssl 설치 되어있는지 아래 명령어로 확인
openssl version
httpd.conf 에서 아래 부분을 주석 해제한다.
Include conf/extra/httpd-ssl.conf
ssl 사용 위해 추가로 load 필요한 module 이 있다.
아래 내용들도 주석 해제한다.
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule setenvif_module modules/mod_setenvif.so
아래 절차대로 SSL 인증서 생성
#01. 개인키 생성
openssl genrsa -des3 -out server.key 2048
Enter pass phrase for server.key: (인증서 비밀번호)
=============================================================
#02. 인증요청서 생성
openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key: (인증서 비밀번호 입력)
(자신의 경우에 맞게 적절히 입력)
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:Seoul
Locality Name (eg, city) [Default City]:Yeongdeungpo
Organization Name (eg, company) [Default Company Ltd]:Jmnote
Organizational Unit Name (eg, section) []:Jmnote
Common Name (eg, your name or your server's hostname) []:jmnote.com
Email Address []:web@jmnote.com
(아래의 두 줄이 나올 때는 그냥 Enter로 넘어가면 됨)
A challenge password []:
An optional company name []:
=============================================================
#03. 개인키에서 패스워드 제거
cp server.key server.key.origin
openssl rsa -in server.key.origin -out server.key
Enter pass phrase for server.key.origin: (개인키 패스워드 입력)
패스워드가 제거된 개인키 파일 server.key 가 생성된다
패스워드가 제거된 server.key는 원래 파일은 server.key.origin에 비해 용량이 작음
해당 작업을 수행하지 않을 시
Apache 서버 기동 시 마다 SSL 인증서 패스워드를 입력해야 한다
=============================================================
#04. 인증서 생성
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
서버 인증서인 secure.crt가 생성됨
=============================================================
#05. 확인
개인키 확인 : cat server.key | head -3
인증서 확인 : cat server.crt | head -3
=============================================================
httpd-ssl.conf 파일에 SSL 인증서 경로를 지정한다
#03. 인증서(server.crt) 및 개인키(server.key) 파일 경로 지정
SSLCertificateFile "/apache/apache2.4/ssl/server.crt"
SSLCertificateKeyFile "/apache/apache2.4/ssl/server.key"
#. 보안취약점 조치
아래 글 참고
https://hyuunchul.tistory.com/289
'WEB - Apache 계열 > 설치' 카테고리의 다른 글
[OHS] OHS12c - 80 Port 사용하기 (0) | 2021.10.27 |
---|---|
[OHS] OHS 버전 확인하기 (Apache 버전 포함) (0) | 2021.10.15 |
[OHS] OHS 12cR2 (12.2.1.*) 설치 - UNIX/LINUX 환경 (0) | 2021.08.17 |
[설치] - OHS 12cR1 (12.1.3) (0) | 2021.08.17 |
[설치] - OHS 11gR1 공통 (0) | 2021.08.17 |