강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

가상호스트 설정

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle.gif


이 문서를 다른 웹이나 출판물에 게시할 때는 반드시 출처를 밝혀 주시기 바랍니다.

최종 수정일 : 2001년 7월 3일
글쓴이 : 윤 일 (yunil@dreamwiz.com)

HOW-TO Configuration virtual host

Apache Web Server를 이용한 Virtual Host 설정은 Name Base Virtual Host(도메인 기반 버추얼 호스트), IP Address Base
Virtual Host(IP 주소 기반 버추얼 호스트), TCP Port Base Virtual Host(포트 기반 버추얼 호스트)로 나눌 수 있다.
여기에서 설명하고자 하는 것은 Name Base Virtual Host(도메인 기반 버추얼 호스트)이다.
Name Base Virtual Hosting(도메인 기반 버추얼 호스트)은 하나의 IP Address를 사용하는 웹 서버에 두 개 이상의 도메인을
설정하여 각 도메인의 DocumentRoot와 ServerName을 각기 다르게 설정해서 마치 여러 대의 Web Server를 운영하는 것처럼
설정하는 것을 말한다.

즉, 여러 도메인의 홈페이지를 하나의 Web Server에서 처리할 수 있는 것을 뜻한다. 많은 도메인을 하나의 IP Address가 할당된 Web Server에서 관리할 수 있다는 것이 Name Base Virtual Host(도메인 기반 버추얼 호스트)의 가장 큰 장점이다.
참고로 저희 루트맨의 Web Server에는 두 개의 독립도메인 홈페이지가 운영중이다.
강좌를 위해 dvc.rootman.co.kr이 임시로 등록되었다.


! 현재 서버 IP Address에 두 개 이상의 도메인이 물려 있어야 한다

우선 도메인을 하나만 보유하고 있는 분들을 위해 현재 보유하고 있는 도메인에 대해 서브 도메인을 설정하고 Name Base
Virtual Hosting을 테스트 해볼 수 있게 서브 도메인 설정부터 잠깐 설명하고 넘어 가겠다.

지금 부터의 설명은 rootman.co.kr과 dvc.rootman.co.kr(rootman.co.kr의 Sub 도메인)에대해 IP 203.241.205.97에 Name Base
Virtual Hosting을 한다는 가정 하에 설명을 하겠다.

dvc.rootman.co.kr이란 도메인의 추가 하기 위해 rootman.co.kr의 zone파일을 다음과 같이 수정했다.

virthost3.gif


dvc             IN              A               203.241.205.97

이 부분이 현재 IP에 dvc.rootman.co.kr이라는 서브 도메인을 설정하는 부분이다.
이 한줄로 IP 203.241.205.97에 dvc.rootman.co.kr을 추가 한 것이다.
dvc 부분에 설정해 주고 싶은 호스트 이름을 적으면 그 호스트에 대해 설정된다.
당연히 IP Address도 고쳐 줘야 되겠지요..

이렇게 수정한 후 수정한 Name Server설정을 적용하기 위해 네임 서버를 restart 해준다.
[root@yunil /root]# /etc/rc.d/init.d/named restart  (Name Server Restart)

이제 본격적으로 Name Base Virtual Hosting을 위해 httpd.conf파일을 수정한다.

운영자의 apadche 버젼은 apache_1.3.20이다.
우선 vi 편집기로 httpd.conf파일을 연다.
vi 편집기에서 BindAddress 단어를 검색하면 다음과 같은 내용을 찾을 수 있다.
(vi 편집기에서 문자열 검색은 /(슬래쉬)를 누르고 검색할 문자열을 입력하면 된다)

 

virthost2.gif


#BindAddress *

이 부분의 주석(#)을 제거 한다.
이 부분 *(와일드 문자--> 모든 아이피 주소를 가르킴)는 모든 IP Address에 대해 Apache Web Server가 귀를 귀울린다는
의미 이다

(이 부분에 주석 처리를 하지 않으면 가상 호스트를 설정해도 Default Server의 페이지만 보여 진다고 Apache 문서에 설명되어 있는데 저의 경험으로는 이 부분에 주석처리 하지 않아도 Virtual hosting이 잘 작동했다. 아마도 IP Address Base Virtual Hosting에만 해당되는 내용이 아닌가 추측한다. 그래도 찝찝하니까 주석을 제거 하자)

주석을 제거 했으면 다시 VirtualHost 단어를 검색한다
그러면 Virtual Host부분에 대한 예문 내용을 볼 수 있을 것이다.
하지만 우리는 이 예문을 수정하는 것이 아니라 다음과 같이 Virtual Host 설정문을 직접 적어 줄 것이다.  

 

virthost.gif


Name Base Virtual Host를 설정할 때 가장 주의해야 될 부분은
NameVirtualHost 지시자 위로 Virtual Host의 디폴트 서버(주황색 부분)를 설정해야 된다.

즉 도메인이 아닌 IP Address로 접속할 때 뜨는 페이지를 설정한다는 것이다.
Default Server를 설정하고 그 다음 줄에 NameVirtualHost 지시자를 이용해서 IP Address 지정해 준다.

위의 경우는 모두 4개의 도메인을 VIrtual Hosting 하고 있다.
NameVirtualHos 지시자 밑 3번째가 방금 설정해준 dvc.rootman.co.kr의 Virtual Hosting 부분이다.

VirtualHost 설정은
로 시작해서 로 끝난다.
문안의 지시자들은 다음과 같은 효과를 가진다.

ServerAdmin
이 도메인에 해당하는 홈페이지 관리자 이메일을 적어 준다.

DocumentRoot
해당 도메인의 html파일이 있는 RootDirectory(루트 디렉토리)를 설정한다.

ServerName
Virtual Hosting을 할 도메인을 적는다.

ErrorLog
Web Server 접근 에러 사항들을 기록하는 파일이 이름을 경로명과 같이 적어 준다.
파일 이름은 다음과 같은 형식을 따라 주기 바란다 서버이름-error_log

CustomLog
Web Server에 접근한 Remote Host들의 정보를 기록할 파일의 이름을 경로명과 함께 적어 준다.
Log 파일 경로 옆에 있는 common은 기록할 Log 파일의 포멧을 가리키다.
Log 파일의 포멧에는 common, referer, agent, combined 가 있다. Log 포멧의 자세한 궁금증은 httpd.conf 설정하기를
참고하기 바란다.

ServerAlias
위의 설정에서는 사용하지 않았지만 많이 사용되는 지시자이다. 특히 서브 도메인을 이용한 가상 호스트가 아닌 독립 도메인을 이용한 가상 호스트 설정에서는 대부분의 사이트에서 www 호스트와 순수 도메인을 웹 사이트 도메인으로 사용하고 있기 때문에 www.domain.com 과 domain.com이을 같은 가상 호스트에 포함 시켜야 된다. 즉 ServerAlias 지시자로 www 호스트를 순수 도메인과 alias 설정해서 사용해야 되는 경우가 많다. 다음의 설정예는 rootman.org의 가상 호스트를 www.rootman.org로도 접속할 수 있도록 설정한 것이다.

ServerName rootman.org
ServerAlias www.rootman.org


위의 설정 예에서 알수 있듯이 ServerAlias 지사자는 ServerName에 설정된 도메인과 alias 설정할 호스트를 설정한다.

이렇게 설정하고 아파치를 restart하면 Virtual Host가 적용이 될 것이다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  110 명