이미 Apache 소프트웨어를 다운로드하고 압축을 풀어놓은 상태여야 합니다.
http://openssl.org에서 제공되는 OpenSSL 소스를 다운로드하여 압축을 풉니다.
OpenSSL을 컴파일하고 빌드합니다.
전체 설치 지침은 OpenSSL의 압축을 푼 디렉토리에서 INSTALL이라는 파일을 참조하십시오. 이 파일에는 사용자가 지정한 위치에 OpenSSL을 설치하는 방법에 대한 정보가 있습니다.
OpenSSL에 대한 자세한 내용은 http://www.openssl.org/를 참조하십시오.
Apache를 다운로드하여 압축을 풉니다.
Apache는 http://httpd.apache.org에서 제공됩니다.
Apache를 컴파일하고 빌드합니다. 다음과 같이 소스 트리를 구성합니다.
cd http-2.0_x
다음 명령을 실행합니다.
./configure --with-ssl= OpenSSL-install-path --prefix= Apache-install-path --enable-ssl --enable-so
위의 명령에서 x는 Apache 버전 번호이고 open-ssl-install-path는 OpenSSL이 설치된 디렉토리의 절대 경로이며 Apache-install-path는 Apache를 설치할 디렉토리입니다.
Apache 2 서버에서 HTTPS 요청을 수락하는 경우에는 --enable-ssl --enable-so 옵션만 사용하면 됩니다.
Linux 2.1의 Apache의 경우 컴파일 전에 다음을 수행합니다.
src/MakeFile 파일을 열고 자동으로 생성된 절의 종료 부분을 찾습니다.
자동으로 생성된 절의 첫 번째 네 줄 이후에 다음 줄을 추가합니다.
LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/application-server-install-dir/lib -L/opt/sun/private/lib
-L/opt/sun/private/lib는 Application Server를 Java Enterprise System 설치의 일부로 설치한 경우에만 필요합니다.
예를 들면 다음과 같습니다.
## (자동으로 생성된 섹션의 끝) ## CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) LIBS=$(EXTRA_LIBS) $(LIBS1) INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) "LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/application-server-install-dir /lib -L/opt/sun/private/lib
환경 변수 LD_LIBRARY_PATH를 설정합니다.
독립 실행형 설치에서는 Application Server: as-install/lib로 설정합니다.
Java Enterprise System 설치에서는 이 환경 변수를 Application Server: as-install/lib:opt/sun/private/lib로 설정합니다.
Solaris 9를 사용하는 경우에는 LD_LIBRARY_PATH에 /usr/local/lib를 추가합니다.
Apache를 사용 중인 버전 설치 지침에 따라 컴파일합니다.
자세한 내용은 http://httpd.apache.org/를 참조하십시오.
일반적으로 단계는 다음과 같습니다.
Apache의 ssl.conf 및 httpd.conf 파일에 사용자의 환경에 맞는 올바른 값이 포함되어 있는지 확인합니다.
ssl.conf의 VirtualHostdefault:port에서 기본 호스트 이름과 포트를 Apache가 설치되는 로컬 시스템의 호스트 이름 및 서버의 포트 번호로 바꿉니다.
이 변경을 수행하지 않으면 로드 밸런서가 작동하지 않습니다. Solaris의 경우 Apache가 시작되지 않거나 Linux의 경우 HTTPS 요청이 작동하지 않을 수 있습니다.
ssl.conf의 ServerName www.example.com:443에서 www.example.com을 Apache가 설치되는 로컬 시스템의 호스트 이름으로 바꿉니다.
이 변경을 수행하지 않으면 보안 인증서가 설치된 경우 Apache를 시작할 때 다음 경고가 나타납니다.
[warn] RSA server certificate CommonName (CN) hostname does NOT match server name! |
Apache용 인증서를 설치하는 방법에 대한 자세한 내용은 Apache용 보안 인증서 만들기 를 참조하십시오.
httpd.conf의 ServerName www.example.com:80에서 www.example.com을 Apache가 설치되는 로컬 시스템의 호스트 이름으로 바꿉니다.
이 변경을 수행하지 않으면 시스템에서 서버의 정규화된 도메인을 이름을 확인하지 못하고 중복된 VirtualHost 항목이 있을 경우 Apache를 시작하면 경고가 표시됩니다.
Apache 사용자에게 apache-install-location/conf/ 디렉토리 및 이 디렉토리의 파일에 액세스하기 위해 필요한 권한이 있는지 확인합니다.
Apache 사용자는 Apache 서버에서 요청에 응답할 때 사용된 UNIX 사용자입니다. 이 사용자는 httpd.conf 파일에서 정의합니다.
Apache를 루트 사용자로 설치한 경우 apache-install-location/conf/httpd.conf에서 Apache 사용자 및 그룹 구성에 대한 정보를 확인하십시오.
사용자와 그룹의 구성이 이 디렉토리의 보안 요구 사항을 충족하는지 확인합니다. 예를 들어 이 디렉토리에 대한 액세스를 제한하려면 Apache 사용자를 디렉토리 소유자와 동일한 사용자 그룹에 추가합니다.