프리랜서 웹디자이너 RELATION RELATION.CO.KR

RELATION 로고

PHP 웹프로그래밍

[서버] 버츄얼호스팅

2013.01.01
서버한대에 여러 도메인을 사용한다거나, 호스팅을 하는 경우에는 각각의 사용자에게 도메인이 부여되어야 한다. 물론 domain.com/~memberid 식으로 해도 되지만, 요즘은 거의 대부분의 사람들이 도메인을 하나씩 가지고 운영하는 경우가 대부분이므로 정식으로 도메인이 부여된 상태에서 사이트를 운영하길 원할 것이다.

바로 이러한 기능을 충족시키기 위한 것이 바로 가상 호스팅이다.

버츄얼 호스팅에는 이름기반, 아이피 기반, 포트 기반이 있는데 가장 쉽게 쓸 수 있는 것이 아이피 기반의 가상호스팅이다.

다음은 아파치의 httpd.conf 파일에서 예제로 제공하고 있는 이름기반의 가상호스팅 설정법이다.


#NameVirtualHost *
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *>
# 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>


가상호스팅을 하기 위해서는 우선 가상호스팅 설정 부분의 가장 윗줄에 다음과 같이 써 주어야 한다.


NameVirtualHost 192.168.0.1

이름기반 가상호스팅이며 사용하는 아이피는 192.168.0.1이란 것이다. 물론 가상 호스팅을 사용하기 위해서는 해당 도메인이 192.168.0.1로 매핑 되어 있어야 한다.
도메인과 아이피와의 매핑은 도메인 등록, 또는 수정할 때 정해 줄 수 있다.
어째든 여기까지 한 이후에는 해당 도메인을 설정 해줄때 처럼 해주면 된다.
다음은 하나의 예제이다.


<VirtualHost 192.168.0.1>
DocumentRoot /home/member1/public_html/
ServerName member1.com
</VirtualHost>


<VirtualHost 192.168.0.1>
DocumentRoot /home/member2/public_html/
ServerName member2.co.kr
</VirtualHost>


한눈에 봐도 알 수 있을 정도이다.
버추얼 호스팅을 192.168.0.1 서버에서 돌리며, index.html이 위치할 Document Root의 위치는 /home/member1/public_html/ 이 될 것이며, 서버의 도메인 이름은 member1.com이라는 것이다.

아래는 192.168.0.1 서버에서 서버를 운영하며, Document Root의 위치는 /home/member2/public_html/ 이 될 것이며, 도메인 명은 member2.co.kr로 설정한다는 것이다.

너무나 쉬워서 아쉬워 할지도 모르겠다.^^;
원래 쉬워도 모르면 어려워 보이는 것이다.^^
기타 ServerAdmin은 서버의 관리자 이메일을, ErrorLog와 CustomLog는 각각의 로그 파일이 만들어질 위치를 정해 주는 것이다.
이 외에도 몇가지가 더 있다.
몇가지는 보너스... ^^;;

◎ ServerAlias www.member1.com *.member1.com

위와 같이 해 놓으면 www.member1.com을 비롯한 모든 호스트 네임은 ServerName의 member1.com으로 자동전환된다.


보너스 2번째... !!! ^^

◎ php_value include_path ".:include할 절대경로"

php.ini파일에서 설정한 include_path는 가상호스팅이 아닌 하나의 서버에서만 적용된다. 하지만 각각의 가상호스팅 별로 include_path를 적용시킬 수 있다.
물론 설정법은 php.ini에서 설정한 것과 동일한 방법으로 할 수 있다.

ex) php_value include_path ".:/home/member1/public_html/include"

이 포스트 공유하기

글수정  글삭제 전체목록
<
 
1
           
검색    글쓰기
번호 제 목 작성자 작성일 조회수
중요 [서버] 보안서버 무료 SSL 구축 꿘쓰 2017.09.20 6086
중요 [MYSQL함수] PHP, MYSQL 기초 쿼리문 정리 꿘쓰 2011.04.15 7350
중요 [MYSQL PHP 함수] PHP, MYSQL 기초 쿼리문 정리   꿘쓰 2006.03.10 12626
186 [소스] 특정일 특정 날짜 구하기 작성글은 비공개로 설정 되었습니다. 꿘쓰 2020.08.31 1
185 [서버] URL 에서 파일 확장자(.html , .php) 없애기!!! 꿘쓰 2020.03.16 109
184 [소스] PHP function 테스트 꿘쓰 2020.03.05 120
183 [MYSQL PHP 함수] is_dir 꿘스 2020.01.31 121
182 [MYSQL PHP 함수] DB table 같은 이름 체크 꿘쓰 2019.12.13 155
181 [소스] 게시글 번호로 페이지 번호 구하기 댓글 없는 게시판 작성글은 비공개로 설정 되었습니다. 꿘쓰 2019.11.18 3
180 [소스] 페이지 이동, 페이지 자동이동 PHP 꿘쓰 2019.11.04 188
179 [MYSQL PHP 함수] PHP 현재 페이지명, 도메인명 URL 정보 꿘쓰 2019.06.24 280
178 [기타] PHP 소수점 올림,반올림, 버림 꿘쓰 2018.07.06 949
177 [기타] php를 이용한 mysql 엑셀 파일 만들기 꿘쓰 2019.07.24 1395
176 [MYSQL PHP 함수] 특정값 조회 where 컬럼명 in (값,,,,,,) 꿘쓰 2018.01.15 941
175 [서버] 보안서버 무료 SSL 구축 꿘쓰 2017.09.20 6086
174 [소스] LK Query 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.08.23 2
173 [소스] php xml 파일 생성하기 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.06.05 1
172 [소스] 네이버 신디케이션 날짜 변경 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.06.01 1
171 [소스] 날짜 계산(DATE_ADD) 꿘쓰 2017.05.08 1116
170 [소스] 기간별 호텔 룸가격 구하기 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.05.05 1
169 [소스] 기간 검색 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.05.05 3
168 [문자열함수] 알파벳 순서대로 출력하기 꿘쓰 2017.02.23 2094
167 [소스] PHP를 이용한 RSS 만들기 꿘쓰 2016.07.30 1410