RedHat Linux >> Server Administration for Redhat Linux
|
[목차] |
제5장 Apache Web 서버
4. 가상 호스트 하나의 서버로 여러개의 웹사이트를 서비스하고자 할 때 이용하는 것이 가상 호스트이다. 가상 호스트를 하는 방법으로는 이름기반의 가상 호스트, IP 기반의 가상 호스트, 포트 기반의 가상 호스트로 구분할 수 있다. 이름 기반의 가상 호스트와 IP 기반의 가상호스트는 DNS에 해당 IP와 도메인이 설정되어 있어야 한다. 이부분은 DNS부분을 참고 하기 바란다. 가상 호스트에 대해 알아보자.
가. 이름 기반 가상 호스트 이름 기반의 가상 호스트를 이용하기 위해서는 HTTP/1.1에 호환되는 브라우저를 사용해야 한다. 이들 브라우저는 접속하려는 사이트의 이름을 전송하는 기능을 가지고 있다. 이러한 기능을 이용하는 것이다.
User nobody Group nobody NameVirtualHost 192.168.1.1
<VirtualHost jklee.leelab.co.kr> ServerAdmin webmaster@leelab.co.kr DocumentRoot /home1/jklee/public_html ServerName jklee.leelab.co.kr ErrorLog logs/jklee.leelab.co.kr-error_log CustomLog logs/jklee.leelab.co.kr-access_log common </VirtualHost> # <VirtualHost music.leelab.co.kr> ServerAdmin webmaster@leelab.co.kr DocumentRoot /home1/music/public_html/ ServerName music.leelab.co.kr ErrorLog logs/music.leelab.co.kr-error_log CustomLog logs/music.leelab.co.kr-access_log common </VirtualHost>
나. IP 기반의 가상 호스트
일부 HTTP/1.1을 지원하지 않는 브라우저를 위해 IP 기반의 가상 호스트를 하는 경우도 있다. IP 기반의 가상 호스트의 설정은 다음과 같다.
User nobody Group nobody
<VirtualHost 192.168.1.1> ServerAdmin webmaster@leelab.co.kr DocumentRoot /home1/jklee/public_html ServerName jklee.leelab.co.kr ErrorLog logs/jklee.leelab.co.kr-error_log CustomLog logs/jklee.leelab.co.kr-access_log common </VirtualHost> # <VirtualHost 192.168.1.2> ServerAdmin webmaster@leelab.co.kr DocumentRoot /home1/music/public_html/ ServerName music.leelab.co.kr ErrorLog logs/music.leelab.co.kr-error_log CustomLog logs/music.leelab.co.kr-access_log common </VirtualHost>
다. 포트 기반의 가상 호스트
포트 기반의 가상 호스트는 IP 기반의 가상 호스트에 기초를 두고 있다. 포트 기반의 가상 호스트의 장점은 하나의 IP를 가지고도 여러 웹사이트를 운영할 수 있다는 장점이 있다.
User nobody Group nobody Listen 80 Listen 8080
<VirtualHost 192.168.1.1:80> ServerAdmin webmaster@leelab.co.kr DocumentRoot /home1/jklee/public_html ServerName jklee.leelab.co.kr ErrorLog logs/jklee.leelab.co.kr-error_log CustomLog logs/jklee.leelab.co.kr-access_log common </VirtualHost> # <VirtualHost 192.168.1.1:8080> ServerAdmin webmaster@leelab.co.kr DocumentRoot /home1/music/public_html/ ServerName music.leelab.co.kr ErrorLog logs/music.leelab.co.kr-error_log CustomLog logs/music.leelab.co.kr-access_log common </VirtualHost>
필자도 leelab.co.kr의 도메인을 관리하면서 몇 개의 웹사이트를 운영하고 있다. 그 외에 외부 도메인에 대해 하나의 서버에서 운영을 하면서 아파치를 사용하고 있지만, 실제 아파치의 기능 중 극히 일부 기능만을 사용하고 있다. 그만큼 아파치의 기능은 매우 광범위하며, 더군다나 제3자로부터 제공되는 많은 외부 모듈을 추가함으로써 그 기능은 더 많아진다. 소개하지 못한 것은 여러분이 해결할 수 있길 바란다. 부록에 알짜리눅스 6.2에 포함된, 이만용씨가 주석부분을 번역한 아파치 환경설정 파일(httpd.conf)을 붙이겠다. 참고하기 바란다.
|
[목차] |