19.3. 가상 호스트 설정

HTTP 설정 도구를 사용하여 가상 호스트를 설정 가능합니다. 가상 호스트는 동일한 컴퓨터 상에서 다른 IP 주소, 다른 호스트명이나 다른 포트에서 다른 서버를 실행할 수 있게 해줍니다. 예로 들면, 가상 호스트를 사용하여 동일한 웹 서버에서 http://www.example.com와 http://www.anotherexample.com라는 두 개의 웹 사이트를 운영 가능합니다. 이 옵션은 디폴트 가상 호스트와 IP 기반 가상 호스트에 사용되는 <VirtualHost> 지시자에 상응하며, 이름 기반 가상 호스트에 사용되는 <NameVirtualHost> 지시자에 상응합니다.

한 개의 가상 호스트에만 설정된 지시자는 오직 그 특정 가상 호스트에만 적용됩니다. 만일 기본 설정 편집 버튼을 사용하여 그 지시자가 서버 전반에 설정되었다면, 기본 설정이 사용됩니다. 예를 들어 여러분은 각각의 가상 호스트에 대한 개별 이메일 주소를 정의하지 않고 주 탭에서 웹마스터 이메일 주소를 정의하실 수 있습니다.

HTTP 설정 도구는 그림 19-8에서 보여지는 것과 같은 기본 가상 호스트를 포함합니다.

그림 19-8. 가상 호스트

기본 가상 호스트와 관련된 보다 많은 정보를 원하신다면, http://httpd.apache.org/docs-2.0/vhosts/ 사이트와 여러분의 컴퓨터에 설치된 Apache HTTP 서버 문서 자료를 참조하시기 바랍니다.

19.3.1. 가상 호스트 추가와 편집

가상 호스트를 추가하기 위해서는 가상 호스트 탭을 클릭하신 후 추가 버튼을 클릭합니다. 또한 목록에서 가상 호스트를 선택한 후 편집 버튼을 클릭하는 방법도 있습니다.

19.3.1.1. 일반 옵션

일반 옵션 설정은 여러분이 설정하시는 가상 호스트에만 적용됩니다. 가상 호스트 이름 입력란에 가상 호스트의 이름을 설정해 주십시오. HTTP 설정 도구는 이 이름을 사용하여 가상 호스트들을 구별합니다.

문서 루트 디렉토리 값은 가상 호스트에 대한 루트 문서 (예, index.html)를 포함하고 있는 디렉토리로 설정하십시오. 이 옵션은 <VirtualHost> 지시문 내의 DocumentRoot 지시자에 상응합니다. Red Hat Linux 7 이전 버전에서 Red Hat Linux에 포함된 Apache HTTP 서버는 /home/httpd/html를 DocumentRoot로 사용해왔습니다. 그러나 Red Hat Linux 9에서 기본 DocumentRoot는 /var/www/html로 변경되었습니다.

웹마스터 이메일 주소는 VirtualHost 지시자 내의 ServerAdmin 지시자에 해당합니다. 오류 페이지에서 이메일 주소와 함께 주석을 보여주도록 선택하신 경우 오류 페이지의 주석에서 이 이메일 주소가 사용됩니다.

호스트 정보 섹션에서는 기본 가상 호스트, IP 기반의 가상 호스트 또는 이름 기반의 가상 호스트 중 한가지를 선택해 주십시오.

기본 가상 호스트

기본 가상 호스트는 한 개만 설정하셔야 합니다. (이미 한 개의 가상 호스트가 기본으로 설정되어 있다는 사실을 기억해 주십시오). 기본 가상 호스트 설정은 요청된 IP 주소가 다른 가상 호스트에 명확히 기재되지 않았을 경우에 사용됩니다. 만일 기본 가상 호스트가 정의되지 않았다면, 기본 서버 설정이 사용됩니다.

IP 기반의 가상 호스트

IP 기반의 가상 호스트를 선택하시면, 서버의 IP 주소에 기반하여 <VirtualHost>directive를 설정하는데 사용되는 창이 나타납니다. IP 주소 란에 IP 주소를 지정해 주십시오. 한 개 이상의 IP 주소를 지정하시려면, 각 IP 주소 사이를 한 칸 띄어 입력하십시오. IP 주소:포트 구문을 사용하여 포트를 지정하시기 바랍니다. IP 주소에 해당하는 모든 포트를 설정하시려면 :* 를 사용하시면 됩니다. 가상 호스트에 대한 호스트명은 서버 호스트명 란에 입력해 주십시오.

이름 기반의 가상 호스트

이름 기반의 가상 호스트를 선택하시면, 서버의 호스트명에 기반하여 NameVirtualHost 지시자를 설정하는데 사용되는 창이 나타납니다. IP 주소 란에 IP 주소를 지정해 주십시오. 한 개 이상의 IP 주소를 지정하시려면, 각 IP 주소 사이를 한 칸 띄어 입력하십시오. IP 주소:포트 구문을 사용하여 포트를 지정하시기 바랍니다. IP 주소에 해당하는 모든 포트를 설정하시려면 :* 를 사용하시면 됩니다. 가상 호스트에 대한 호스트명은 서버 호스트명 란에 입력해 주십시오. 별칭들 섹션에서는 추가 버튼을 클릭하여 호스트명 별칭을 추가하실 수 있습니다. 이곳에 별칭을 추가하시면 NameVirtualHost 지시자 안에 ServerAlias 지시자가 추가됩니다.

19.3.1.2. SSL

참고알림
 

이름 기반의 가상 호스트는 SSL과 함께 사용하실 수 없습니다. 그 이유는 (브라우저가 보안 웹 서버의 인증서를 받을 때) 적절한 이름 기반 가상 호스트를 식별하는 HTTP 요청이 일어나기 전에 SSL 주고 받기(handshake)가 발생하기 때문입니다. 만일 이름-기반 가상 호스트 사용을 원하신다면, 비-보안 웹 서버를 사용하시는 경우에만 가능합니다.

그림 19-9. SSL 지원

만일 Apache HTTP 서버가 SSL 지원 없이 설정되었다면, Apache HTTP 서버와 클라이언트 사이의 통신은 암호화되지 않기 때문에 개인 정보나 비밀 정보가 저장되지 않은 웹 사이트에 적합합니다. 예로 들면 공개 소스 소프트웨어와 문서 자료를 배포하는 공개 소스 웹사이트에서는 보안 통신이 필요하지 않습니다. 하지만 신용 카드 정보를 필요로하는 전자 상거래 웹사이트의 경우에는 반드시 통신을 암호화하기 위하여 Apache SSL 지원을 사용해야 합니다. Apache SSL 지원을 사용을 활성화한다면 mod_ssl 보안 모듈의 사용도 활성화됩니다. HTTP 설정 도구를 통하여 Apache SSL 지원을 활성화하기 위해서는 주 탭 => 사용 가능한 주소들에서 443 포트를 통한 접속을 허용해야만 합니다. 보다 자세한 사항에 대해서는 19.1 절을 참조하시기 바랍니다. 그 후 가상 호스트 탭에서 가상 호스트명을 선택하고 편집 버튼을 클릭합니다. 왼쪽에 위치한 메뉴에서 SSL을 선택하신 후 그림 19-9에서 보여지듯이 SSL 지원 사용 옵션을 체크합니다. SSL 설정 부분은 가짜 디지털 인증서 (dummy digital certificate)를 사용하여 미리 설정되었습니다. 디지털 인증서는 보안 웹 서버를 위한 인증을 제공하며 클라이언트 웹 브라우저에 대한 보안 서버를 식별합니다. Red Hat Linux에서 제공한 가짜 디지털 인증서를 여러분 웹사이트에 사용하지 마십시오. CA-승인 디지털 인증서를 구입하는 방법에 대한 자세한 정보를 원하신다면 20 장을 참조하시기 바랍니다.

19.3.1.3. 가상 호스트 추가 옵션들

가상 호스트를 위한 사이트 설정, 환경 변수, 그리고 디렉토리 옵션은 여러분이 디폴트 설정 편집 버튼을 클릭하셨을 때 설정하신 지시자와 모두 동일합니다. 단지 여기서 설정된 옵션들은 여러분이 설정하고 계신 개별 가상 호스트를 위한 것이라는 한가지 차이점이 있습니다. 이러한 옵션들에 대한 보다 자세한 정보를 원하시면 19.2 절을 참조하시기 바랍니다.