워드프레스 DB 파일을 사용하여 사이트를 복구하는 방법

워드프레스, 그누보드, XE와 같은 CMS를 이전할 때는 반드시 데이터와 데이터베이스(DB)를 함께 백업해야 합니다. 드물게 데이터를 백업하면서 DB는 누락해 복구에 실패하는 안타까운 사례를 목격하게 됩니다. 반대로 DB만 백업한 경우에는 어떻게 될까요? 이 경우 이미지와 같은 데이터 파일이 없기 때문에 사이트를 복원하더라도 불완전하게 복구됩니다.

워드프레스를 백업할 때에는 반드시 데이터와 함께 DB도 함께 백업하시기 바랍니다. 데이터(파일)만 백업하면 사이트 자체를 복구할 수 없고, DB만 백업하면 사이트가 불완전하게 복원될 수 있습니다.

워드프레스 DB 파일만으로 사이트를 복구할 수 있을까?

카페24 호스팅에서 PHP 버전을 변경(예: PHP 7.4에서 PHP 8.2로 변경)하거나 10G 광호스팅 상품에서 매니지드 워드프레스 상품으로 전환 신청을 하는 경우 데이터(DATA)와 DB를 백업한 후에 진행하라는 경고가 표시됩니다.

이런 경고가 표시되더라도 백업을 하지 않거나, 백업 후 PC로 다운로드하지 않아 문제가 생기는 경우가 종종 있습니다.

워드프레스나 그누보드와 같은 사이트를 복원하려면 반드시 데이터와 데이터베이스(DB)가 모두 필요합니다. 데이터만 있을 경우 페이지, 글, 테마 설정, 플러그인 설정 등이 모두 사라져 복구가 불가능합니다. 반대로 DB만 있으면 페이지와 글, 설정 항목들은 복원할 수 있지만, 이미지와 필요한 파일들이 없어 사이트가 불완전하게 복구됩니다.

최근 패스트코멧에서 멀웨어에 감염된 워드프레스 사이트에서 악성코드를 제거하고 클라우드웨이즈로 이전하는 작업을 맡았습니다.

참고로 패스트코멧은 블루호스트와 비슷한 레벨의 호스팅으로 도쿄 서버를 제공하여 우리나라에서도 속도가 어느 정도 괜찮은 편입니다. 비슷한 수준의 호스팅인 케미클라우드는 지난 7월에 서울 서버를 도입하면서 우리나라에서도 속도가 빠릅니다.

방문자 수가 많거나 큰 규모의 사이트를 운영하는 경우 클라우드웨이즈가 괜찮은 선택일 수 있습니다. 블로그를 시작하는 단계에서는 클라우드웨이즈가 조금 과할 수 있습니다.

cPanel의 phpMyAdmin 툴에 접속하여 살펴보니 두 개의 DB가 있었습니다.

두 개의 워드프레스 사이트를 각각 패스트코멧의 두 상품에서 운영하다가 클라우드웨이즈로 이전하려고 했습니다. 그런데 첫 번째 사이트의 상품을 해지하면서 백업을 받지 않은 상태였고, 그 결과 사이트를 클라우드웨이즈로 이전하지 못했습니다.

당연하지만, 사이트를 이전하려는 경우 먼저 백업을 확실히 받고 사이트 이전을 완료한 후에 기존 호스팅 계정을 해지하는 것이 좋습니다. 도메인까지 함께 옮긴다면 기존 사이트는 2일(48시간) 정도 유지해야 사이트 중단을 최소화할 수 있습니다. 네임서버 변경 시 DNS 정보가 전파되는 데 1~2일 정도 소요됩니다.

이 문제 때문에 두 번째 사이트를 이전하지 않고 있었는데, 두 번째 사이트가 악성코드로 인해 패스트코멧에서 사이트가 차단되어 악성코드 치료와 이전을 맡겨왔습니다. 악성코드 때문에 사이트에 접속하면 “You don’t have permission to access this resouce. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request” 오류가 표시되었습니다.

사이트를 복구하려면 먼저 패스트코멧의 라이브 채팅을 통해 내 IP 주소를 허용해 달라고 요청해야 합니다. 그러면 해당 IP 주소로 워드프레스 사이트에 접속해 로그인이 가능합니다. 하지만 관리자 페이지에서는 플러그인을 설치하거나 삭제하려고 시도하면 권한 문제로 실패합니다. 따라서 FTP와 phpMyAdmin을 사용해 데이터와 데이터베이스(DB)를 직접 백업해야 합니다.

내 인터넷 회선(컴퓨터)의 IP 주소는 네이버에서 “내 IP”를 검색하여 확인할 수 있습니다.

패스트코멧에서 동일 사용자가 두 개의 상품에 가입하더라도 동일한 phpMyAdmin을 사용하는 것인지 몰라도, 상품 하나가 해지되어 데이터가 삭제되었지만 cPanel에 로그인하여 phpMyAdmin에 접속했을 때 해지된 사이트의 DB가 살아 있었습니다.?

이 DB를 가지고 클라우드웨이즈에 워드프레스 설치하고 복원을 시도했습니다. DB를 임포트한 후에 DB에서 활성화된 테마와 플러그인을 확인하여 동일 테마와 플러그인을 설치했습니다. 활성화된 테마와 플러그인은 다음 쿼리를 사용하여 확인할 수 있습니다.

활성화된 테마 확인:

SELECT * FROM wp_options 
WHERE option_name IN ('template', 'stylesheet');

활성화된 플러그인 확인:

SELECT * FROM wp_options WHERE option_name = 'active_plugins';

예를 들어, 이 사이트에서 활성화된 테마를 찾는 SQL 명령을 실행하면 다음과 같은 결과 화면이 표시됩니다.

GeneratePress 테마의 차일드 테마가 설치되어 있음을 확인할 수 있습니다. 차일드 테마가 설치되어 있지 않고 부모 테마만 설치된 상태이면 위의 그림에서 stylesheet template 옵션 모두에 대하여 generatepress가 표시될 것입니다.

테마와 플러그인을 확인한 후에 동일한 테마와 플러그인을 설치하면 사이트가 어느 정도 복원될 수 있습니다. 페이지와 글 등은 이미지 없이 복원됩니다. 하지만 완벽하게는 복원되지는 않습니다. 특히 모든 이미지들이 엑박으로 표시됩니다.

또한, 테마나 플러그인을 직접 수정했거나 차일드 테마를 사용한 경우에는 사이트가 원하는 대로 복원되지 않을 가능성이 높습니다.

안전하게 사이트를 운영하기 위해 정기적으로 백업하여 PC에 저장하는 것이 바람직합니다. 백업본이 있으면 사이트에 문제가 발생할 경우 쉽게 복원이 가능합니다.

워드프레스 사이트 복원이나 기타 워드프레스 또는 웹호스팅 관련 문제로 어려움을 겪고 계시다면 이 블로그의 글들을 검색하여 문제 해결을 시도해볼 수 있습니다.

워드크래커는 워드프레스 정보꾸러미 블로그와 워드프레스를 사용하는 사람들(네이버 카페)을 운영하고 있습니다.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments