Virtual Host 참고사항 : http://bban2.tistory.com/134
-----------------------------------------------------------------------------------------------------
Virtual Host
<VirtualHost *:80> - 가상 호스트를 지정한다. IP를 입력한다.
ServerAdmin webmaster@dummy-host.example.com - 관리자의 메일주소를 입력한다.
DocumentRoot /www/docs/dummy-host.example.com - 웹문서 지정 디렉토리
ServerName dummy-host.example.com - 호스트 네임 지정
ErrorLog logs/dummy-host.example.com-error_log - 에러 로그파일 지정
CustomLog logs/dummy-host.example.com-access_log common - 일반 로그파일 지정
</VirtualHost>
가상 도메인을 설정하는 부분으로 하나의 아이피로 여러개의 도메인을 사용할 경우 설정한다.
-----------------------------------------------------------------------------------------------------
1-1. Name-based Virtual Host 설정
[root@localhost conf]# pwd
/etc/httpd/conf
[root@localhost conf]# vi httpd.conf
989 #NameVirtualHost *:80
990 NameVirtualHost 192.168.0.7:80 - 하나의 IP로 여러개의 도메인을 사용할 경우에 설정한다.
999 # VirtualHost example:
1000 # Almost any Apache directive may go into a VirtualHost container.
1001 # The first VirtualHost section is used for requests without a known
1002 # server name.
1003 #
1004 #<VirtualHost *:80>
1005 # ServerAdmin webmaster@dummy-host.example.com
1006 # DocumentRoot /www/docs/dummy-host.example.com
1007 # ServerName dummy-host.example.com
1008 # ErrorLog logs/dummy-host.example.com-error_log
1009 # CustomLog logs/dummy-host.example.com-access_log common
1010 #</VirtualHost>
1011
1012 <VirtualHost 192.168.0.7:80> - 여러개의 도메인을 쓰기 때문에 충돌이 일어날수 있다. 이를 방지하기 위해 기존 설정값을 입력해준다.
1013 ServerAdmin root@bban2.co.kr
1014 DocumentRoot /var/www/html
1015 ServerName www.bban2.co.kr
1016 # ErrorLog logs/dummy-host.example.com-error_log
1017 # CustomLog logs/dummy-host.example.com-access_log common
1018 </VirtualHost>
1019
1020 <VirtualHost 192.168.0.7:80> - 가상 호스트인 www1.bban2.co.kr에 대한 설정
1021 ServerAdmin root@bban2.co.kr
1022 DocumentRoot /www1
1023 ServerName www1.bban2.co.kr
1024 # ErrorLog logs/dummy-host.example.com-error_log
1025 # CustomLog logs/dummy-host.example.com-access_log common
1026 </VirtualHost>
1027
1028 <VirtualHost 192.168.0.7:80> - test1 사용자에게 test1.bban2.co.kr의 가상 도메인을 설정
1029 ServerAdmin test1@bban2.co.kr
1030 DocumentRoot /home/test1/public_html
1031 ServerName test1.bban2.co.kr
1032 # ErrorLog logs/dummy-host.example.com-error_log
1033 # CustomLog logs/dummy-host.example.com-access_log common
1034 </VirtualHost>
-----------------------------------------------------------------------------------------------------
1-2. Forward Zone 파일 설정
[root@localhost named]# pwd
/var/named/chroot/var/named
[root@localhost named]# vi dns.for - forward zone 파일을 수정한다.
$TTL 86400
@ IN SOA bban2.co.kr. root.bban2.co.kr. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS bban2.co.kr.
IN A 192.168.0.7
www IN A 192.168.0.7
www1 IN A 192.168.0.7 - www1.bban2.co.kr에 대한 설정
test1 IN A 192.168.0.7 - test1.bban2.co.kr에 대한 설정
DNS Server 서비스 재시작
[root@localhost named]# service named restart
named를 정지 중: [ OK ]
named를 시작 중: [ OK ]
-----------------------------------------------------------------------------------------------------
1-3. /www1 폴더 생성
[root@localhost conf]# service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: Warning: DocumentRoot [/www1] does not exist [ OK ]
- 서비스 재시작을 하면 /www1 폴더에 대해서 경고가 뜬다.
Apache 환경설정에서 DocumentRoot /www1 라고 웹문서의 디렉토리를 지정했는데 폴더를 생성하지 않아 경고가 뜨게 된 것이다.
1020 <VirtualHost 192.168.0.7:80> - 가상 호스트인 www1.bban2.co.kr에 대한 설정
1021 ServerAdmin root@bban2.co.kr
1022 DocumentRoot /www1
1023 ServerName www1.bban2.co.kr
1024 # ErrorLog logs/dummy-host.example.com-error_log
1025 # CustomLog logs/dummy-host.example.com-access_log common
1026 </VirtualHost>
/www1 폴더 생성
[root@localhost ~] cd /
[root@localhost /]# mkdir /www1
[root@localhost /]# cd www1
[root@localhost www1]# vi index.html
[root@localhost www1]# cat index.html
Hello!!
Here's www1.bban2.co.kr
Nice to meet you!!
-----------------------------------------------------------------------------------------------------
1-4. 서비스 재시작
[root@server3 conf]# service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: [ OK ]
-----------------------------------------------------------------------------------------------------
1-5. 웹브라우저에서 test1 홈페이지 확인
www1.bban2.co.kr
test1.bban2.co.kr
-----------------------------------------------------------------------------------------------------
1-6. Apache 관련 명령어
[root@localhost www1]# httpd -t - httpd.conf 파일 설정을 점검한다.
Syntax OK
[root@localhost www1]# httpd -S - 가상 호스트 설정을 보여준다.
VirtualHost configuration:
192.168.0.7:80 is a NameVirtualHost
default server www.bban2.co.kr (/etc/httpd/conf/httpd.conf:1012)
port 80 namevhost www.bban2.co.kr (/etc/httpd/conf/httpd.conf:1012)
port 80 namevhost www1.bban2.co.kr (/etc/httpd/conf/httpd.conf:1020)
port 80 namevhost test1.bban2.co.kr (/etc/httpd/conf/httpd.conf:1028)
wildcard NameVirtualHosts and _default_ servers:
_default_:443 www.bban2.co.kr (/etc/httpd/conf.d/ssl.conf:81)
Syntax OK
[root@localhost www1]# httpd -l - 현재 컴파일된 모듈의 정보를 출력한다.
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
- 서비스 재시작을 하면 /www1 폴더에 대해서 경고가 뜬다.
Apache 환경설정에서 DocumentRoot /www1 라고 웹문서의 디렉토리를 지정했는데 폴더를 생성하지 않아 경고가 뜨게 된 것이다.
1020 <VirtualHost 192.168.0.7:80> - 가상 호스트인 www1.bban2.co.kr에 대한 설정
1021 ServerAdmin root@bban2.co.kr
1022 DocumentRoot /www1
1023 ServerName www1.bban2.co.kr
1024 # ErrorLog logs/dummy-host.example.com-error_log
1025 # CustomLog logs/dummy-host.example.com-access_log common
1026 </VirtualHost>
/www1 폴더 생성
[root@localhost ~] cd /
[root@localhost /]# mkdir /www1
[root@localhost /]# cd www1
[root@localhost www1]# vi index.html
[root@localhost www1]# cat index.html
Hello!!
Here's www1.bban2.co.kr
Nice to meet you!!
-----------------------------------------------------------------------------------------------------
1-4. 서비스 재시작
[root@server3 conf]# service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: [ OK ]
-----------------------------------------------------------------------------------------------------
1-5. 웹브라우저에서 test1 홈페이지 확인
www1.bban2.co.kr
test1.bban2.co.kr
-----------------------------------------------------------------------------------------------------
1-6. Apache 관련 명령어
[root@localhost www1]# httpd -t - httpd.conf 파일 설정을 점검한다.
Syntax OK
[root@localhost www1]# httpd -S - 가상 호스트 설정을 보여준다.
VirtualHost configuration:
192.168.0.7:80 is a NameVirtualHost
default server www.bban2.co.kr (/etc/httpd/conf/httpd.conf:1012)
port 80 namevhost www.bban2.co.kr (/etc/httpd/conf/httpd.conf:1012)
port 80 namevhost www1.bban2.co.kr (/etc/httpd/conf/httpd.conf:1020)
port 80 namevhost test1.bban2.co.kr (/etc/httpd/conf/httpd.conf:1028)
wildcard NameVirtualHosts and _default_ servers:
_default_:443 www.bban2.co.kr (/etc/httpd/conf.d/ssl.conf:81)
Syntax OK
[root@localhost www1]# httpd -l - 현재 컴파일된 모듈의 정보를 출력한다.
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
'Linux Server 구축 > 1-2. Web Server' 카테고리의 다른 글
Apache WebServer - Virtual Host - IP-based (0) | 2008.12.15 |
---|---|
Apache WebServer - httpd.conf - Section 3: Virtual Hosts (0) | 2008.12.13 |
Apache Webserver - httpd.conf - Section 2: 'Main' server configuration (0) | 2008.12.13 |
Apache WebServer - httpd.conf - Section 1: Global Environment (0) | 2008.12.13 |
Apache WebServer 설정 (0) | 2008.12.12 |
Apache WebServer 구축 (0) | 2008.12.12 |