영삼이의 IT정보2011. 10. 22. 11:48

만약 한 대의 컴퓨터에서 여러 개의 웹사이트를 운영하고 싶다면? 정답은 VirtualHost를 이용하는 것이다.

X:\xampp\apache\conf\extra\httpd-vhosts.conf 파일을 수정하자.

우선 19번째 줄에서 코멘트를 해제하자.

NameVirtualHost *:80

맨 끝에 다음을 추가한다.

<VirtualHost *:80>
 DocumentRoot "/xampp/htdocs"
 ServerName localhost
</VirtualHost>

기본값대로 브라우저에 localhost라고 입력해도 여전히 X:\xampp\htdocs 를 가리키게 하기 위함이다.

이제 우리가 추가할 폴더는 다음과 같이 지정한다.

예1) 브라우저에 wems라고 치면 X:\home\wems\public_html 를 가리키게 하고 싶을 때. 폴더명을 이렇게 해두면 php에서는 여전히 문서 위치가 /home/wems/public_html 로 리눅스에 업로드한 후에도 절대 경로가 같기 때문에 편하다.

<VirtualHost *:80>
 DocumentRoot "/home/wems/public_html"
 ServerName wems

 <Directory "/home/wems/public_html">
  Options Indexes Includes execCGI
  AllowOverride None
  Order Allow,Deny
  Allow From All
 </Directory>
</VirtualHost>

예2) wems.snupaim.net이라는 주소에 대해 X:\home\wems\public_html 내의 파일을 서비스하고 싶을 때

<VirtualHost *:80>
 DocumentRoot "/home/wems/public_html"
 ServerName wems.snupaim.net

 <Directory "/home/wems/public_html">
  Options Indexes Includes execCGI
  AllowOverride None
  Order Allow,Deny
  Allow From All
 </Directory>
</VirtualHost>

(참고로 이 경우, 네임서버에서 wems.snupaim.net에 대해 내 컴퓨터의 아이피를 가리키도록 bind를 설정해두어야 외부에서도 wems.snupaim.net 주소로 내 컴퓨터 내의 X:\home\wems\public_html 내의 파일을 서비스받을 수 있다.)

apache의 설정을 바꾼 것이므로 XAMPP 혹은 apache만 껐다가 다시 켜야 반영된다.


여기서 끝은 아니고, C:\windows\system32\drivers\etc\hosts 파일을 열고 수정해줘야 한다.

127.0.0.1 localhost

은 이미 추가되어 있을 것이다. 여기에 다음을 추가해야 제대로 동작한다.

127.0.0.1 wems

X:\home\wems\public_html 안에 index.html 파일을 만들어서 <h1>WEMS</h1> 이라고 적고 저장한 후 브라우저 주소줄에 wems라고 입력해보자. WEMS라고 나오면 제대로 된 것이다.


Posted by 다오나무