[블로그운영] 블로그 장애 발생3 – 도메인 변경
안녕하세요? 정리하는 개발자 워니즈입니다. 이번 시간에는 워드프레스 장애 발생 3번째 – 도메인 변경에 대해서 정리해보려고합니다. 필자는 2018년부터 햇수로는 6년 정도 블로그를 운영하고있는데요. .tk라는 무료 도메인을 발급 받아서 사용하고 있었습니다.
그런데 2월의 어느날 부터인가 필자의 도메인으로 접속을 했을 때, 아래와 같이 접근이 안되는 이슈가 생겼습니다.
블로그 0원으로 운영하기라는 주제로도 포스팅을 할 만큼 재미있게 유지하고 있었는데 간판이 내려간 느낌이라 당황스러웠습니다.
구글에도 2월부터 .tk pending에 대해서 검색을 해보면 아래와 같이 많으 수의 글들이 검색이 되는것을 확인했습니다. 확실히 .tk 도메인에 어떠한 문제가 발생됐음을 확인했습니다.
간판을 새로이 교체해야됨을 인지하고 오랜 숙원 사업이였던 .tk -> .com 으로의 DNS 변경에 대한 포스팅을 정리해보려고 합니다.
1. 도메인 구매 from 가비아
이전부터 도메인 구매를 하려고 여러방면으로 알아봤는데 그래도 한국 기업이고 문제가 생겼을 때 좀더 빠르게 지원 받을 수 있을것이라고 생각하여, 국내 업체인 가비아를 선택하게 되었습니다.
초기 비용으로는 DNS 구매 비용 17000원 + 세금 10%(1700원) 으로 도합 18700원을 내고 구매했습니다. 블로그운영의 가장 많은 비용이 투자 되기 시작했습니다.
DNS 설정 자체는 어렵지 않았습니다. 여러 DNS 제공 사이트와 동일하게 구매한 DNS에 알맞은 type으로 target 서버를 연결할 수 있도록 설정할 수 있었습니다. 우선 바로 설정하기에 앞서 내부 설정들도 필요하기에 다음으로 넘어가도록 하겠습니다.
2. 아파치 설정 파일 수정
1. letsencrypt 인증서 발급
- apache stop
/opt/bitnami/apache2/bin/apachectl stop
- 인증서 발급
sudo certbot certonly --standalone -d blog.wonizz.com root@ip-xx-xx-xx-xx:/etc# sudo certbot certonly --standalone -d blog.wonizz.com Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Requesting a certificate for blog.wonizz.com Performing the following challenges: http-01 challenge for blog.wonizz.com Waiting for verification... Cleaning up challenges
2. 아파치 설정 파일 변경
- /opt/bitnami/apache2/conf/httpd.conf ( master config )
ServerName blog.wonizz.com
- /opt/bitnami/apache2/conf/bitnami/bitnami.conf
<VirtualHost *:80> ServerName www.wonizz.com Redirect / https://blog.wonizz.com/ </VirtualHost> <VirtualHost *:80> ServerName wonizz.com Redirect / https://blog.wonizz.com/ </VirtualHost>
- /opt/bitnami/apache2/conf/vhosts/wordpress-https-vhost.conf
ServerName blog.wonizz.com ... ... SSLCertificateFile "/etc/letsencrypt/live/blog.wonizz.com/fullchain.pem" SSLCertificateKeyFile "/etc/letsencrypt/live/blog.wonizz.com/privkey.pem" ... ... RewriteCond %{HTTP_HOST} ^www.wonizz.com$ [NC] RewriteRule ^(.*)$ https://blog.wonizz.com [R=301,L]
여기까지 진행되면, 내부 웹서버 설정( config, 인증서 처리 )까지는 완료 된것입니다.
3. DB 마이그레이션
워드프레스를 통해서 쌓이는 데이터중에 포스팅, 메타정보, 커멘트, 유저 정보등에서 기존의 DNS가 사용됨을 확인했습니다. 이를 직접 갱신하는 작업이 필요했습니다.
- AWS RDS를 통해서 기존 DB는 스냅샷(백업)을 미리 생성해둡니다.
- 이후에 Mysql client를 통해서 DB에 직접 접속 후, 커맨드를 통해서 직접 갱신합니다.
UPDATE wp_options SET option_value = replace(option_value, 'wonizz.tk','wonizz.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts set post_content = replace(post_content,'wonizz.tk','wonizz.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'wonizz.tk', 'wonizz.com');
UPDATE wp_comments SET comment_author_url = replace(comment_author_url,'wonizz.tk', 'wonizz.com');
UPDATE wp_users SET user_url = replace(user_url,'wonizz.tk', 'wonizz.com');
- 내부 플러그인에서 사용하는 부분도 동일하게 업데이트를 진행합니다.
UPDATE wp_yoast_indexable SET permalink = replace(permalink,'wonizz.tk', 'wonizz.com');
UPDATE wp_yoast_indexable SET twitter_image = replace(twitter_image,'wonizz.tk', 'wonizz.com');
UPDATE wp_yoast_indexable SET open_graph_image = replace(open_graph_image,'wonizz.tk', 'wonizz.com');
UPDATE wp_yoast_indexable SET open_graph_image_meta = replace(open_graph_image_meta,'wonizz.tk', 'wonizz.com');
UPDATE wp_yoast_seo_links SET url = replace(url,'wonizz.tk', 'wonizz.com');
4. 구글 서치 콘솔 등록 & 어날리틱스 등록
1. 구글 서치 콘솔 등록
구글 서치 콘솔은 구글에서 노출되는 컨텐츠들의 SEO(검색 엔진 최적화)를 하기 위해서 등록을 수행합니다. 등록 자체는 간단합니다. 아래의 가이드에 맞춰서 신규 도메인을 등록하고 도메인 소유권을 확인하는데 TXT레코드를 가비아를 통해서 등록을 하면 바로 확인을 받게 됩니다.
가이드 : https://support.google.com/webmasters/answer/9008080?hl=ko
기존의 .tk에 등록되어있는 색인들을 삭제 요청을 하고, .com으로 사이트맵을 배포하여 검색쪽에서 노출이 되도록 설정을 했습니다. ( 이부분은 아직 필자가 좀더 확인을 해봐야 하는 부분인데요. 검색 최적화가 안되어있어 노출빈도가 낮습니다.. )
2. 구글 어날리틱스 등록
구글 어날리틱스는 필자의 사이트에 유저들이 들어와서 페이지 이동의 전반적인 현황을 분석할 수 있는 도구입니다. 역시 손쉽게 설정할 수 있는 방법들이 있는데요. 기존에 .tk도메인을 통해서 이미 설정은 완료 되어있는 상태여서 .com에 대한 신규 속성만 추가하면 되었습니다.
가이드 : https://support.google.com/analytics/answer/9744165?hl=ko#
속성을 추가 한 뒤, 필자가 접속을 수차례 시도하면 바로 GA를 통해서 유저 접근이 보이는것을 확인 할 수 있었습니다.
5. 구글 애드센스 등록
구글 애드센스가 제일 걱정인 부분이였습니다. 이미 .tk에 광고 게재를 하고있었고 수익도 일부 발생하고있었습니다. 그런데 이러한 부분들이 신규 도메인에 대해서 migration이 되는지가 궁금했었습니다. 앞선 구글 부분(서치콘솔, 어날리틱스)도 이미 기 설정된 부분이 있고 신규 도메인만 추가했는데 애드센스도 그렇게 되는지 궁금했습니다.
기존에 등록된 사이트를 삭제 하고 신규로 등록을 하니, 아래와 같이 신규 요청이 들어갔습니다.
PS. 신규 요청이 완료되어 현재 .com에서도 이전과 동일하게 광고 게재가 되고있습니다.
6. 마치며..
이번 포스팅에서는 블로그의 간판인 DNS를 변경하는 작업에 대해서 겪었던 내용을 소개했습니다. .tk로 오랜기간 운영을 해왔기 떄문에 아쉬운 점은 필자의 블로그를 퍼가기 하거나 참조하는 쪽에서는 여전히 .tk도메인을 사용하고 있다는 것입니다.
Redirection 설정이라도 할 수 있으면 좋은데 그부분을 할 수 없는 부분이 아쉽기도 했고, 이참에 .com으로 전환해서 뭔가 더 깔끔한 블로그 운영이 되는건 반대로 좋았습니다.
다음에는 SEO강화를 위해서 구글 서치 콘솔과 워드프레스 플러그인인 Yoast에 대해서 사용해보고 정리를 해보도록 하겠습니다.