2014. 6. 23. 16:07ㆍOS/Linux
Linux에서 Apache , Tomcat6.0(mod_jk) 그리고 SSL 인증서 설정
▣ 인증서 생성, Apache와 Tomcat연동
- apache와 tomcat은 설치되어있는 전제로 설명
1. 인증서 설치
1) openSSL 설치 되어있는지 확인
- # rpm -qa openssl
(아마 설치 되어있을것이다.)
2) 서버 개인키 server.key 생성
- # openssl genrsa -des3 -out server.key 2048
3) 인증 요청서 생성
- # openssl req -new -key server.key -out server.csr
- 위의 명령어를 입력하면 암호를 입력하라는 메시지가나옴
- 암호입력 후 나머지는 "엔터"로 넘긴다.
- 위 과정이 끝나면 인증요청서 server.csr 이 생성된다.
4) 개인키 암호 제거
- 암호를 제거하지않으면 구동시마다 암호를 입력해야하기 때문에 귀찮으니 암호를 제거하자
- 암호를 제거해도 통신에는 문제가 없다.
- # cp server.key server.key.org (복사)
- # openssl rsa -in server.key.org -out server.key
- 위 명령어를 입력하면 암호를 입력하라는 메시지가 나온다.
5) 인증서 생성
- # openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- 서버인증서 server.csr이 생성된다.
6) 개인키와 인증서 파일 이동
- # cp server.key "아파치경로"
- # cp server.crt "아파치경로"
2. Apache와 Tomcat6.0 연동
*) jk_module 을 설치 후 수행 (jk_module는 개별적으로 검색)
1) httpd.conf 파일 수정 (ex: /usr/local/apache2/conf/httpd.conf)
- 가장 마지막 줄에 추가해준다.
LoadModule jk_module modules/mod_jk.so
Include conf/mod_jk.conf
2) mod-jk.conf 파일 생성
(ex: /usr/local/apache2/conf 폴더에 생성
JkWorkersFile "/usr/local/apache2/conf/workers.properties"
JkLogFile "/usr/local/tomcat6/logs/mod_jk.log"
JkLogLevel error
JkAutoAlias "/usr/local/tomcat6/webapps"
JkMount /* test1
<Directory "/usr/local/tomcat6/webapps">
Options Indexes FollowSymLinks
allow from all
</Directory>
3) workers.properties 생성 (/usr/local/apache2/conf 폴더에 생성)
workers.tomcat_home="/usr/local/tomcat6"
workers.java_home="/usr/local/jdk1.7.0_25"
4) Tomcat 설정
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="HTTP/1.1" redirectPort="8443" />
- 위와 같이 redirectPort="8443"을 추가해준다.
- http://localhost:8080/test 으로 접속 테스트 수행
3. SSL 설정 (https)
1) mod_ssl.co module 주석 해제
- LoadModule ssl_module /etc/httpd/modules/mod_ssl.so 주석제거
2) Secure(SSL/TLS) connections 아래부분에
- Include conf/extra/httpd-ssl.conf 주석제거
*) apache의 버전별로 수정하는 파일이 다르다.
- Apache version 1.x
/usr/local/apache/conf/httpd.conf
- Apache version 2.x
/usr/local/apache2/conf/ssl.conf
- Apache version 2.2x
/usr/local/apache2/conf/httpd-ssl.conf
#General setup for the virtual host
DocumentRoot "/home/test/"
#DocumentRoot "/usr/local/apache2/htdocs"
ServerName test.com:443
ServerAdmin you@example.com
ErrorLog "/usr/local/apache2/logs/error_log"
TransferLog "/usr/local/apache2/logs/access_log"
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
JKMount /* test1
</VirtualHost>
'OS > Linux' 카테고리의 다른 글
[Ubuntu] 리눅스 root 계정 활성화 (0) | 2014.09.13 |
---|---|
[Ubuntu] 'readonly' option is set (add ! to override) (0) | 2014.09.11 |
[Linux] svn 설정 (0) | 2014.06.17 |
[Linux] 자바, Tomcat ClassPath 잡는방법 (0) | 2014.04.29 |
[Linux] ftp 설정 (0) | 2014.04.23 |