사용자 도구


Virtual Host

도메인 여러 개를 하나의 IP에 대응시키거나 도메인 하나를 여러 개의 IP에 대응시키는 등의 일을 할 수 있는 기술. 포트에 대해서도 마찬가지. 사실 리눅스가 아닌 서버 항목으로 분류되어야 옳으나 편의상 이쪽으로 분류.

서브 도메인

가비아 등을 통해 domain.com이나 domain.co.kr 등의 도메인을 구입했다면 서브 도메인 또한 설정할 수 있다. 예를 들어 나의 경우 obg.pe.kr 도메인을 구입하였는데 tc.obg.pe.kr, local.obg.pe.kr를 추가해 놓고 각각 텍스트큐브, /var/www 폴더를 연결해 놓은 상태이다. obg.pe.kr과 www.obg.pe.kr은 제로보드를 연결해 놓았다. 어떻게 할 수 있을까?

여기서 도메인 네임 서버에 대해 알아둘 필요가 있다. 도메인 네임 서버는 말그대로 도메인의 이름을 관리하는 서버이다. 도메인 네임 서버는 자신이 직접 운영할 수도 있으나 업체의 도움을 받는 것이 편하다. 업체에 따라서는 유동 IP 환경에서도 자신의 도메인에 연결시켜 주는 DDNS 서비스를 제공해주는 곳도 있다. DDNS 서비스를 제공하는 업체 중 대표적인 곳으로는 DNSEver와 DNSZi가 있다. 여기서는 DNSEver에 대해 잠깐 알아보자.

DNSEver

DNSEver(http://kr.dnsever.com)는 무료로 네임 서버를 제공해 주는 사이트이다. 자체적으로 네임 서버를 설치하여 운영할 수도 있겠지만 유동 ip를 받아 인터넷을 하는 일반 유저들은 설치하기가 곤란하다. DNSever는 DDNS 서비스도 제공하여 유동 ip 환경에서도 구입한 도메인을 운용할 수 있다. DNSever에 가입하여 서브도메인 설정하기까지의 과정을 요약하면 다음과 같다.

  1. DNSever 가입 후 네임 서버 확인
  2. 도메인을 구입한 사이트(ex: 가비아)에서 네임 서버 변경
  3. 구입한 도메인을 DNSever에 추가
  4. 도메인 설정 페이지에서 다이나믹 DNS 추가
  5. 아파치 서버가 깔린 PC에서 프로그램이나 명령어를 통해 다이나믹 DNS 업데이트

구체적인 사항은 DNSever 홈페이지의 도움말을 참고한다. 네임 서버 변경 후 이것이 반영되기까지는 1~2일이 걸린다. 그 전에는 접속이 불안정하다.

Virtual Host 설정

1. /etc/apache2/apache2.conf 파일을 열어 맨 아래에 다음 줄을 추가한다.

Servername "obg.pe.kr"

2, /etc/apache2/sites-available(우분투의 경우) 에 파일 하나를 생성한다. (ex: obg.pe.kr)

3. obg.pe.kr 파일을 다음과 같이 수정한다.

<VirtualHost *:80>
ServerAdmin vfinger@naver.com
ServerName obg.pe.kr
ServerAlias www.obg.pe.kr
DocumentRoot /var/www/xe
</VirtualHost>
 
<VirtualHost *:80>
ServerAdmin vfinger@naver.com
ServerName local.obg.pe.kr
DocumentRoot /var/www
</VirtualHost>
 
<VirtualHost *:80>
ServerAdmin vfinger@naver.com
ServerName tc.obg.pe.kr
DocumentRoot /var/www/tc
     <Directory /var/www/tc>
         Options FollowSymLinks
         AllowOverride All
     </Directory>
</VirtualHost>

4. $ sudo a2ensite obg.pe.kr 실행

5. $ service apache2 restart로 아파치 재실행 (설정만 바꾼거라면 $ service apache2 reload)

네임 서버 변경이 완전히 완료된 후 접속해 보면 www.obg.pe.kr, local.obg.pe.kr, tc.obg.pe.kr은 정상적으로 접속이 됨을 확인할 수 있다. 그러나 obg.pe.kr은 접속이 제대로 되지 않을 것이다. 그 이유는 /etc/apache2/sites-available/default 파일 때문이다. default 파일을 열어 DocumentRoot를 /var/www/xe로 수정하면 정상적으로 접속이 될 것이다. (사실 default를 아예 a2dissite로 없애는게 답)

참고