#. 참고 Apache 문서
https://httpd.apache.org/docs/2.4/platform/windows.html
#. Windows용 Apache 다운로드
https://www.apachelounge.com/download/
#. 보안취약점 조치 설정은 아래 글 참고
https://hyuunchul.tistory.com/289
#01. 설치 환경
OS : Windows10, Windows Server 2022
WAS : WebLogic12.2.1.4
#02. 설치 파일
01. Microsoft Visual C++ 2015-2022
Apache 서버 프로세스 및 WebLogic Plugin 사용을 위해 필요하다
02. Apache 2.4.*
https://www.apachelounge.com/download/
#03. 설치 절차
Microsoft Visual C++ 2015-2022 설치 후
원하는 경로에 Apache 설치파일 압축 해제
{APACHE_HOME}/conf/httpd.conf 파일을 수정한다.
Apache 서버가 설치된 경로로 수정한다.
SRVROOT 부분 수정
Define SRVROOT "D:/work/app/apache/apache2457"
Error Log 설정
로그 파일 로테이션 설정은 아래 이미지 참고
LogLevel은 info로 수정
(설정예시)
ErrorLog "||E:/app/apache2457/bin/rotatelogs.exe E:/logs/apache/error_log/error.log_%Y%m%d 86400 +540"
Access Log 설정
마찬가지로 로그 파일 로테이션 설정은 아래 이미지 참고
common 이 아닌 combined 설정이 권장된다
(설정예시)
CustomLog "||E:/app/apache2457/bin/rotatelogs.exe E:/logs/apache/access_log/access.log_%Y%m%d 86400 +540" combined
#04. 서비스 등록
관리자 권한으로 CMD 실행
{APACHE_HOME}/bin 디렉토리로 이동
아래 명령어 실행
-n 옵션을 사용하면 원하는 이름으로 서비스 등록을 할 수 있다.
해당 옵션 사용하지 않으면 default 값인 Apache2.4 로 등록
httpd.exe -k install -n "서비스이름"
#05. Apache 기동
httpd.exe 로 기동하면 CMD 창이 총 3개 활성화 된다.
(Apache 프로세스, Error Log 로테이션 프로세스, Access Log 로테이션 프로세스)
너무 번잡하므로, 윈도우 환경에서는 서비스를 통해 백그라운드로 기동하는 것이 편하다.
윈도우 서비스 창에서 직접 기동하는 방법이 있으며
ApacheMonitor.exe 를 활용하는 방법도 있다.
윈도우 장비 상에 등록되어 있는 Apache 서비스들을 일괄적으로 관리할 수 있어 편리하다.
#06. WAS (WebLogic) 연동
httpd.conf 맨 하단에 작성한다.
아래 설정 예시 참고
#weblogic_plugin
LoadModule weblogic_module E:/app/apache2457/weblogic_plugin_12214/lib/mod_wl_24.so
<IfModule mod_weblogic.c>
WebLogicCluster 127.0.0.1:8000
MatchExpression */api/*
MatchExpression *.jsp
MatchExpression *.do
MatchExpression *.nx
Idempotent OFF
WLIOTimeoutSecs 300
WLCookieName WLS_SESSIONID
</IfModule>
<Location /api>
SetHandler weblogic-handler
WebLogicCluster 127.0.0.1:8000
Idempotent OFF
WLIOTimeoutSecs 300
WLCookieName AMS_SESSIONID
</Location>
#07. openssl 활용하여 테스트용 SSL 인증서 생성
참고 글 (Apache 문서)
https://www.apachelounge.com/viewtopic.php?t=5684
bin 디렉토리에 openssl.exe 파일이 기본으로 포함되어있다.
해당 openssl을 사용하여 SSL 인증서 생성이 가능하다.
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. 환경변수 설정
set OPENSSL_CONF=D:\work\app\apache\apache2457\conf\openssl.cnf
=============================================================
#02. 개인키 생성
D:\work\app\apache\apache2457\bin\openssl.exe genrsa -des3 -out server.key 2048
Enter PEM pass phrase: (인증서 비밀번호)
=============================================================
#03. 인증요청서 생성
D:\work\app\apache\apache2457\bin\openssl.exe req -new -key D:\work\app\apache\apache2457\conf\ssl_wallet\server.key -out D:\work\app\apache\apache2457\conf\ssl_wallet\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 []:
=============================================================
#04. 개인키에서 패스워드 제거
D:\work\app\apache\apache2457\bin\openssl.exe rsa -in server.key -out server.key
Enter pass phrase for server.key: (개인키 패스워드 입력)
writing RSA key
패스워드가 제거된 개인키 파일 server.key 가 생성된다
해당 작업을 수행하지 않을 시
Apache 서버 기동 시 마다 SSL 인증서 패스워드를 입력해야 한다
=============================================================
#05. 인증서 생성
D:\work\app\apache\apache2457\bin\openssl.exe x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
서버 인증서인 secure.crt가 생성됨
=============================================================
httpd-ssl.conf 파일에 SSL 인증서 경로를 지정한다
SSLCertificateFile "D:/work/app/apache/apache2457/ssl_wallet/server.crt"
SSLCertificateKeyFile "D:/work/app/apache/apache2457/ssl_wallet/server.key"
'WEB - Apache 계열 > 설치' 카테고리의 다른 글
[Apache] 하나의 Apache 서버 엔진으로 다중 프로세스 기동하기 (0) | 2024.04.15 |
---|---|
[OHS] OHS12c 버전 domain 생성 시 hang 현상 - urandom 옵션 추가 (0) | 2024.01.10 |
[JBCS] JBoss Core Services - Apache HTTP Server 설치 가이드 (Linux) (0) | 2023.01.20 |
[설치] OHS 11g 설치 중 에러 상황 - INST-07094 : Ports Are Not Free Or Not Valid (0) | 2022.01.05 |
[OHS] OHS12c - 80 Port 사용하기 (0) | 2021.10.27 |