iOS 앱개발 & 라즈베리파이 서버운영 & 워드프레스 블로그 광고수입 & 에어소프트 & 자작만화

도메인 구매하고 도메인 연결하기(godaddy에서 구입) + 라우팅설정

Share with : 

저번 글인 ‘포트포워딩 설정하기’에서 공인IP를 통해서 자신의 워드프레스 홈페이지에 접속을 성공하셨다면, 이제 도메인을 구입할 시간입니다.

아직 공인IP를 통해 자신의 워드프레스 홈페이지에 접속하지 못하신 분이 있으시다면 아래 링크를 통해 제 이전 글을 보시고 접속에 성공하신 뒤 이번 글을 따라해주시기 바랍니다.

이전 글 ‘포트포워딩 설정하기(DMZ, TWIN IP설정)바로가기

도대체 도메인을 왜 구매해야되는 것이냐? 나는 도메인 구매하지 않고 그냥 숫자 IP주소를 사용하고 내 IP주소를 인터넷에 퍼트려도 되는거 아니냐?

이런 의문점을 가지실 수 있는데요.

문자로 된 도메인 없이 IP주소만을 가지고 블로그에 글을 쓸 순 있습니다만, 그 블로그에 지인 말고는 아무도 찾아오지 않게 될 겁니다.

문자로 된 도메인을 가지지 못한 사이트는 검색엔진에서 정상적인 사이트로 인식하지 않기 때문이죠.

좋은 글을 쓰는것만큼 자신의 사이트가 검색엔진에서 쉽게 찾아져서 많은 사람들이 방문하는 것도 중요합니다. 그 필수 요소가 바로 ‘문자로 된 도메인’입니다.

이번 글에서 할 것은 고대디 홈페이지에서 도메인을 구매하고, 그 도메인과 워드프레스 블로그의 IP주소(공인IP)를 연결해서 도메인을 입력했을때 워드프레스 홈페이지로 접속되게끔 설정하는 것입니다.

godaddy홈페이지에서 도메인 구매하기

저는 도메인을 구매할 때 godaddy라는 곳을 이용하는데요. 사실 godaddy말고도 도메인 판매처는 많습니다.(가비아 라던지)

굳이 저를 따라서 굳이 godaddy에서 구매하실 필요는 없습니다. 더 값싸고 좋은 도메인 판매처가 있다면 그곳을 이용하셔도 되겠습니다.

다른 판매처에서 구매하시더라도 도메인 판매처의 기본 기능은 거의 비슷할 것이기 때문에 해당 메뉴를 잘 찾아서 따라하시면 되겠습니다.

우선 홈페이지에 접속합시다. 주소는 https://kr.godaddy.com 입니다.

홈페이지 상단의 도메인 검색란에 자신이 원하는 도메인을 입력해줍시다. 저는 예시로 devbaby라고 입력하였습니다.

추천되는 도메인을 위에 나타내주고 있습니다. 아래로 스크롤해 보시면 .kr외에 도메인 뒷자리가 다른 여러 도메인이 있습니다.

뒷자리가 인기가 없는 녀석일수록 값이 저렴합니다.

도메인 구입시 주의하셔야 할 사항이 있습니다. 도메인은 한번 구매했다고 영원히 자신의 소유가 되는 것이 아닙니다. 넷플릭스 사용할때 기간을 정해놓고 결제 하듯이, 도메인도 마찬가지입니다.

지금 보여지는 가격은 최초 1년동안의 가격이고, 1년 이후의 가격은 각자 다릅니다. 마음에 드는 도메인과 뒷자리를 선택하셨다면 ‘카트에 추가’버튼을 눌러주세요. 저는 예시를 들기 위해서 3900원이라고 적혀있는 devbaby.co를 카트에 추가했습니다. 그럼 아래와 같은 화면이 보이실겁니다.

‘분명히 3900원이라고 해서 눌렀는데 왜 43800원이 나온거지?’ 어리둥절 할 수 있습니다. 설명해드리겠습니다.

도메인 구매 가격 산출방식

최초1년은 3900원이고, 그 다음부터는 1년당 39900원 인 것입니다. 따라서 지금 2년 선택되어 있으니까 3900 + 39900 = 43800원 인 것입니다. 마음이 드는 도메인의 과금 설정을 잘 확인하시고 구매하시기 바랍니다.

제 도메인은 구매시 3년짜리로 하였고 대략 5~6만원에 구매하였던 걸로 기억합니다. 구매하실때 ‘자동 갱신’되도록 하신다면 갱신일자에 자동으로 재구매가 이루어집니다.(devbaby의 경우에는 매년 39900원 결제되겠죠)

도메인 구매시 옵션 추가하기

‘카트로 계속’ 버튼을 누르면 아래와 같은 옵션 선택 화면이 나타납니다. 도메인 보호 옵션은 추가 지출이 생기지만 체크해주시는게 좋습니다. ‘전체 도메인 프리어버시 및 보호’정도만 하셔도 충분합니다.

맞춤형 이메일 주소를 제공하는 서비스는 개인 사업을 굴리시는 분이라면 추천할만 한 옵션이지만, 개인 블로그를 운영하기에는 필수적인 요소가 아닙니다. 저는 사용하지 않는 걸로 했지만, 만약에 이 도메인과 관련된 사업을 벌이실 분들은 선택하는것도 나쁘지 않습니다. 도메인으로 된 이메일을 운영하고 있으면 좀더 전문적으로 보일테니까요.

리눅스 웹 호스팅은 ‘아니오’를 선택해주시기 바랍니다. 제 글을 따라하시면서 라즈베리파이로 웹서버를 만들고 워드프레스를 올렸으니까 필요없죠!

다음으로는 결제를 해야하는데, 인터넷 결제 다들 많이 해보셨을 것이라 따로 설명드리지는 않겠습니다.

아래에서는 구매를 완료하셨다는 가정 하에 나머지 글을 이어가겠습니다.

구입한 도메인과 공인IP주소 연결하기

구매 완료후 화면 우측상단의 자신의 이름 버튼을 누르고 드롭다운 메뉴에서 ‘내 제품’을 누릅시다.

아래와 같은 화면이 나타납니다.(가끔 구매한 도메인이 계정에 나타나기까지 몇 시간이 걸리는 경우도 있다고 합니다만, 제 경우에는 바로 나타났습니다) 구매한 도메인의 더보기(점세개 아래로 있는)버튼을 눌러서 ‘DNS 관리’를 누릅시다.

DNS(네임서버) 설정하기

이제 본격적으로 도메인과 라즈베리파이의 IP를 연결할 시간입니다. DNS관리 화면은 아래와 같이 생겼습니다. 처음 보신 분이라면 도대체 무슨 의미인지 이해하기 어려우실 겁니다. 이해할 수 있도록 차근차근 설명드리겠습니다.

우선 골뱅이(@)가 의미하는것은 ‘메인 도메인’ 입니다. 방금 구매하신 도메인 주소(예: devbaby.co)가 되겠습니다.

유형에는 A, CNAME, NS라는 녀석이 있는데요.

A 유형과 CNAME유형은 공통적으로 ‘이름’에 해당하는 주소를 ‘값’에 있는 주소로 연결하는 역할을 합니다. 현재 위의 사진에 보이는 A유형을 예로들자면, 지금 메인 도메인(@)으로 접속하면 ‘값’에 해당하는 IP주소로 연결하도록 설정 되어 있습니다.

위에서 보이는 IP주소가 바로 라즈베리파이에 연결된(포트포워딩 혹은 DMZ설정을 통해서)공인IP주소 인 것입니다.(예전 글에서 IP주소만 가지고 워드프레스 홈페이지에 접속한적이 있었을 겁니다. 그 IP입니다)

A 유형과 CNAME유형은 ‘값’에 어떤 것이 들어가는지가 차이점입니다.

A유형은 ‘값'(연결할 목적지)에 IP주소가 들어가구요.

CNAME유형은 ‘값(연결할 목적지)’에 ‘URL(인터넷 링크주소)’가 들어갑니다.

‘이름’란에 넣는 주소는 @가 아닌경우 서브 도메인만 입력하시면 됩니다.

서브 도메인이란?

가끔 스마트폰으로 웹사이트에 접속했을 때 주소 맨 앞에 ‘m.’이 붙은걸 보신적이 있으실겁니다.(예를들자면 m.naver.com)보통은 모바일에 특화된 홈페이지를 제공할 때 사용하는데요. 메인 도메인 앞에 붙은 ‘m.’이 바로 서브 도메인 입니다.

방금전의 사진을 다시 불러와 보겠습니다.

두번째 줄에 있는 ‘CNAME WWW @ 1시간’ 행을 예로 들어 설명드리겠습니다.

www라는 서브 도메인을 가진 주소에 대해서 @(메인 도메인)으로 연결해주는 설정입니다.

www라는 서브 도메인을 가지는 주소는 ‘www.devbaby.co’입니다.

만약 어떤 사용자가 해당 주소로 접속을 시도하게 되면 CNAME설정을 통해서 메인 도메인인 ‘devbaby.co’로 연결되고, A설정을 통해서 위의 IP주소로 보내지는 겁니다.

대략 이제 감이 잡히시나요?

그럼 구매한 도메인과 라즈베리파이의 공인IP연결을 해봅시다. IP주소를 넣어줘야 하니 유형은’A’가 필요하겠군요. 테이블에 이미 ‘A’유형이 나타나있다면 해당 행 맨 오른쪽의 연필 버튼을 누르면 수정할 수 있습니다. 아래와 같은 화면이 나타날 겁니다.

갑자기 용어가 살짝 달라져서 당황하실수도 있습니다.

‘호스트’는 위에서 설명드렸던 ‘이름’에 해당합니다. 여기서는 메인 도메인을 나타내는 @ 를 넣으면 됩니다.

‘지시 방향’은 호스트가 가리킬 주소를 나타냅니다. 라즈베리파이로 접속이 가능한 공인IP를 집어넣으면 됩니다. TTL설정과 초 설정은 따로 건드리지 않으셔도 됩니다.

완료하셨다면 저장을 누르시면 됩니다.

이 DNS설정의 가장 큰 단점은 변경사항이 적용되기까지 이전에 설정했던 시간만큼이 걸린다는 것입니다. 방금 설정한 TTL(Time To Live)은 레코드 변경사항이 적용될 때까지 걸리는 시간을 의미합니다. TTL을 설정할 때 ‘난 어서 당장 변경사항을 적용해야겠어’라고 해서 TTL초를 짧게 설정을 해놓더라도 즉시 반영되는게 아니라 이전에 설정해놓은 TTL값에 의해 갱신이 이루어지는 시점에 새로운 TTL이 적용 되는 겁니다. 이전 설정에 의해 갱신 시점이 올때까지는 새로운 녀석이 적용되지 않습니다.

이렇게 적용해 두시면 기본적인 세팅은 완료 된 것입니다.

전 세계의 DNS서버에 변경사항이 저장되기까지는 거의 하루정도 걸립니다.

지금당장 접속이 되지 않는다고 머리 쥐어뜯지 마시고 오늘은 여기까지만 하시기 바랍니다.

저는 제가 잘못해서 접속이 안되는줄 알고 라즈베리파이를 초기화해서 다시 설치했었습니다. 사실은 하루만 기다렸으면 될 일을 가지고 말이죠.

만약에 하루이틀이 지나도 접속이 잘 되지 않는다면, 우선 공인IP주소로 라즈베리파이에 접속 해 보세요. 만약 접속이 잘 된다면 DNS관리 페이지에서 네임서버를 다른곳으로 설정해야 할 수도 있습니다. 저는 고대디에서 기본적으로 제공하는 네임 서버를 그냥 두었는데 잘 작동하더라구요.

웹서버(nginx)에서 라우팅 설정하기

갑자기 라우팅(routing)이라는 용어가 등장했지만 내용은 간단합니다. 나의 도메인으로 접속한 사람들의 요청을 읽어서 적절한 곳으로 보내는 겁니다.

예를들자면 devbono.com으로 접속하면 웹 루트 폴더인 /var/www/html로 연결하는겁니다.

라우팅 설정파일 열기

이 라우팅 설정은 nginx폴더 안에 파일로 존재합니다. 위치는 /etc/nginx/sites-available/default 입니다. 아래 명령어를 사용해서 열어보겠습니다.

sudo nano /etc/nginx/sites-available/default

아래와 같은 주석(맨앞에 # 위치한 줄)이 가득한 화면이 나타날 겁니다.

주석을 싹다 제거해보면 내용은 별거 없습니다. 제가 주석을 다 제거한 나머지만 적어보겠습니다.

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }
    location ~ \.php {
    fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_read_timeout 400;
    include snippets/fastcgi-php.conf;
    include fastcgi_params;
    }

    location ~ /\.ht {
    deny all;
    }
}

server블럭(server { })과 그 안에 위치한 location블럭(location { })이 보입니다. 나중에 https연결설정할때 실제로 해볼것이긴 한데, 이러한 server블럭은 여러개 만들 수 있습니다.(어떤 요청인지에 따라 다른 설정이 가능합니다 위에서는 기본포트인 80번 포트로 접속하는 경우에 대해서만 설정하고 있습니다)

listen 80 default_server; 과 listen [::]:80 default_server; 구문에서 ‘default_server’라는 녀석이 있는데요. 서버 블락이 여러개라면 딱 하나의 서버블락에만 ‘default_server’를 사용할 수 있습니다.

왜냐면 이 디폴트 설정이 되어있는 서버블락에서 갈곳을 잃은 요청들(다른 서버블록이 처리하지 않은 요청)을 처리하게 되기 때문입니다. 현재 상태는 모든 요청을 단 한곳의 서버블록에서 처리하고 있으니까 어떤 서브도메인으로 접속하더라도 모두 다 메인 도메인으로 연결됩니다.

우선 우리가 수정할 부분은 server_name _; 입니다. 맨오른쪽 언더바( _ )로 된 부분에 자신이 구매한 도메인을 넣어줍시다. 제 블로그의 경우는 server_name devbono.com;이 되겠습니다.

라우팅 설정파일 수정하기

www 서브도메인을 메인도메인으로 리다이렉팅하기

사실 이 작업은 해주셔도 되고 안해주셔도 되는 작업입니다. 만약 지금 하는 설정을 따라하지 않는다면 www가 앞에 붙은 주소로 접속했을때 주소창에 www가 주소 앞부분에 붙어다닐 것입니다.(예: http://www.devbono.com)

지금 하는 설정을 따라한다면 www가 앞에 붙은 주소로 접속했더라도 주소창에는 www가 빠져있는 메인 도메인만 보일 것입니다.(예: http://devbono.com)

라우팅 설정파일을 열어서 그 안에 새로운 server블록을 넣겠습니다. 내용은 아래와 같습니다. 복사해서 붙여넣으실때 기존의 server블록 내에 들어가지 않도록 주의해주시기 바랍니다.(기존 server블록의 바깥에 넣어야 합니다. 잘 모르시겠다면 맨 아래 넣으시면 됩니다)

### HTTP www.  ###
server {
    listen 80;
    listen [::]:80;
    server_name www.devbono.com;
    location / {

        ### http://devbono.com 로 리다이렉팅 해주는 구문
        return 301 http://devbono.com$request_uri;       
    }
}

복사 붙여넣기 하신 후에 devbono.com을 자신이 구매한 도메인으로 바꿔주시기 바랍니다. 총 세군데 있습니다.

새로 추가한 server 블락 덕분에 사용자가 www.devbono.com으로 들어오면, 방금 위에서 새로만든 (server_name이 www.devbono.com인 server 블락)녀석이 처리합니다.

server 블락 안에 들어있는 location 블락이 301응답코드(리다이렉팅)와 함께 ‘메인도메인(http://devbono.com)+하위 url($request_uri)’로 보내게 됩니다. 그러면 원래 있던 server 블락에 요청이 가게 되고 www가 없어진 주소로 접속하게 됩니다. 이해되시려나요?

작성완료하였으면 Control + x 후 y 후 엔터를 눌러 변경사항을 저장합시다.

아래의 명령어를 사용하여 nginx 라우팅 설정파일에 이상이 없는지 확인합시다.

sudo nginx -t

아래 사진과 같이 나오면 정상입니다.

이제 nginx서버를 재시작하겠습니다. 아래 명령어를 입력합니다.

sudo service nginx restart

엔터 입력후 아무 반응 없이 다음줄로 넘어가면 성공한겁니다.

어느정도 기본적인 인터넷 라우팅 설정이 이루어졌으니 워드프레스 홈페이지에 관리자로 접속해서 워드프레스 내에서의 설정도 바꿔줘야 합니다.

워드프레스 관리자로 접속하기 위해서는 ‘자신의도메인/wp-login.php’를 주소창에 입력하시거나(따옴표는 빼셔야하는거 아시죠?) ‘자신의도메인/login’을 입력하시면 됩니다.

아이디와 비밀번호를 입력하면 아래와 같은 관리자 화면을 볼 수 있습니다.

왼쪽메뉴의 ‘설정’ > ‘일반’에 가셔서 ‘워드프레스 주소’ 와 ‘사이트 주소’가 원래 IP주소로 되어있었을 것입니다. IP주소를 지우고 ‘http://자신의 도메인’으로 바꿔줍시다. 제 블로그는 이미 https를 적용중이라서 https로 적혀있지만, 아직 우리는 https설정을 하지 않았으니깐 꼭! ‘http://’로 적어주셔야 합니다.

다음 글에서 https설정을 완료한 뒤에 여기도 다시 바꿔주도록 하겠습니다.

Stay Connected

More Updates

5 1 vote
Article Rating
Subscribe
Notify of
guest

8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
cho
cho
3 years ago

오… 도메인 사는법 잘 봤습니다. 감사합니다.

nana
nana
3 years ago

전문적인 포스팅!! 필요했던 내용이네용! 항상 감사드려요

2r2i
2r2i
3 years ago

문자로 된 도메인이 없이는 지인 말고는 아무도 오지 않는다는 말이 훅 와닿았아요 ㅎㅎㅎ

trackback

[…] 글 ‘도메인 구매하고 도메인 연결하기(go daddy에서 구입)‘을 성공적으로 따라 하셨다면 외부인터넷에서 도메인을 입력해서 […]

asd
asd
1 year ago

우와 설명 개잘하시네요 이렇게 깔끔하고 눈높이 잘맞춘 설명 살면서 처음봤어요

Last edited 1 year ago by asd
8
0
Would love your thoughts, please comment.x
()
x