[윈도우-아파치] hosts 파일을 활용하여 가상도메인 활용하기 > 엔피씨다락방

엔피씨다락방

[윈도우-아파치] hosts 파일을 활용하여 가상도메인 활용하기 정보

[윈도우-아파치] hosts 파일을 활용하여 가상도메인 활용하기

본문

이 글은 윈도우 10 에 아파치(apache) 웹서버를 설치한 개발자를 위해 쓴 글이며, 제가 이 일을 해오면서 조금씩 알게 된 것들을 같은 문제로 고민하고 있을 개발자들을 위해서 작성하는 글입니다. 아파치 문서에는 나와있지만 그 문서 내용이 아직은 잘 와닿지 않는 분들에게 적합하며, 기본적인 웹서버 구성과 원리를 이해해서 좀 더 효율적인 프로젝트들을 운용하시길 바라며 쓴 글이 되겠습니다. 

 

윈도우에 개발환경과 웹서버를 구축하여 사용하신다면, 내가 만든 프로젝트에 접속 할 때마다 URL 주소에 로컬호스트(localhost), 또는 127.0.0.1 을 입력해서 확인하곤 합니다. 하나의 프로젝트만 진행한다면 불편함을 느끼지 않습니다. 그러나 다수의 독립 프로젝트가 존재하거나 2차 도메인주소까지 활용해야 할 정도로 규모가 있다면, 로컬호스트만으로 관리하는 일은 너무나 힘들어집니다. 이럴 때 활용하게 되는 것이 것이 바로 가상호스트(virtual host) 입니다. 

 

우리는 이미 이 용어를 알고 있습니다. 아파치 웹서버가 가지고 있는 기능 중 하나이기 때문입니다. 단순하게 싱글 프로젝트를 진행하시면 굳이 가상호스트를 다룰 일은 없습니다. 그냥 http 데몬 설정 파일인 httpd.conf 파일만 수정해서 쓰기 때문입니다. 다수의 프로젝트를 관리 할 때, 가상호스트 모듈을 활성화 해서 프로젝트 디렉토리를 지정하여 서비스를 구성하죠. 이때는 localhost 나 127.0.0.1뒤에 각각 다른 포트번호만 지정해주면 각각 다른 프로젝트를 동시에 진행할 수 있습니다. 이런 지식을 이미 잘 알고 있을 것입니다. 저는 처음 아파치웹서비스를 다룰 때 궁금해 했던 것이 '도메인을 사용할 수 없을까?' 였습니다. 지금 생각하면 아주 간단한 것인데, 그 당시는 이걸 몰라서 꽤 힘들어 했었거든요.

 

 

내가 로컬에 세팅한 사이트를 로컬호스트나 127.0.0.1이 아닌, 도메인을 연결하여 테스트 할 때 필요한 것이 윈도우에 있는 시스템 파일중 하나인 hosts 파일입니다. 그러나 이 것을 먼저 알아보기 전에 가상호스트를 설정하는 파일의 구성과 URL의 동작 절차를 이해해야 합니다.

 

아파치 웹서버는 웹서비스를 구축하기 위해 필요한 기능들을 모듈화 해서 탑재한 서버 애플리케이션 입니다. 우리가 다룰 가상호스트도 마찬가지로 하나의 모듈입니다. 가상호스트 모듈은 가상호스트 설정 파일인 httpd_vhost.conf 파일에서 제어 해야합니다. 대부분의 설정들은 httpd.conf 파일의 '축소판' 같은 것이기에 생략을 하고, 가장 기본이 되는 형식은 아래와 같습니다.

 


<VirtualHost [도메인/아이피/+포트]>
    DocumentRoot [프로젝트의 경로]
    ServerName [도메인주소]
</VirtualHost>

 

아파치의 가상호스트 설정은 위에도 잠깐 말했지만 httpd.conf 의 축소판입니다. 따라서 부모의 설정이 적용되고 자기 자신의 설정도 추가로 할 수 있는 곳이죠. 여기서 우리가 주목해야할 것은 ServerName 입니다. ServerName 은 '도메인'을 의미 하고, 도메인이란 네트워크에서 식별할 수 있는 체계인 아이피주소를 좀더 인간이 알아볼 수 있도록 구성한 별칭을 의미합니다. 이것을 이해하고 계시다면 hosts 파일의 존재도 이해하기 편해집니다. 

 

브라우저에 사이트주소를 입력했을 경우 본래대로라면,

 

도메인입력요청(request) > 도메인등록기관 > DNS주소 > 아이피주소 > 웹서버설정 > 디렉토리찾기 > 응답(response)

 

위의 과정을 거쳐 우리 브라우저에 보여주게 됩니다. 그러나, 우리는 현재 자신의 윈도우를 웹서버로 만들었기 때문에 멀리 멀리 돌아서 다시 내 컴퓨터로 오는 것은 상당히 비 효율적인 일입니다. 따라서 아이피주소와 도메인을 알고 있다면, 모든 단계를 건너띄고 직접 웹서버로 연결해주는 도구가 있는데 그게 바로 hosts 파일입니다.

마치, 물류배송업체를 이용하여 물건을 받는 것이 아니라, 내가 직접 가서 물건을 받는 것이죠.

 

hosts 파일의 좋은점은 '당장 도메인기관에 도메인을 등록하지 않아도 사용할 수 있다'는 점입니다. 이것이 가능한 이유는, 웹서버가 복잡하게 도메인등록기관에 검증을 받지 않고, ServerName에 등록된 이름이 일치하면 무조건 DocumentRoot를 보여주기 때문입니다.

 

 

3731896356_1515582617.6289.png

<hosts 파일에 원하는 가상도메인을 세팅해서 작업하는 모습>

 

3731896356_1515582642.0585.png

<httpd_vhost.conf 파일에 ServerName 부분>

 

 

 

hosts 파일을 잘 활용하셔서 개발에 도움이 되었으면 좋겠습니다.

 

 

#아파치 #웹서버 #hosts #가상호스트 #virtualhost #localhost #apache

추천
2
  • 복사

댓글 5개

음 너무 좋습니다! 한참을 들여다보았습니다.
늘 무식한 방법으로만 사용했네요. ㅜㅜ
낼 아이들 홈피를 이렇게 하면 가동해 보아야겠어요!
오늘 방학을 하여 두 달간은 집에만 있을 것이니 눈치도 못 채겠지요? ㅎ

감사합니다!!!
@terrorboy 윈도우에서는 그냥 윈도우 디펜더 쓰는게 나은데, 다른분들이 백신을 쓸 꺼라는 생각을 미처 못했네요!
© SIRSOFT
현재 페이지 제일 처음으로