본문 바로가기
Linux/for Hosting

워드프레스 "멀티사이트"를 통째로 복제하기

by aegypius 2022. 6. 19.
728x90
반응형

드물지만 가끔 워드프레스로 만든 사이트를 통째로 복사해야 할 때가 있다. 서버를 이전해야 하는 경우, 그리고 웹사이트를 복사한 후에 조금(?) 수정해서 다른 사이트로 운영해야 할 때다. 한마디로 비슷한 종류의 사이트를 처음부터 새로 만들기 귀찮아서....-_-; 다른 사이트로 운영하기 위해서는 당연히 도메인도 바꿔야 한다.

서버 이전 때문에 사이트를 복사(옮겨야) 할 때는 워드프레스가 설치된 디렉토리와 db를 복사하여 넘기면 된다. 그 이외의 것들은 서버를 이전하는 과정에서 어쩔 수 없이 진행해야 하는 프로세스일 뿐이다.

워드프레스 멀티사이트를 플러그인의 도움없이 통째로 복사하여 새로운 도메인으로 운영하는 것을 테스트 해봤다.


1. 워드프레스로 만든 웹사이트의 복사 (멀티사이트 아님~)

복사한 워드프레스 사이트를 다른 도메인으로 사용하려면 당연히 도메인의 변경작업을 해야 한다. wp-config.php에 설정되어 있는 db의 정보를 복사한 db에 맞게 편집한 후에 wp_options 테이블의 siteurlhome의 값을 기존의 url에서 변경하려는 새로운 url로 수정하면 된다. 그누보드(gnu board)라면 이러한 작업조차 필요없으니 조금 더 수월하다. db에서 특정 항목의 값을 변경하는 것은 phpmyadmin을 사용하면 편리하다. 아래와 같다.


2. 워드프레스 멀티사이트(Multisite)의 복제 - duplicate

임시로 만든 워드프레스 멀티사이트를 통째로 복사하는 테스트를 진행했는데 새로 설정한 도메인으로 작동하지 않았다.  db에 저장된 값을 모두 검색해서 기존의 도메인을 새로운 도메인으로 변경했는데도 사이트가 작동하지 않는 것이었다. 뭔가 누락된 항목이 있을 것이다. 처음부터 다시 테스트를 진행했다. 워드프레스 멀티사이트를 그냥 처음부터 만드는  편이 더 빠를지 몰라도......멀티사이트의 클론을 완벽하게 만들어낼 수 있다면.....작업(??) 속도는 하늘과 땅 차이가.....있을 거라는 생각이다....

멀티사이트의 클론(clone)을 만들었다면 wp-config.php에서 두 곳을 수정해야 한다. 상단에 있는 db설정부분과 하단부에 정의한 멀티사이트의 도메인이다.

define ( 'DOMAIN_CURRENT_SITE', '변경할도메인' );

이제 복사한 db에서 기존의 도메인을 새로운 도메인으로 하나하나 찾아서 수정해야 한다.

먼저 위의 그림에서 파란색 박스를 친 부분에서 기존 도메인이 저장된 값을 새로운 도메인으로 변경해야 한다.

(1) wp_options : siteurl, home

 - 이 두 곳의 값을 변경하려는 도메인으로 수정하자.

(2) wp_site

 - 변경하려는 도메인으로 수정하자.

(3) wp_sitemeta : siteurl

 - 변경하려는 도메인으로 수정하자.

(4) wp_blogs

 - 주사이트(메인사이트)와 나머지 사이트들의 목록을 볼 수 있다. 변경하려는 도메인으로 수정하자.

메인사이트를 포함한 사이트의 갯수만큼 wp_#_ 테이블이 존재한다. 숫자(#)가 없는 항목이 메인사이트의 정보를 담고 있으며, 2,3...부터는 두 번째, 세 번째 멀티사이트의 데이터이다. 

 

(5) wp_#_options : siteurl, home

 - 이 두 곳의 값을 변경하려는 도메인으로 수정하자. wp_options의 경우와 동일하다. 멀티사이트의 서브도메인을 수정할 수도 있다.


이 정도만 수정하면 워드프레스 클론(clone)사이트는 변경된 도메인으로 웹브라우저에서 오류없이 열린다. 하지만 기존에 작성해둔 페이지(page)나 글(post)을 편집하기 위해서 불러오면 오류가 발생하는 경우가 있다. 아마도 페이지 빌더로 작성한 페이지나 글에 옮기기 이전의 데이터(url 데이터, permalink 등)를 그대로 갖고 있기 때문인것 같다. 조만간 meta tag까지 적용시킨 완벽한(??) 멀티사이트를 구축한 후에..... 멀티사이트를 통째로 복사하는 것에 대한 테스트를 마저 진행해볼 계획이다. 아직 언급하지 않은 wp_users의 user_url과 wp_usermeta의 source_domain 등에 대한 테스트도 함께....

 

 

728x90
반응형

댓글