시스템 운영의 가장 중요한 일


워드프레스 사이트 뿐아니라 모든 웹사이트 운영시스템에서 가장 중요한 일은 바로 빽업입니다. 여러가지 상황으로 인한 시스템 자원의 유실은 사업의 성패를 좌우하는 요소가 됩니다. 그래서 시스템에 대해서 이해가 있는 회사는 여러가지 상황에 대비해서 1차 2차 빽업 시스템을 구축해놓고 있습니다. 시스템이 갑작스럽게 문제가 생겼을 때 바로 문제 직전의 형상으로 복원할 때 필요한 것은 바로 시스템 빽업 데이타입니다.

그리고 한 가지 더 중요한 것이 있다면 그것은 시스템의 형상관리(Software Configuration Management) 입니다. 형상관리란 시스템의 변경사항을 관리하는 것을 이야기합니다.
위키피디아는 형상관리를 다음과 같이 정의합니다.

소프트웨어 구성 관리란 소프트웨어 소스 코드 뿐 아니라 개발 환경, 빌드 구조 등 전반적인 환경 전반적인 내역에 대한 관리 체계를 정의하고 있다. configuration이란 영어 원문에서의 뜻은 소프트웨어의 BOM(Bill of Materials)을 운용하는 체제를 얘기하고 있으며, 대부분의 산업 공학이나 생산 시스템에서 이야기하는 제조 공정을 소프트웨어 엔지니어링에 적용한 경우를 의미한다.

즉, 하나의 소프트웨어 산출물(binary)을 생성하기 위해 필요로 하는 아이템들과 공정 방식의 정의, 그리고 재생성을 위한 전반적인 환경까지 베이스라인(baseline)화하여 관리하는 방식 전체를 의미하며 이를 체계화한 사항을 형상 관리 시스템으로 정의하고 있다.

형상관리란 쉽게 이야기하면 시스템에 변경사항이 발생할때마다 변경 시점별로 소프트웨어의 구성내역을 일종의 카메라로 사진을 찍어서 차곡차곡 보관해놓은 것이라고 생각하면 됩니다.
가령, 버전 1.0 버전 1.1 버전 1.2 이렇게 시스템의 변경사항이 있을 때마다 평상시 소프트웨어의 변경사항을 형상관리하고 있다면 시스템의 예상치 못한 문제가 발생되었을 때 문제가 없는 버전을 내려받아서 운영 시스템에 반영할 수 있는 것입니다.




워드프레스 사이트 빽업은?


워드프레스 사이트도 일반적인 웹시스템과 다르지 않습니다. 무엇보다 주기적인 사이트 빽업 작업은 반드시 필요합니다.
워드프레스 사이트 운영자가 해야하는 가장 중요한 일은 주기적으로 사이트를 빽업해야하며 문제가 발생되었을 때는 신속하게 복구 절차에 따라서 사이트를 복원해야합니다. 사이트의 규모가 크다면 운영자의 전근과 퇴직으로 운영자가 바뀔 가능성이 많기 때문에 정기적인 빽업과 사이트 복구 작업을 매뉴얼화 해놓는 것이 좋은 방법입니다.




빽업 주기는 사이트 특성에 따라서 틀릴 수 있으나 적어도 일반적으로 하루에 한 번 일단위 빽업을 권장합니다.

워드프레스 사이트를 빽업 받는 것에 대해서는 아래 포스팅을 참고해서 진행하기 바랍니다. 이번 시간에는 빽업받은 데이타를 기준으로 사이트를 복원하는 과정을 배우도록 하겠습니다.

[ 관련 포스팅 ]



빽업만 있다면, 워드프레스 사이트 복원은 간단하다


빽업 플러그인을 통해서 매일 주기적으로 워드프레스 사이트를 빽업받아두고 있다면 시스템의 문제가 발생을 하였다해도 걱정할 필요가 없습니다.
단지 아래 두 가지 방법만 사용하면 시스템을 원래대로 복원할 수 있기 때문입니다.
첫째는 FTP를 통해서 웹호스팅 서버에 파일을 업로는 하는 것이고(로컬 컴퓨터에서 워드프레스를 설치하였다면 해당 디렉토리 경로에 복사하면 됩니다.) 둘째는 데이터베이스를 복원하는 것입니다.

그럼 빽업데이터를 활용한 시스템 복원과정을 살펴보겠습니다.


빽업화일을 FTP로 웹호스팅 서버에 업로드하기


현재 슈만의 워드프레스 사이트는 카페24에서 웹호스팅을 받고 있습니다. 따라서 FTP 프로그램을 활용해서 카페24 웹호스팅 서버에 파일을 업로드 하겠습니다. 

먼저 BackWPup 플러그인을 활용해서 자신의 로컬 컴퓨터에서 빽업받은 워드프레스 폴더를 찾아갑니다.
저의 경우에는 BackWPup 플러그인을 활용해서 드롭박스에 매일 일단위로 자동 빽업을 받았습니다. 아래 화면과 같이 빽업받은 화일에서 1월11일자 빽업 화일을 사용해서 사이트를 복원하려고 합니다.





일단위 빽업을 받은 화일은 압축화일입니다. 따라서 자신의 로컬PC에서 알집등 압축프로그램으로 아래와 같이 압축을 해제합니다.




FTP 프로그램을 사용해서 자신의 웹호스팅 서버에 접속할 차례입니다.
저는 FTP 프로그램을 파일질라를 사용했습니다. 파일질라는 간편하게 사용할 수 있는 FTP 프로그램입니다.
파일질라는 아래 공식사이트에서 다운로드 받을 수 있습니다.


파일질라를 사용해서 shuman.kr이 호스팅을 받고 있는 카페24 웹호스팅 서버에 접속합니다.(로컬PC에 워드프레스를 설치하였다면 아래 내용을 참고해서 해당 디렉토리에 복사하면 됩니다.)



FTP 연결이 성공하면 아래와 같은 화면이 나타납니다.
파일질라 FTP 프로그램에서 왼쪽부분은 자신의 로컬 컴퓨터의 디렉토리이고 오른쪽은 웹호스팅 서버의 디렉토리 경로입니다.

먼저 빽업받은 화일을 올릴 웹호스팅 서버 경로를 설정하기 위해서 오른쪽 화면의 디렉토리 경로를 www 폴더로 클릭해놓습니다. 그리고 왼쪽 로컬 컴퓨터에서 빽업받은 폴더로 들어가서 wp-admin 폴더가 있는 부분에서 아래와 같이 Ctrl+A 를 클릭해서 전체를 선택하고 마우스의 오른쪽 버튼을 클릭합니다.
마우스 우클릭을 하면 나타나는 업로드 메뉴를 클릭하면 왼쪽의 로컬 컴퓨터의 빽업받은 화일들이 서버쪽으로 복사됩니다. 업로드 메뉴를 클릭합니다.

업로드가 완료되면 서버 작업은 완료된 것입니다.



카페24 MySQL 웹어드민을 활용한 데이터베이스 복원하기


사이트 복원을 위해서 두번째 할일은 데이터베이스를 복원하는 일입니다. 로컬 PC 빽업을 받은 폴더안에 shuman.sql이라는 화일이 있습니다. 이 화일은 워드프레스 전체에 대한 데이터베이스 화일입니다. 이 화일을 카페24 MySQL 웹어드민 도구를 사용해서 실행해서 데이터베이스를 복원할 것입니다.

먼저 카페24 사이트에 로그인합니다. 카페24 로그인을 한 뒤에 아래 화면과 같이 관리자화면인 나의서비스관리 메뉴를 클릭합니다.



나의서비스관리 화면에서 왼쪽의 서비스 접속관리 > MySQL 웹어드민 메뉴를 클릭합니다.



카페24 MySQL 웹어드민에 접속할 수 있는 화면이 나타납니다. 접속하기 버튼을 클릭합니다.





접속하기 버튼을 클릭한 뒤에 MySQL에 접속할 수 있는 사용자명과 암호명을 입력합니다. 카페24 등록시점에 설정한 아이디와 패스워드를 입력하고 실행버튼을 클릭합니다.




로그인을 하면 phpMyAdmin 화면이 실행된 것을 확인할 수 있습니다. 왼쪽 데이터베이스에서 shuman을 클릭해서 선택합니다.



데이터베이스 복원하기


shuman의 MySQL 데이터베이스가 열리면 아래화면과 같이 진행합니다.
첫째, 오른쪽 화면에서 Import 탭을 클릭합니다.
둘째, 파일 선택 버튼을 클릭해서 빽업받은 데이터베이스 화일을 선택합니다.
세째, 실행 버튼을 클릭합니다.

이렇게 실행버튼을 클릭하면 최종적으로 워드프레스 사이트는 정상적으로 복원됩니다.


성능을 저하시키는 콘텐츠 변경이력


워드프레스에서 콘텐츠를 만들다보면 과거에 삭제한 버전을 복구해야 할 때가 간혹 있습니다. 워드프레스의 강력한 기능 중의 하나는 작성한 모든 글에 대한 글의 리비전(Revision)이 보관된다는 점입니다. 리비전이 보관된다는 것은 자동으로 빽업본이 저장된다는 것을 의미합니다. 그렇지만 불필요하게 많은 리비전이 보관되면 글이 몇 개 없을 때는 상관없지만 작성한 콘텐츠가 많아지면 모든 글에 대한 변경이력을 보관하고 있는 것 자체만으로도 워드프레스 사이트 성능 저하에 영향을 미치게 됩니다.

따라서 최근 변경이력을 보관할 갯수를 지정해 주는 것이 성능 저하를 막는 좋은 방법입니다. Revision Control 플러그인은 이런 기능을 하는 플러그인입니다. 그럼 Revision Control 플러그인을 설치하고 설정하겠습니다.


Revision Control 플러그인 설치 및 옵션 설정


먼저 왼쪽 사이드바에서 플러그인 추가하기를 클릭합니다.



오른쪽 플러그인 검색창에서 Revision Control 을 입력하고 엔터키를 칩니다. Revision Control 플러그인은 최근 업데이트는 11개월 전에 있었지만 그래도 9만명 이상이 설치한 검증된 플러그인임을 확인할 수 있습니다.



지금 설치하기 버튼을 클릭해서 플러그인 설치를 진행합니다.



플러그인 활성활 링크를 클릭합니다.



왼쪽 사이드바 메뉴에서 설정을 클릭하면 Revision 이란 서브메뉴가 생성된 것을 확인할 수 있습니다. Revisions를 클릭합니다.



Revision Contorol 옵션 설정 화면이 나타납니다. 이곳에서 리비전의 갯수를 조정해서 사이트의 성능 저하를 막을 수 있습니다.
그렇다면 리비전의 갯수가 몇 개 정도가 적절할지 결정을 해야합니다. 리비전 갯수의 설정은 결국은 자신의 경험치가 될 것입니다.
일단 3개 ~ 5개 정도가 무난할 것 같습니다. 이곳에서는 전체적인 리비전 갯수를 설정할 수 있고, 개별 글이나 페이지에서도 개별적인 설정이 가능하기 때문에 변경이 많이 발생해서 리비전이 많이 필요한 글이나 페이지에서는 리비전 갯수를 증가 시키는 것도 좋은 방법입니다.



그럼 여기에서는 글과 페이지 가격 테이블의 리비전 갯수를 5개로 설정하도록 하겠습니다.
Posts와 Pages, Pricing Tables의 항목의 콤보 박스에서 Maximum 5 Revisions stored를 선택하고 Save Changes 버튼을 클릭합니다.



개별 글 리비전 옵션 설정


개별 글 화면에 들어갑니다. 개별 글에 대한 리비전 옵션을 설정하기 위해서는 화면 오른쪽에 화면 옵션 탭을 클릭한 뒤에 Post Revisions 체크박스에 체크를 해야합니다.



체크가 완료되면 글 본문 입력창 아래에 Post Revisions 라는 박스가 나타납니다. 이곳에서 개별 글에 대한 리비전 갯수를 설정하면 됩니다.






+ Recent posts