워드프레스 사이트 이전(migration)하기

사이트 이전(Site Migration)이란 어떤 사이트를 다른 곳으로 옮기는 것을 말합니다. 그러니 워드프레스에서 사이트 이전은 예를 들어 현재 내 워드프레스 사이트가 A라고 하는 웹호스팅 회사의 서버에 들어가 있던 것을 B라는 웹호스팅 회사의 서버로 옮기거나 혹은 로컬(local) PC에서 만든 워드프레스 사이트를 실제 웹호스팅 서버로 옮기는 일을 말합니다. 크게 보면 이전(migration)에는 다음과 같이 여러 경우가 있을 수 있습니다.

  • 웹호스팅 이전(A웹호스팅에서 B웹호스팅으로 서버 이전)
  • 도메인 변경(웹호스팅 이전과 관계 없이 도메인명만 변경)
  • 로컬(개발) 환경에서 만든 사이트를 실전(프로덕션) 웹호스팅에 배치
  • 워드프레스 아닌 타 CMS 기반 사이트를 워드프레스로 이전(혹은 그 반대)

이 중 가장 흔한 일은 아마도 웹호스팅 환경을 옮기거나 아니면 로컬에서 작업한 내 워드프레스 사이트를 실제 웹호스팅 환경으로 옮기는 일일 것입니다. 이 글에서는 가상의 A라는 웹호스팅 서비스에 hello.com 이라는 도메인으로 서비스 중이던 워드프레스 사이트를 B라는 웹호스팅 서비스에 world.com 이라는 도메인으로 변경하여 이전하는 것을 예로 들어 워드프레스 사이트 이전 방법을 설명드립니다.

이전할 것들

이전은 말 그대로 이사하는 것입니다. 이사할 때 이삿짐을 싸듯 이전할 때도 옮길 물건들을 준비해야 합니다. 그렇다면 무엇을 옮기면 될까요? 간단하게 생각하면, 현재 워드프레스가 설치되어 있는 A호스팅 서비스에 FTP로 접속하여 설치된 워드프레스 파일을 모두 내 PC에 다운로드 받은 다음, 이번엔 B호스팅 서비스에 FTP로 접속하여 방금 다운로드 받은 워드프레스 파일들을 다시 업로드시켜 주면 되지 않을까요?

워드프레스 FTP 다운로드 업로드
그림. 워드프레스 FTP 다운로드 업로드

맞습니다. 정답입니다. 그렇게 간단합니다. 그런데 이것 말고도 챙겨야 할 것이 두어 가지 더 있습니다. 하나는 데이터베이스(database) 파일이고, 또 하나는, 만약 도메인을 변경한다면, 도메인 변경을 데이터베이스에 반영해 주는 일입니다.

알다시피 워드프레스는 MySQL 데이터베이스를 이용하여 데이터를 저장합니다. 앞서 우리가 FTP 같은 프록그램으로 워드프레스 파일들을 A호스팅에서 B호스팅으로 옮기더라도 데이터는 옮겨지지 않습니다. 데이터는 MySQL에 의해 관리되는 별도의 위치에 저장되며, 통상적으로 파일을 복사하여 붙여넣기 방식으로는 옮길 수가 없습니다. 따라서 A호스팅의 MySQL 데이터베이스로부터 데이터를 추출하는 별도 작업을 거쳐 이렇게 추출된 데이터를 다시 B호스팅에 설치된 MySQL 데이터베이스에 입력하는 작업이 필요합니다.

한 가지 더 고려할 사항은 도메인 변경과 관련된 부분입니다. 예를 들어, 현재 도메인이 hello.com 인데 이를 world.com 으로 변경하려고 하면, 이 변경된 내용을 워드프레스의 데이터 속에도 반영해 줘야 합니다. 워드프레스는 많은 곳에서 도메인 주소를 직접 참조하기 때문에, 이런 도메인 변경에 대한 반영을 처리하지 않으면 포스트 속의 사진 이미지가 깨지거나 사이트 자체를 인식하지 못하는 일이 생길 수도 있기 때문입니다. 물론 도메인 변경 없이 그저 사이트만 이전하는 경우라면 이 작업은 필요 없습니다.

FTP로 파일 이전하기

앞서 사이트를 옮기는 작업을 FTP로 처리하면 된다고 말씀드렸습니다. 방법은 여러 가지가 있겠지만 원리는 똑같습니다. 기본적으로는 옮길 사이트(A호스팅)에 (S)FTP로 접속하여 워드프레스가 설치된 디렉터리를 통째로 복사하여 옮겨 갈 사이트(B호스팅)에 붙여 넣으면 됩니다. 이 작업은 Filezilla 같은 시중에 나와 있는 FTP 클라이언트 프로그램 중 하나를 이용하면 아주 쉽게 처리할 수 있기 때문에 자세한 설명은 생략합니다.

Filezilla로 파일 복사하기
그림. Filezilla로 파일 복사하기

WP Migrate DB 플러그인

이제 파일은 옮겼으니 MySQL 데이터베이스 속에 들어 있는 데이터를 옮길 차례입니다. 데이터를 옮기는 방법도 여러 가지 있지만 역시 원리는 똑같습니다. 기존 데이터베이스로부터 데이터를 백업 받아서 새 데이터베이스에 담아주면 됩니다. 여기서는 간단하게 플러그인을 사용하여 처리하도록 하겠습니다. 사용할 플러그인은 WP Migrate DB라는 플러그인입니다. 제목으로도 알 수 있듯 이 플러그인이 하는 일은 DB, 즉 데이터를 이전시키는 일입니다.

WP Migrate DB 플러그인
그림. WP Migrate DB 플러그인

이 플러그인을 설치하면 워드프레스 관리자 메뉴 “도구” 아래에 “Migrate DB” 메뉴가 추가됩니다. 이 메뉴를 클릭하면 아래 그림과 같이 마이그레이션에 필요한 설정값을 셋팅할 수 있습니다.

WP Migrate DB 설정
그림. WP Migrate DB 설정

이 플러그인이 편리한 점은 데이터를 마이그레이션할 때 도메인명 변경도 함께 처리할 수 있는 점입니다. 만약 단순히 웹사이트만 이전할 뿐 도메인 변경은 필요 없다면 이 File/Replace 입력 부분은 삭제하면 됩니다. “Export” 버튼을 클릭하면 데이터 파일을 내 PC로 다운로드 받을 수 있습니다.

WP Migrate DB Export
그림. WP Migrate DB Export

이제 Export 받은 파일을 새로 옮길 시스템(여기서는 호스팅B)의 데이터베이스에 입력해 주면 됩니다. 이번에도 역시 여러 가지 방법들이 있지만, 여기서는 웹호스팅 서비스에서 일반적으로 제공하는 MySQL 데이터베이스 액세스 도구인 phpMyAdmin을 사용하기로 하겠습니다. 참고로 카페24의 경우 “MySQL 웹어드민”이라는 이름으로 이 기능을 제공합니다.

카페24 MySQL 웹어드민
그림. 카페24 MySQL 웹어드민

phpMyAdmin(MySQL 웹어드민)에 접속하면 아래와 같이 phpMyAdmin 인터페이스가 표시됩니다. 이 때 새로 데이터베이스를 하나 생성한 다음, Import 탭을 클릭하여 방금 전 WP Migrate DB로부터 Export한 데이터 파일을 업로드시키면 모든 이전 작업이 완료됩니다.

phpMyAdmin으로 Import 하기
그림. phpMyAdmin으로 Import 하기

참고로 WP Migrate DB 플러그인은 지금 이 글에서 사용한 기본 버전 외에 좀 더 많은 기능들이 추가된 Pro 버전도 별도로 판매합니다. DB 처리와 관련하여 좀 더 다양한 제어가 필요한 분들은 고려할만 합니다.

오늘 소개해 드릴 내용은 여기까지 입니다. 사실 사이트를 마이그레이션하는 일은 사이트를 백업하는 일과 그 내용이 별반 다르지 않습니다. 백업이냐 이전이냐, 그 목적만 다를 뿐입니다. 워드프레스 사이트의 백업과 관련해서는 워드프레스와 백업(backup)을 참고하시면 좋을 듯 싶습니다.

워드프레스 사이트 이전과 관련한 더 자세한 내용은 Codex 문서 Moving WordPress를 참조하면 됩니다. 🙂

3 thoughts on “워드프레스 사이트 이전(migration)하기”