2. IP address Based Virtual Hosting (3)
여기 까지 왔다면 거의 설정을 다 한것이다. 이제 본격적으로 Virtual Hosting의 설정 file을
editing을 하도록 하겠다.
일단 /etc/httpd/conf로 이동을 한다.(REDHAT 기준)
- /etc/httpd/conf/httpd.conf 수정
httpd.conf의 제일 하단에 보면 BindAddress 부분과
<VirtualHost host.some_domain.com> </VirtualHost> 부분의 주석을 풀어
줌으로서 이를 설정을 하게 된다. 자세한 예는 아래를 참고하자.
Hanterm - cat /etc/httpd/conf/httpd.conf |
[root@bbuwoo /etc]$ cat /etc/httpd/conf/httpd.conf
.
.
중략
.
.
# 서버루트(ServerRoot): 서버의 설정, 에러, 로그 파일 등이 놓일
# 기본 상위 디렉토리
# 주의! 만약 서버루트를 NFS(또는 기타 네트웍)로 마운트한 파일
# 시스템에 두고자 할 때는 LockFile 문서를 꼭 읽어보기 바랍니다.
# 이를 읽어두면 나중에 생길 문제를 예방할 수 있습니다.
ServerRoot /usr
# 결합주소(BindAddress): 이 옵션을 가지고 가상 호스트를 지원할 수
# 있습니다. 이 옵션은 서버가 어느 IP 주소에 귀기울일 것인지 통보할
# 때 사용합니다. "*" 이거나 또는 IP 주소 그리고 완전한 형식의 도메인
# 이름을 사용할 수 있습니다. VirtualHost 지시자도 함께 참고하시기
# 바랍니다.
BindAddress * <- 이것의 주석을 풀어준다.
# 에러기록(ErrorLog): 에러 기록 파일의 위치.
# / 로 시작하지 않으면 ServerRoot 가 경로명 앞에 붙습니다.
ErrorLog /var/log/httpd/error_log
# 기록수위: error_log에 기록될 메시지의 수를 제어합니다.
# debug, info, notice, warn, error, crit, alert, emerg 중 하나를
# 설정할 수 있습니다.
LogLevel warn
.
.
중략
.
.
# Listen: 아파치를 기본값에 추가하여 특정 IP 주소들 또는 포트와
# 결합(bind) 시키려 할 때 사용합니다. VirtualHost 명령 또한
# 참고하십시오.
#Listen 3000
#Listen 12.34.56.78:80
# 가상호스트(VirtualHost): 서버 머신이 여러 주소에 대하여 IP 패킷을
# 받을 수 있도록 설정한 상태에서 아파치 데몬이 하나의 이상의 서버
# 주소에 대하여 요청을 처리할 수 있도록 해줍니다.
# ifconfig alias 플래그 또는 VIF 와 같은 커널 패치를 통해 할 수
# 있습니다.
# (리눅스는 alias 기능을 커널 안에 내장하고 있습니다)
#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs/host.some_domain.com-error_log
#TransferLog logs/host.some_domain.com-access_log
#</VirtualHost>
# 여기서 부터가 Virtual Host 설정 부분임
<VirtualHost 210.124.6.214>
ServerAdmin www@www.oops.kr.net
DocumentRoot /home/httpd/www
ServerName www.oops.kr.net
ErrorLog logs/www.error_log
TransferLog logs/www.access_log
</VirtualHost>
<VirtualHost 210.124.6.215>
ServerAdmin bbuwoo@bbuwoo.oops.kr.net
DocumentRoot /home/httpd/bbuwoo
ServerName bbuwoo.oops.kr.net
ErrorLog logs/bbuwoo.error_log
TransferLog logs/bbuwoo.access_log
</VirtualHost>
[root@bbuwoo /etc]$
|
위의 예제에서 <VirtualHost host.some_domain.com>
</VirtualHost> 부분을 좀 자세하게 알아 보도록 하자.
하여튼 위의 예제 처럼 추가한 IP address에 Domain을 할당해 주는 예이다.
<VirtualHost 210.124.6.214> <- 해당 IP address로 적어 준다.
ServerAdmin www@www.oops.kr.net <- host관리자의 mail주소
DocumentRoot /home/httpd/www <- virtual host의 root direct를 지정
ServerName www.oops.kr.net <- 추가할 Domain명 설정
ErrorLog logs/www.error_log <- errorlog 기록 file 지정
TransferLog logs/www.access_log <- accesslog 기록 file 지정
</VirtualHost>
여기서 잠깐 집고 넘어가야 할 것이 있다.
<VirtualHost host.some_domain.com> 에서 보면 분명히 VirtualHost 다음에 Domain명으로
지정을 하게끔 예제가 되어 있다. 하지만 Apache 1.3 부터 VirtualHost 설정중 Name Based 부분이
약간 변경이 되었기 때문에 이 부분을 왠만하면 IP address로 적어 주는 것이 좋을듯 하다.
이제 저장을 하고 Apache web demon을 재 실행 하도록 한다.
Hanterm - nslookup |
[root@bbuwoo /etc]$ ps ax | grep httpd <- httpd의 PID를 찾는다.
301 ? S 0:13 htpd
11820 p0 S 0:00 grep httpd
[root@bbuwoo /etc]$ kill -HUP 301 <- httpd를 reflesh한다.
[root@bbuwoo /etc]$
|
Apache를 재실행 했으면 이제 web browser로 해당 도메인을 접근해 보도록 한다.
다만 주의할 것은 원격에서는 도메인의 변경이 약간 지연될수 있으므로 기본 DNS를
현재의 Name Server로 맞추어 놓고선 실행을 해 보도록 하기를 바란다.
>> 이전 : IP address Based Vritual Hosting (2)
>> 다음 : Name Based Vritual Hosting (1)
|