우리는 Apache에서 https를 작동시키려고 노력하고 있습니다. /usr/local/apache2/bin에 있습니다.
/usr/local/apache2/bin/apachectl start
https를 사용하지 않고도 실행할 수 있습니다.
그러나 httpd.conf에서 이 줄의 주석 처리를 제거하면 다음과 같습니다.
Include conf/extra/httpd-ssl.conf
그러면 /usr/local/apache2/bin/apachectl start
작동하지 않습니다. 자꾸 오류가 나네요
# /usr/local/apache2/bin/apachectl start
Syntax error on line 56 of /usr/local/apache2/conf/extra/httpd-ssl.conf:
Invalid command 'SSLPassPhraseDialog', perhaps misspelled or defined by a module not included in the server configuration
httpd-ssl.conf의 줄은 다음과 같습니다.
SSLPassPhraseDialog builtin
또한 /usr/sbin/에 httpd를 설치했습니다. 위 줄의 주석 처리를 제거하면 해당 위치의 Tomcat이 제대로 실행됩니다. 둘 다 버전 2.2.15를 실행하고 있는데, 단 3개월 간격입니다(차이가 있는 것 같습니다).
# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Jul 17 2017 13:25:42
# /usr/sbin/httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Mar 22 2017 06:52:55
/usr/sbin/이 아닌 /usr/local/apache2/bin에서 이런 일이 발생하는 이유를 아는 사람이 있습니까? 아니면 이 구문 오류를 수정하는 방법을 아는 사람이 있습니까? 지금 하고 있는 해결 방법은 /usr/sbin을 사용하는 것이지만 나중에 이런 문제가 발생할 경우를 대비해 그 이유를 알고 싶습니다.
답변1
Apache 버전은 어디에 설치되어 있나요?
# which -a apache2
/usr/sbin/apache2
# which -a httpd
/usr/sbin/httpd
$PATH에 있다고 가정
...이 구문 오류를 수정하는 방법은 무엇입니까?
도움말/설명서에 명시된 대로 각 버전에 대해 서로 다른 구성을 사용할 수 있고 사용해야 합니다.
/usr/sbin/httpd -h 2>&1 | grep ServerConfigFile
-f file : specify an alternate ServerConfigFile
...SSL 암호 대화 상자...
"사용 가능한 구성 지시어 나열"을 수행할 수 있습니다.
/usr/sbin/httpd -L | grep -A 2 SSLPassPhraseDialog
SSLPassPhraseDialog (mod_ssl.c)
SSL dialog mechanism for the pass phrase query ('builtin', '|/path/to/pipe_program', or 'exec:/path/to/cgi_program')
Allowed in *.conf only outside <Directory>, <Files>, <Location>, or <If>