https://www.kicassl.com/ (www.sgssl.net) 에서 30일간 무료 체험서비스를 제공해서 사용해 봤다.
그런데 httpd 에 ssl 지원이 안되어서 httpd-2.4 를 다시 컴파일해서 설치했다.
libphp5.so 가 연동이 안되어서 php 5.2부터 5.6까지 다 시도했는데, ap_log_error, ap_unixd_config 관련 에러로 하루를 낭비했다. ssl 연동은 성공했지만, php 연동이 안되어서 실패했다.
암튼 개인용 key를 이용해 csr 을 만들고 회사에서 pem 파일을 받으면, httpd-ssl.conf 에 설정하면 된다.
-----BEGIN RSA PRIVATE KEY----- 로 시작하는게 개인키다.(3번째 줄 파일에 경로를 설정하면 된다.)
나머지는 가입 업체에서 오기 때문에 csr 을 제외하고 경로를 설정하면 된다.
SSLCertificateFile "/usr/local/apache2/conf/도메인_cert.pem"
SSLCertificateChainFile "/usr/local/apache2/conf/ChainCA.crt"
SSLCACertificateFile "/usr/local/apache2/conf/RootCA.crt"
httpd.conf 파일에 ServerName 을 도메인:443
httpd-ssl.conf 파일에 ServerName 을 도메인:80
을 설정해야, Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for 가 안 나온다.
잘 되면, 비밀번호를 물어본다.
# /usr/local/apache2/bin/apachectl start
Apache/2.4.12 mod_ssl (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Private key 도메인:443:0 (/usr/local/apache2/conf/도메인_key.pem)
Enter pass phrase:
개 삽질 error_log로 해결
1) getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive
이게 나오면
User nobody
Group nobody
가 제대로 입력되었는지 확인한다. 2.4에서는 <IfModule unixd_module> 안에 있는데, 2.2에서 사용하려면 주석처리 한다.
2) configuration error: couldn't perform authentication. AuthType not set!
2.4 문법으로 Require all denied 가 있으면, 2.2에서 error 가 발생하므로, Deny from all 로 바꿔준다.
Require all granted도 없애야 2.2에서 에러가 안 난다.
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
3) .htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
이 나오면 apache 컴파일 옵션에
--enalble-rewrite 추가(재컴파일이나, loacmodule 방법이 있다.)
4) an unknown filter was not added: DEFLATE
--enable-deflate
댓글 달기