더북(TheBook)

도메인 주소로 웹 서버 접속하기

네트워크에 연결하는 모든 장치는 IP 주소(IP Address)로 식별합니다. 사람은 숫자보다 문자로 이루어진 의미 체계를 선호합니다. 기계에 적합한 IP 주소 대신 사용하는 사람이 기억하기 쉬운 문자 형태의 주소를 도메인 주소(Domain Address)이라고 합니다. ‘192.168.122.201’ 같은 IP 주소 대신 일반적인 인터넷 웹 사이트 URL처럼 ‘www.werbserver.com’이라는 도메인 주소를 사용해서 접속하려면 웹 서버의 ServerName을 변경해야 합니다.

웹 서버 환경 설정을 변경해봅시다. ServerName을 추가하기 위해 /etc/apache2/conf-available에 ‘servername.conf’라는 설정 파일을 생성합니다.

administrator@server01:~$ sudo vi /etc/apache2/conf-available/servername.conf

단순히 ServerName만 추가합니다. ‘www.werbserver.com’이라는 도메인 주소는 인터넷에서 공인받지 않았기 때문에 실제 인터넷에서는 사용할 수 없으며 내부 가상 네트워크에서만 사용 가능합니다.

ServerName www.werbserver.com
Tip

인터넷에 공개하는 웹 서버는 인증기관으로부터 공인 받은 도메인 주소를 사용해야 합니다. 방금 지어낸 도메인 주소 ‘www.werbserver.com’이 웹 서버가 동작하는 가상 게스트를 가리킨다는 사실은 오직 우리만 알고 있습니다. 따라서 이 주소로는 인터넷을 통해 웹 서버에 접속할 수 없습니다.

추가 설정을 활성화하는 명령인 a2enconf를 이용해서 ‘servername.conf’의 내용을 반영합니다. a2enconf은 사용 가능한 설정 파일이 들어 있는 /etc/apache2/conf-available 디렉터리에서 특정 파일을 /etc/apache2/conf-enabled 디렉터리에 링크시킵니다.

administrator@server01:~$ sudo a2enconf servername
Enabling conf servername.
To activate the new configuration, you need to run:
  service apache2 reload

a2enconf를 실행한 결과 conf-enabled 디렉터리에 ‘servername.conf’에 대한 링크 파일이 생성되었습니다.

administrator@server01:~$ ls -l /etc/apache2/conf-enabled/
...
lrwxrwxrwx 1 root root 33 Nov 1 15:25 servername.conf -> ../conf-available/servername.conf
이렇게 하세요!

a2enconf 명령은 conf-available 디렉터리의 파일 중에서 활성화하려는 설정 파일의 링크를 conf-enabled 디렉터리에 생성합니다. 다음과 같이 ln 명령으로 링크를 생성하는 결과와 동일합니다.

administrator@server01:~$ sudo ln -s /etc/apache2/conf-available/servername.conf /etc/apache2/conf-enabled

a2enconf 명령과 반대로 설정을 해제하는 명령은 a2disconf입니다. 다음 명령은 servername.conf의 링크를 삭제하여 설정 내용을 반영하지 않을 것입니다.

administrator@server01:~$ sudo a2disconf servername

설정 내용을 반영하기 위해 아파치 웹 서버 데몬을 재시작합니다. ServerName과 관련한 오류 메시지가 사라졌습니다.

administrator@server01:~$ sudo service apache2 restart
* Restarting web server apache2                                                   ... waiting
                                                                           [ OK ]

다시 호스트로 돌아옵니다. 클라이언트에서 공인받지 않은 웹 서버의 도메인 주소로 접속하려면 /etc/hosts 파일을 이용해야 합니다. 호스트의 /etc/hosts 파일을 vi로 엽니다.

shinjaehun@losttemple:~$ sudo vi /etc/hosts

사용하려는 웹 서버의 도메인 주소(www.werbserver.com)를 웹 서버 IP 주소(192.168.122.201)에 대응시켜 등록합니다.

127.0.0.1 localhost
127.0.1.1 losttemple
192.168.122.100 guest
192.168.122.201 www.webserver.com
Tip

여기에서는 웹 서버의 도메인 주소를 IP 주소로 변환하는 일을 호스트의 /etc/hosts 파일에서 처리하고 있습니다. 실제 인터넷에 공개된 웹 서버의 도메인 주소를 IP 주소로 변환하는 일은 DNS 서버(Domain Name System Server)가 처리합니다. DNS는 도메인 이름과 IP 주소를 연결하는 일종의 전화번호 시스템이라고 생각하면 됩니다. 클라이언트가 도메인 이름을 조회하면 DNS 서버(흔히 네임 서버라고 합니다)가 해당 주소를 알려주는 방식으로 동작합니다.

웹 브라우저를 실행해서 www.werbserver.com으로 접속해봅시다. 호스트는 /etc/hosts에서 도메인 주소 www.werbserver.com을 웹 서버가 실행되는 가상 게스트의 IP 주소 192.168.122.201로 변환해서 접속합니다.

그림 8-6 도메인 이름으로 웹 서버 접속하기
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.