본문 바로가기
Linux/NetAdmin

[CentOS5.11] 가상 호스트 설정.

by Luuii 2017. 9. 17.

가상 호스트 ( Virtual Hosting) 종류

> 이름 기반 가상 호스트

> IP 기반 가상 호스트

> 포트 기반 가상 호스트

> 혼합된 형태

 

 

◇ 이름 기반 가상 호스트

> 가장 광범위 하게 쓰인다.

www.daum.net -> /www1/index.html

www.paran.com -> /www2/index.html

www.yahoo.com -> /www3/index.html

 

# mkdir /www2 /www3

# vi /www2/index.html

# vi /www3/index.html

1
2
3
4
5
# /www2/index.html
<H1><CENTER> www2 linux113(/www2) </CENTER></H1>
 
# /www3/index.html
<H1><CENTER> www3 linux1XX(/www3) </CENTER></H1>
cs

 

ⓐ DNS 서버에 등록.


[DNS Server]

# vi /var/named/chroot/var/naemd/example213.zone

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$TTL    4    
@               IN SOA  ns1.linux213.example.com. root.linux213.example.com. ( 
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
            IN  NS          ns1    
ns1         IN  A           192.168.35.243
 
 
www         IN  A           192.168.35.143    
www1        IN  A           192.168.35.143    # 추가
www2        IN  A           192.168.35.143    # 추가
www3        IN  A           192.168.35.143    
cs

 

# service named restart

# nslookup www[1-3]

 

ⓑ 가상 호스트 설정

 

[WEB Server]

# vi /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
NameVirtualHost 192.168.35.143:80
# 주석처리
#<VirtualHost 192.168.35.143:80>
#    ServerAdmin root@linux213.example.com
#    DocumentRoot /www1
#    ServerName www.linux213.example.com
#   <Directory /www1>
#       Options indexes includes
#       AllowOverride AuthConfig
#   </Directory>
#   ScriptAlias /cgi-bin/ /www1/cgi-bin/
#</VirtualHost>
 
#추가
<VirtualHost 192.168.35.143:80>
    DocumentRoot /www1
    ServerName www1.linux213.example.com
</VirtualHost>
 
#추가
<VirtualHost 192.168.35.143:80>
    DocumentRoot /www2
    ServerName www2.linux213.example.com
</VirtualHost>
 
#추가
<VirtualHost 192.168.35.143:80>
    DocumentRoot /www3
    ServerName www3.linux213.example.com
</VirtualHost>
 
cs

 

# httpd -t

# service httpd restart

 

# lynx http://www1.linux213.example.com

 

# lynx http://www2.linux213.example.com

 

# lynx http://www3.linux213.example.com

 

 

◇ IP 기반 가상 호스팅 ( IP-based Virtual Hosting )

가상 인터페이스 이름) eth0:X ( X is 1, 2, 3, ..... )

 

ⓐ 가상 인터페이스 생성

 

eth0        -> 192.168.35.143

eth0:1      -> 192.168.35.165

eth0:2      -> 192.168.35.65

 

ⓑ 가상 호스트 설정

 

# vi /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
NameVirtualHost 192.168.35.143:80
#<VirtualHost 192.168.35.143:80>
#    ServerAdmin root@linux213.example.com
#    DocumentRoot /www1
#    ServerName www.linux213.example.com
#   <Directory /www1>
#       Options indexes includes
#       AllowOverride AuthConfig
#   </Directory>
#   ScriptAlias /cgi-bin/ /www1/cgi-bin/
#</VirtualHost>
 
<VirtualHost 192.168.35.143:80>    # 아이피 변경
    DocumentRoot /www1
    ServerName www1.linux213.example.com
</VirtualHost>
 
<VirtualHost 192.168.35.165:80>    # 아이피 변경 eth0:1
    DocumentRoot /www2
    ServerName www2.linux213.example.com
</VirtualHost>
 
<VirtualHost 192.168.35.65:80>    # 아이피 변경 eth0:2
    DocumentRoot /www3
    ServerName www3.linux213.example.com
</VirtualHost>
 
cs

 

ⓒ test

 

# firefox http://192.168.35.165 &

 

# firefox http://192.168.35.65 &

 

 

◇ 추가. 아파치 버전과 운영체제 숨기기

 

# vi /etc/httpd/conf/httpd.conf

 

/ServerTokens Prod 로 변경

 

반응형