관리하는 쇼핑몰에서 보안서버구축 공문을 받아 작업할때 나타난 작은 에러의 해결법입니다.
서버는 Window2003+APM 입니다.
먼저 Apache에 mod_ssl 을 추가한 후 ssl.conf 파일을 호출하도록 적용하였습니다.
다음 윈도우용 Openssl 에서 [Win32 OpenSSL v0.9.8e Light] 를 설치하였습니다.
보안서버는 가장 저렴한 업체인 comodossl.co.kr 에서 인증서를 구입하였습니다.
다음 comodossl 에 나와있는 구축설명서 대로 key 파일과 csr 을 생성, 주문하여 인증서를 받았습니다.

하지만 Apache 에 SSL 을 적용후 재시작하는 과정에 에러가 나와 error.log 파일 확인결과 아래와 같은 에러나타났습니다.

[error] Init: SSLPassPhraseDialog builtin is not supported on Win32 (...

인증서 주문시 서버 선택이 있는데 iis 로 주문한것(클라이언트가 주문)이 잘못되었나 싶어 apache 로 바꾸어 재요청여 인증서를 다시 받았으나 위와 같은 오류가 계속 납니다.

원인을 해결하기 위해 구글링 한 결과 다음과 같은 내용을 찾을 수 있었습니다.

Error: Init: SSLPassPhraseDialog builtin is not supported on Win32
Unfortunately Apache on Windows does not support encrypted private keys. To resolve this you will need to remove the private key password.

It is possible to create an unencrypted copy of the key using this command: openssl rsa -in file1.key -out file2.key

file2.key will contain your unencrypted key.

If you now point your server at this key file, it will not prompt you for a pass phrase.

즉, 키를 만들때 [암호화를 하면 Window 용 Apache 에서는 동작할 수 없다]는 내용입니다.

그렇게 하여 comodossl 의 개인키 생성시 사용한 옵션 중 -des3 라는 구문을 사용하지 않고 만들었습니다.

"openssl>genrsa -des3 -out domain.key 1024 "를
"openssl>genrsa -out domain.key 1024 " 로 key 로 생성

그리고 comodossl 에 찾은 내용을 메일로 보내고 다시 인증서를 받아 설치하고 Apache를 재시작 하니 올바르게 시작되었습니다.
다만 암호화를 하지 않은 키파일이기 때문에 사용시에 암호를 확인하지 않으니 복사에  신중을 기해야합니다.

사실.. 단순히 보안인증서버를 위한것이기 때문에 누군가 받아간다고 해도 걱정할 필요는 전혀 없습니다. ㅡ_ㅡ;;

다른 분들은 삽질하지 마시길.. ㅠㅡㅠ

'공부 해 Boa요. > Windows Server' 카테고리의 다른 글

IIS에서 PHP설치하기  (0) 2008.07.15

[php4.4.5 설치]

1. php.org에서 php4.4.5 윈도우즈용 바이너리를 다운받자.

2. 받은 파일을 압축을 풀고 디렉토리 이름을 php로 변경하자.

3. php 디렉토리를 c:\에 복사하자.

4. php-default.ini는 삭제 , php-dist.ini는 php.ini로 변경하고,
php.ini를 Windows폴더에 복사하자.

5. Windows폴더의 php.ini를 수정하자.

5.1 register_globals = Off 로 되어 있는 항목을 확인하자.
    (On이라고 되어 있다면 $_ 로 시작하는 시스템 변수를 사용할 수 있다.
     기본으로 Off로 세팅하자.)
5.2 extension_dir = ".\"를  php폴더의 extensions폴더와 맞춰주자.
    -> extension_dir = "c:\php\extensions\"
5.3 ;Windows Extensions 항목을 검색한 후 자신이 사용할 dll들을 추가해주자.
    -> extension=php_mbstring.dll   // 문자열 연산을 위한 모듈
    -> extension=php_domxml.dll  // XML DOM를 사용하기 위한 모듈
    -> extension=php_iconv.dll  // 문자열를 안시나 유니코드로 변환하기 위한 모듈
    -> extension=php_mssql.dll  // MS-SQL를 위한 모듈

5.4 error_reporting  =  E_ALL & ~E_NOTICE 를 찾아서
    error_reporting  =  E_ALL로 변경해주자. 코딩 시 디버깅을 위해서..

5.5 display_errors 항목을 검색해서
    display_errors = On로 되어 있는지 확인하자.

5.6 mssql.textlimit를 항목을 검색하자.
    mssql.textlimit = 4096으로 되어 있다.
    4096값을 최대값 2147483647 으로 변경하자.

   
5.7 mssql.textsize를 항목을 검색해서 5.6과 같이 최대값으로 변경하자.

6. PHP DLL을 Windows\System32폴더에 복사하자.
6.1 c:\php\php4ts.dll
6.2 c:\php\dlls의 모든 dll (ntdblib.dll은 제외)
6.3 c:\php\extends의 모든 dll

7. inetmgr을 실행시켜서 IIS를 창을 띄운다.

8. 기본 웹 사이트의 속성 -> ISAPI 필터 -> 추가 -> 필터이름 : php, 실행파일 : c:\php\sapi\php4isapi.dll

9. 기본 웹 사이트의 속성 -> 홈 디렉터리 -> 구성 -> 매핑 -> 추가 -> c:\php\sapi\php4isapi.dll

10. 웹사이트를 재시작하자.
        net stop w3svc
        net start w3svc

11. PHP가 IIS에 제대로 설치되었나 확인하기 위해 test.php파일을 만들자.
<? phpinfo(); ?> 까지 적고 test.php로 저장하자.

IIS에서 test.php가 있는 디렉토리에 가상디렉토리를 만들고 test.php가 제대로 보여지는지 확인하자! 제대로 보여지지 않는다면 1번부터 11번까지의 다시 확인하자.

* 여기까지 PHP를 윈도우에 설치하고 IIS에 세팅하는 법이다.*

** php.ini를 수정하거나 iis의 속성을 변경하였을 경우 항상
웹서비스를 재시작하도록 하자! **

+ Recent posts