티스토리 뷰

Hosts 파일과 DNS

호스트(Hosts) 파일?

호스트 이름에 대응하는 IP주소가 저장되어 있어서 DNS에서 주소정보를 제공받지 않고도 서버의 위치를 찾게 해주는 파일

 

DNS(Domain Name Server)?

홈페이지에 들어가기 위해서는 IP주소가 필요하다. 하지만 이를 모두 외우는 것은 어렵다.
그래서 ip주소를 호스트 이름(ex. www.naver.com)으로 변환해주거나 그 반대의 변환을 수행한다.
전화번호부 같은 역할!

 

-> 웹브라우저에서 어떤 url을 입력하면 컴퓨터는 호스트 파일을 먼저 검색한다. 만약 호스트 파일에 해당 호스트 이름이 존재하면 DNS서버에 질의하지 않고 곧바로 해당 ip로 접속한다.

만약 hosts 파일에 아래와 같이 설정한다면 웹브라우저의 주소창에 www.naver.com 을입력했을 때 125.209.222.142로 접속한다. 이는 네이버의 ip이므로 정상적으로 네이버로 접속한다.

125.209.222.142 www.naver.com

 

가상호스트 : vhost(virtual host) 란?

웹 서버에는 기본적으로 존재하는 호스트가 있다. 이를 메인 호스트 라고 한다.

하나의 서버나 IP로 여러 이름의 도메인을 각각 운용할 수 있다.
주로 웹호스팅 서비스에 사용되며, 메인 호스트 외의 호스트들을 모두 가상 호스트(Virtual Host)라고 한다.

 

일반적인 웹서버(서버3대) 가상호스트 웹서버(서버1대)
aaa.com(IP : 111.111.111.111) aaa.com(IP : 111.111.111.111)
bbb.com(IP : 222.222.222.222) bbb.com(IP : 111.111.111.111)
ccc.com(IP : 333.333.333.333) ccc.com(IP : 111.111.111.111)

 

프로젝트 생성

아래 내용은 php 스톰에서 기준이다.

File > New Project > PHP Empty Project

Location에 프로젝트생성 위치 설정

 

File > Settings 클릭 후 PHP 버전을 맞춰줍니다.

CLI Interpreter가 설정되어있지 않은 경우 오른쪽의 ... 을 클릭해줍니다.

 

+를 클릭 후 Name을 입력하고, php.exe의 경로를 설정해줍니다.

 

다음은 서버 설정을 할 차례입니다.

Servers 탭에 들어가서 +를 누른 후 아래와 같이 입력해줍니다.

 

test 파일을 작성해보자.

 

 

Alt + F2 를 누른 후 Chrome을 선택해주면

 

짜쟌 웹에 정상적으로 Hello가 띄워진걸 확인할 수 있다.

 

Xampp에서 vhost 설정

그럼 이제 위에서 만든 프로젝트를 vhost 설정해서 웹에 띄워보겠습니다.

xampp 설정

xampp71\apache\conf\extra\httpd-vhosts.conf 파일을 수정

# 모든 IP 주소에서 가상호스트 요청을 기다린다
# 도메인별로 사용하겠다
NameVirtualHost *:80

<VirtualHost *:80>
  DocumentRoot "D:\test\hello\doc" # 홈 디렉토리 설정
  ServerName [도메인주소]	# 연결할 도메인(DNS 설정이랑 같게)
  	  # 권한 설정
      <Directory "D:\test\hello\doc">
          Options FollowSymLinks
          AllowOverride All	
          Require all granted
      </Directory>
</VirtualHost>

 

권한 관련 설정을 안해주면 아래와 같이 권한이 없다는 에러가 발생한다.

 

C:\Windows\System32\drivers\etc\hosts 파일을 수정해준다. 이 파일은 관리자 권한으로 수정해야한다.

127.0.0.1 [도메인 주소]

 

그 후 xampp 를 시작한다.

 

짜잔! 설정해준 도메인 주소로 접속하면 아래와 같이 화면이 정상적으로 뜬다.

 

 

[출처]
https://ko.wikipedia.org/wiki/%EB%8F%84%EB%A9%94%EC%9D%B8_%EB%84%A4%EC%9E%84_%EC%8B%9C%EC%8A%A4%ED%85%9C
https://aeac.tistory.com/23
https://httpd.apache.org/docs/2.2/ko/vhosts/examples.html
https://aroundck.tistory.com/5151

'네트워크' 카테고리의 다른 글

[네트워크] IP, 서브넷마스크, 게이트웨이  (2) 2020.04.17
댓글