티스토리 뷰
윈도우 환경에 Apache 2.4 + Tomcat 7 연동, 사설인증서 발급 및 SSL 적용방법
일상의 기록을 남긴다 2017. 11. 20. 15:28직접 인터넷을 검색해서(구글링) 설치한 결과를 바탕으로 성공한 것을 기록으로 남김.
# 준비물
1. JDK 1.6 (오라클 홈페이지에서 알아서...)
2. 아파치 2.4 (VC15, 이건 빌드버전이라고 생각하면 된다.)
(https://www.apachelounge.com/download/ 에서 httpd-2.4.29-Win64-VC15.zip 파일 다운)
3. mod_jk (위와 동일한 링크의 하단에서 mod_jk-1.2.42-win64-VC15.zip 파일 다운로드)
4. Tomcat 7.0.72 (https://tomcat.apache.org/download-70.cgi 마이너 버전은 알아서...)
5. openssl (https://code.google.com/archive/p/openssl-for-windows/downloads)
# 설치
1. JDK 1.6 설치 및 시스템 환경변수 JAVA_HOME 설정 및 PATH 설정
2. 아파치 2.4 패키지를 C:/Apache24 경로에 압축해제한다. (다른경로로 설정하게 되면 추후 config 설정 시 경로를 변경해야 할 부분이 너무 많기 때문에 config의 기본 경로로 설정된 C:/Apache24 에 압축 해제하는 것이 정신건강상 좋다. 필자도 처음엔 C:/Program Files/Apache24에 설치했다가 낭패를 봤다...)
3. mod_jk.zip을 압축해제한 후 mod_jk.so 파일만 C:/Apache24/modules에 복사해서 넣는다.
4. Tomcat 7을 설치한다. (필자는 편의상 인스톨러 형태의 파일을 다운로드 받아서 기본 경로로 설치했다. 기본경로는 C:/Program Files/Apache Software Foundation/Tomcat 7.0 이다.)
5. C:/Apache24/conf/httpd.conf 파일을 편집기로 열고 아래의 순서대로 작업한다.
- 169라인 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 주석해제
- 171라인 LoadModule ssl_module modules/mod_ssl.so 주석해제
- 207라인에 <VirtualHost _default_:80>
ServerName www.자기도메인.co.kr
Redirect permanent / https://localhost
</VirtualHost>
를 추가
- 225라인의 #ServerName www.example.com:80 를 ServerName www.자기도메인.co.kr:80 로 주석해제 및 도메인 설정
- 234라인의 Require all denied 를 Require all granted 로 변경
- 249라인의 DocumentRoot를 DocumentRoot "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/ROOT" 로 변경
- 250라인의 Directory "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/web패키지명" 로 변경
- 284라인의 DirectoryIndex를 index.jsp로 변경
- 525라인의 Include conf/extra/httpd-ssl.conf 주석해제
- 맨 아래에 LoadModule jk_module modules/mod_jk.so
Include conf/mod_jk.conf
두 줄 추가
위 작업을 완료한 뒤 httpd.conf 파일을 저장한다.
6. C:/Apache24/conf 경로에 mod_jk.conf 파일을 생성하고 아래의 내용을 입력
<IfModule mod_jk.c>
JkWorkersFile "C:/Apache24/conf/workers.properties"
JkLogFile "C:/Apache24/logs/mod_jk.log"
JkLogLevel info
JkAutoAlias "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps"
JkMount /* ajp13
JkMount /*.jsp ajp13
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
</IfModule>
7. C:/Apache24/conf 경로에 workers.properties 파일을 생성하고 아래의 내용을 입력
workers.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
8. C:/Apache24/conf/extra/httpd-ssl.conf 파일을 열어서 아래와 같이 수정한다.
- 124 라인의 DocumentROOT를 C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/ROOT 로 변경
- 125 라인의 ServerName을 www.자기도메인.com:443
- 필요에 따라서 126 라인의 ServerAdmin 도 설정하면 된다. (필자는 귀찮아서 패스함)
9. openssl 패키지를 C:/openssl 경로에 압축해제.
10. C:/openssl/bin 에 있는 libeay32.dll 파일과 ssleay32.dll 을 윈도우 설치폴더\system32에 복사.
11. 커맨드창을 관리자 권한으로 실행 후 C:/openssl/bin 으로 이동
12. 커맨드 창에서 openssl genrsa -des3 -out c:\server.key 2048 이라고 명령어 입력 후 실행(엔터)
- 이 과정에서 인증서에서 사용할 암호를 입력하라고 한다. 알아서 원하는 암호 입력하되 반드시 기억해둔다.
13. 커맨드 창에서 openssl req -new -key c:/server.key -out c:/server.csr -out c:/server.csr -config c:/openssl/openssl.cnf 명령어 입력 후 실행
- 이 과정에서 인증서의 dn 값을 생성하기 위해 필요한 정보를 입력 받는데 다른 것은 필요없고 Common Name 항목에서 자신의 도메인을 입력하면 된다.
14. 윈도우 탐색기로 C드라이브의 루트 디렉토리(C:/)를 보면 server.key 파일이 보일 것이다. server.key 파일의 이름을 server.key.org로 변경한다.
15. 개인키 암호를 제거하기위해 다시 커맨드 창에서 openssl rsa -in c:\server.key.org -out c:\server.key 명령어를 입력 후 실행
- 이 과정에서 12에서 입력했던 암호를 입력 해야한다.
16. 커맨드 창에서 다시 openssl x509 -req -days 365 -in c:\server.csr -signkey c:\server.key -out c:\server.crt 명령어를 입력 후 실행
17. 윈도우 탐색기로 C드라이브의 루트 디렉토리(C:/)를 보면 server.key 파일과 server.crt 파일이 있을 것이다 .이 두 파일을 C:/Apache24/conf 에 복사한다.
18. 커맨드 창에서 C:/Apache24/bin 으로 폴더를 이동한다.
19. 커맨드 창에서 httpd.exe -k install 명령어 입력 후 실행
위와 같은 결과가 보인다면 에러 없이 윈도우 서비스에 잘 등록이 된 것이다. 이렇게 나오지 않는다면(필자가 하라는 대로 했다면 에러가 날리가 없다.) 해당 에러는 구글링을 해서 알아보시길....
# 참고로 위 스샷의 경로가 C:/Program Files/Apache24/bin 인 이유는 위에서 언급했듯이 처음엔 이 경로로 설치했다가 이런 저런 경로가 꼬여서 다시 설치했다. 다시 설치할 때는 스샷을 다시 찍기 귀찮아서 위 경로에 설치했던 스샷을 재활용 한 것이니 착오 없으시길....
20. Tomcat 7 을 패키지 인스톨러로 설치했고 19번의 명령어가 정상 실행 되었다면
윈도우 서비스에 Apache24 와 Apache Tomcat 7.0 Tomcat7 이 보일 것이다.
# 참고로 윈도우 서비스 확인 방법은 시작->실행->services.msc 입력 하면 된다.
21. 윈도우 서비스에서 Apache24를 실행시키고 그 다음 Tomcat7 을 실행시킨다.
22. 브라우저를 실행시킨 후 http://localhost 에 접속한다. 다음과 같이 나오면 사설 인증서를 이용한 SSL 설정이 된 것이다.
여기서 "이 웹 사이트를 계속 탑색합니다(권장하지 않음)." 을 선택한다.
23. 자동으로 https:/localhost 로 리다이렉트가 되고 톰캣의 메인 페이지가 보인다면 성공적으로 모든 작업이 끝난 것이다.
이상 작업을 마침...
# 넋두리 #
여태 개발하면서 tomcat에서 웹 어플리케이션을 실행시키는 형태만 해봤었는데 이번 기회에 아파치 설치 및 연동도 해보고 덤으로 사설인증서 발급방법 및 SSL 설정도 적용해보니 재미있긴 재미있었다.
내가 이 글을 남기는 이유는 구글링을 해보면 이 작업들이 다 따로따로 되어있었고 하라는대로 했는데 버전이 다르고 OS가 달라서(대부분 리눅스 기반에서의 설정 방법이더라...) 잘 안되는 문제들이 있었기 때문에 많이 삽질했었다. 어쩌면 나와 같은 사람이 있을지도 모른다는 생각과 언젠가 나에게 또 다시 필요할지도 몰라서 이 글을 기록으로 남긴다.
부디 누군가에게 도움이 되었기를...
'Dev Tools > WEB & WAS' 카테고리의 다른 글
Tomcat 에 SSL 설정하기 (0) | 2017.12.27 |
---|---|
Apache 2.4 + Tomcat 7 + SSL 적용시 주요 컨피그 설정방법 (0) | 2017.11.21 |
- Total
- Today
- Yesterday
- redissonclient
- AWS KMS
- 휴대폰번호 마스킹
- 아파치 톰캣 연동
- 이클립스
- 자바 정규식
- 스프링
- redisson
- spring
- AES 암호화
- Java
- Tomcat
- jvm특징
- Eclipse
- SSL
- 클래스로더
- STS
- 오라클
- AES with AWS KMS
- 톰캣
- svn
- Oracle
- 마스킹
- RegExp
- apache
- commit
- 아파치
- AES 복호화
- AES Decryption
- AES Encryption
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |