가상 호스트 (virtual host)란?
기본적으로 웹서버에 존재하는 주 호스트 즉 예로 (aaa.com)이라는 도메인을 등록하여 사용하고 있지만
추가적으로 한 서버에 (bbb.com) / (ccc.com) 등 여러 도메인을 등록하여 사용한다는 의미입니다.
가상 호스트에도 여러 종류의 방면으로 운용을 할 수 있지만 일반적으로 하나의 컴퓨터(서버)나 IP로 여러 이름의 도메인으로 각각 운용할 수 있다는 부분입니다.
Apache에서는 두 가지 방식을 제공한다.
1. Name-based Virtual Host
Name-based 방식의 가상 호스트는 같은 IP 주소를 가지고 여러 개의 호스트명을 가진다.(가장 보편적인 방법)
2. IP-based Virtual Host
IP Address 기반의 가상 호스트라고 하며, 각 웹 사이트마다 다른 IP Address 또는 Port를 가지는 방식이다.
IP Adress를 다르게 하는 방법도 있지만 동일한 IP Address를 주고 Port를 다르게 하는 방법도 있다.
- IP Address를 다르게 하는 방법
가상 호스트 각각에 하나씩의 IP Address를 할당하여 운용 웹 호스팅 초창기에 사용된 방법이다.
Name-based virtual host 보다 안정적이고, 더 효율적이며, 관리하기도 쉽다. 이 방식으로 하면 각각의 웹사이트를 하나의 물리적인 서버에서 별도 관리할 수도 있다.
- Port를 다르게 하는 방법
동일한 호스트에 포트만 다르게 지정하여 운용 80번이 주 호스트이고, 8080, 8081, 8082와 같이 순서대로 포트를 지정하여 가상 호스트를 할당한다.
이러한 가상 호스트 서버를 이용하여 제한된 공간 안에서 여러 개의 홈페이지를 제공해주는 서비스가 (웹, 메일 등) 호스팅 서비스입니다.
서버 한대에 여러 도메인을 등록하는 방법을 알아보겠습니다.
■ Apache - 가상호스트(httpd.conf) 설정
1. httpd.conf 파일을 열어 추가 수정
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
*NameVirtualHost :80
include /etc/httpd/conf/vhost.conf
<Directory "/home">
AllowOverride None
Require all granted
</Directory>
■ NameVirtualHost *:80
이름 기반의 가상 호스트(도메인별) 사용하겠다는 뜻
2. vhost.conf 파일 생성 및 설정
[root@localhost ~]# vi /etc/httpd/conf/vhost.conf
*<VirtualHost :80>
# ServerAdmin webmaster@dummy-host.example.com ← 서버 관리자(임의로 설정)
DocumentRoot /home/test ← 홈 디렉터리
ServerName webtest11.com ← 연결할 도메인(DNS 설정이랑 같게 해야 함)
ServerAlias www.webtest11.com ← 연결할 도메인(다른 도메인, DNS 설정이랑 같게 해야 함)
# ErrorLog logs/dummy-host.example.com-error_log ← 에러 로그(선택사항)
# CustomLog logs/dummy-host.example.com-access_log common ← 접속 로그(선택사항)
</VirtualHost>
3. 홈페이지 경로(DocumentRoot) 및 테스트 페이지 생성
[root@localhost ~]# mkdir /home/test (DocumentRoot 경로 생성)
[root@localhost ~]# vi /home/test/index.html (test 할 페이지 생성)
4. 아파치(Apache) 재시작 적용
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# ps -ef | grep httpd
'VMware' 카테고리의 다른 글
가상화 종류 (0) | 2022.08.24 |
---|---|
가상 네트워크의 구성 / 종류 (0) | 2022.08.11 |