Search Results for 'virtualhost'

1 POSTS

  1. 2010.01.22 Apache에 SSL 적용시 VirtualHost 적용하기

설정 환경 : Linux

Apache에 SSL 을 적용하게 되면 대개 www.m-sys.co.kr 이나 회원 로그인 할때만 사용을 하는데 고객의 요청으로 서브 도메인까지 SSL 적용을 해야하는 경우가 있어서 제가 사용한 방법을 글로 남깁니다.


Apache 2.0.x 이하 버젼의 경우를 먼저 하도록 하겠습니다.

일단 ssl.conf 이 파일을 찾는게 중요합니다. 대부분의 설정을 여기서 하기 때문이죠

# cd /usr/local/apache/conf      <- 대부분 여기에 위치해요~

아차~ 제일 중요한 vhost.conf 에 있는 내용을 ssl.conf 로 넣어야 하니 이 작업을 먼저 하겠습니다.

# cat vhost.conf  >>  ssl.conf           <- 이렇게 하면 vhost.conf 의 내용이 ssl.conf 제일 밑 부분으로 연결되어 추가 됩니다.


그다음 vi 를 이용하여 수정~~

# vi ssl.conf

<IfDefine SSL>     <- cat 을 이용하여 vhost.conf 내용을 그냥 가져왔으니 여기와 끝을 잘 보시고 수정하셔야합니다. 맨 끝에는 </IfDefine> 이게 있어야겠죠?
.
.
.
Listen 443
NameVirtualHost 218.*.*.213:443         <-  대충 여기에 해당 서버 IP랑 Port 443 을 추가합니다.

그리고

SSLPassPhraseDialog  builtin   <- 수정을 하거나 주석(#) 처리해서 Server Reboot 시 패스워드를 자동으로 기입하도록 해야합니다.   아참 이부분은 Apache 시작시 패스워드를 묻지 않도록 인증서를 만들었으면 패스~~~~~~하셔도 됩니다.

요렇게... ^^

#SSLPassPhraseDialog  builtin
SSLPassPhraseDialog exec:/usr/local/apache/conf/ssl/startssl_pw.sh       <- 이부분은 저의 블로그에 보면 Apache 에서 자동 패스워드 적용이라는 타이틀로 되어 있는걸 참고 하시길 바랍니다.


그리고 밑의 내용처럼 수정 해 주시면 됩니다.

<VirtualHost 218.*.*.213:443>
        ServerAdmin webmaster@test.co.kr
        DocumentRoot /usr/local/home/test
        ServerName test.co.kr:443
        ServerAlias test.co.kr:443
        ScriptAlias /cgi-bin/ "/home/WWW/test/cgi/"
        ErrorLog logs/test-error_log
        CustomLog logs/test-access_log combined
</VirtualHost>

<VirtualHost 218.*.*.213:443>
        ServerAdmin webmaster@test.co.kr
        DocumentRoot /usr/local/home/test
        ServerName test.co.kr:443
        ServerAlias test.co.kr:443
        ScriptAlias /cgi-bin/ "/home/WWW/test/cgi/"
        ErrorLog logs/test-error_log
        CustomLog logs/test-access_log combined
</VirtualHost>
.
.
.
.
</IfDefine>    <-꼭~ 확인하세요~



이제 Apache2.0.x 이상 버젼을 하도록 하겠습니다.
뭐~ 위에 꺼와 틀린점은 ssl.conf  파일 이름과 디렉토리 위치가 틀리다는거 빼고는 다 똑같습니다.

# cd /usr/local/apache/conf/extra      <- 대부분 여기에 위치해요~

아차~ 제일 중요한 httpd-vhosts.conf 에 있는 내용을 httpd-ssl.conf 로 넣어야 하니 이 작업을 먼저 하겠습니다.

# cat httpd-vhosts.conf  >>  httpd-ssl.conf           <- 이렇게 하면 httpd-vhosts.conf 의 내용이 httpd-ssl.conf 제일 밑 부분으로 연결되어 추가 됩니다.


그다음 vi 를 이용하여 수정~~

# vi httpd-ssl.conf

<IfDefine SSL>     <- cat 을 이용하여 httpd-vhosts.conf 내용을 그냥 가져왔으니 여기와 끝을 잘 보시고 수정하셔야합니다. 맨 끝에는 </IfDefine> 이게 있어야겠죠?
.
.
.
Listen 443
NameVirtualHost 218.*.*.213:443         <-  대충 여기에 해당 서버 IP랑 Port 443 을 추가합니다.

그리고

SSLPassPhraseDialog  builtin   <- 수정을 하거나 주석(#) 처리해서 Server Reboot 시 패스워드를 자동으로 기입하도록 해야합니다.       아참 이부분은 Apache 시작시 패스워드를 묻지 않도록 인증서를 만들었으면 패스~~~~~~하셔도 됩니다.

요렇게... ^^

#SSLPassPhraseDialog  builtin
SSLPassPhraseDialog exec:/usr/local/apache/conf/ssl/startssl_pw.sh       <- 이부분은 저의 블로그에 보면 Apache 에서 자동 패스워드 적용이라는 타이틀로 되어 있는걸 참고 하시길 바랍니다.


그리고 밑의 내용처럼 수정 해 주시면 됩니다.

<VirtualHost 218.*.*.213:443>
        ServerAdmin webmaster@test.co.kr
        DocumentRoot /usr/local/home/test
        ServerName test.co.kr:443
        ServerAlias test.co.kr:443
        ScriptAlias /cgi-bin/ "/home/WWW/test/cgi/"
        ErrorLog logs/test-error_log
        CustomLog logs/test-access_log combined
</VirtualHost>

<VirtualHost 218.*.*.213:443>
        ServerAdmin webmaster@test.co.kr
        DocumentRoot /usr/local/home/test
        ServerName test.co.kr:443
        ServerAlias test.co.kr:443
        ScriptAlias /cgi-bin/ "/home/WWW/test/cgi/"
        ErrorLog logs/test-error_log
        CustomLog logs/test-access_log combined
</VirtualHost>
.
.
.
.
</IfDefine>    <-꼭~ 확인하세요~



이상입니다.
저도 아직 수정해야 할 부분이 많이 있습니다. 혹시나 제가 적은 글에서 틀린 점이 있거나 의문사항이 있으면 댓글을 남겨주시길 바랍니다.