웹마스터 팁

http://www.linux4you.co.kr/bbs/view.php?id=lbd05&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=171. IP-based Virtual Host 란 ?

1) 한대의 서버에 한개(또는 여러개)의 NIC(LAN카드)에  IP-aliase 를 통해 여러개의 IP를 지정하여 웹서버를 운영하는 형태 입니다.  한대의 서버로 독립된 IP의 다수의 웹서버를 돌릴때 사용하는 방식입니다.

2) IP aliase 를 통해 NIC이 먼저 구성 되어 있어야 합니다. 이론상 1개 NIC에 255개의 IP가 부여 가능하지만 퍼포먼스등 문제가 있습니다.

3) 선결 조건으로 DNS 에서 각 도메인이 각자의 IP를 사용 하도록 정확히 작성되어 있어야 합니다.

4) DNS 셋업이 틀리면 다른 모든 서버와 같이, 어떻게 동작할지 알기 힘듭니다. 그러나 IP-based Virtual Host 는 상대적으로 Name-based 보다   디버깅이 용이 합니다.

2. 방식
여러개의 데몬을 돌리는 경우와 1개의 데몬을 돌리는 경우가 있습니다. 전자의경우 보안사의문제로 웹서버를 나누어야 할 경우에 사용합니다. 여러개의 데몬을 돌리는경우 Listen 지시자의 www.myserver.com:80  등의형태로 구분해 주면 됩니다. 보통 1개의 데몬으로 Virtual Host 를 운영 합니다.

3. 관련된 지시자
DocumentRoot
ServerAlias
ServerName
ServerPath
VirtualHost

4. 예제
IP : 111.222.333.441   linux4you1.co.kr
IP : 111,222,333,442   linux4you2.co.kr
IP : 111.222.333.443   linux4you3.co.kr 의 버츄얼 웹서버를 붙이는 예 입니다.

/home/www/hosts/linux4you1, 2, 3 의 디렉토리에 홈페이지가 놓이면 됩니다. (통상 index,html , index.php 가 되겠습니다.)

----------    중략   --------------
<VirtualHost 111.222.333.441>
ServerName www.linux4you1.co.kr
DocumentRoot /home/www/hosts/linux4you1
</VirtualHost>

<VirtualHost 111.222.333.442>
ServerName www.linux4you2.co.kr
DocumentRoot /home/www/hosts/linux4you2
</VirtualHost>

<VirtualHost 111.222.333.443>
ServerName www.linux4you3.co.kr
DocumentRoot /home/www/hosts/linux4you3
</VirtualHost>

**. 각 VirtualHost의 Serveradmin, Errorlog, TransferLog 등은 조절해서 넣어주면 됩니다.
-----------------  후략 -------------------------

IP 대신 웹서버의 (도메인)네임을 아래처럼  줄수도 있으나,  DNS caveats 문제가 생길수 있고 디버깅을 어렵게 하므로 사용하지 말것을 권고하고 있습니다.

<VirtualHost www.linux4you1.co.kr>
ServerName www.linux4you1.co.kr
DocumentRoot /home/www/hosts/linux4you1
</VirtualHost>

DNS caveat 문제 링크  : http://httpd.apache.org/docs-2.0/dns-caveats.html