가성비 웹호스팅 업체


웹호스팅 업체를 선정하는 주요 요소중의 하나는 호스팅 비용입니다. 또한 기왕이면 동일한 가격에서 제공되는 서버나 환경의 사양이 높다면 더욱 좋을 것입니다.
가성비 호스팅 비교에 대한 포스팅은 아래 내용을 참고 바랍니다.



이번 시간에는 아이비호스팅의 가입 및 호스팅 신청 절차에 대해서 알아보도록 하겠습니다.

아이비호스팅 가입하기


먼저 웹브라우져를 열고 아이비호스팅 웹호스팅 사이트에 접속합니다. 아래 화면과 같이 아이비호스팅의 웹호스팅 서비스 페이지가 나타날 것입니다.



호스팅 서버 환경과 호스팅 서비스 내용을 보면 저렴한 비용임에도 높은 사양의 서버 환경과 서비스를 제공하는 것을 확인할 수 있습니다.




회원을 가입해야하므로 회원가입 메뉴를 클릭합니다.



회원을 가입하는 절차입니다. 모두 체크한 뒤에 동의하기 버튼을 클릭합니다.








사업자가 아니면 개인회원 가입하기 버튼을 클릭합니다. 세금계산서 발행을 원하면 기업회원으로 가입해야합니다.





본인 인증 버튼을 클릭해서 본인 인증과정을 진행합니다.




정보 입력후 회원가입 버튼 클릭합니다.





회원가입한 아이디와 비밀번호를 입력하고 다시 로그인합니다.



호스팅 서비스 중에서 IVY 2G를 신청하려고 합니다. IVY 2G 의 신청하기 버튼을 클릭합니다.




화면 이동후 IVY 2G 아래에 신청하기 버튼 클릭하기



웹호스팅을 신청하는 화면이 나타납니다. 동의합니다에 체크하고 서비스 신청 사양을 확인합니다.




계정 용량은 2G이고 DB 용량은 무제한입니다. 하루 트래픽 용량은 2G 입니다. 하루 2G가 넘으면 트래픽이 차단 됩니다.



서버 환경을 선택하는 화면이 있습니다. 최신 사양인 UTF-8에 PHP 5.6과 MySQL 5.6를 선택합니다. 호스팅 가입시 설치파일 업로드 서비스를 제공합니다. 워드프레스나 XE 등을 설치를 원하는 프로그램을 선택하면 됩니다. 여기에서는 프로그램을 직접 업로드 할 것이므로 업로드안함으로 선택하겠습니다.




계정아이디를 입력하는 부분이 있습니다. 여기에서 입력하는 계정아이디는 아이비호스팅을 로그인하는 아이디와 다릅니다.
아이비호스팅에 로그인하는 아이디는 하나이지만 계정아이디는 신청하는 호스팅서비스에 따라서 여러개가 될 수 있습니다.

계정아이디는 FTP 아이디가 되는 것과 동시에 아이비호스팅에서 제공하는 무료 도메인의 주소가 됩니다.

계정 정보입력후 서비스 이용기간 및 비용을 선택합니다. 1년을 선택하고 신청하기 버튼을 클릭합니다.
(결제는 크롬브라우저에서 되지 않으므로 익스플로어에서 진행합니다.)





신청하기 버튼을 클릭하면 결제하기 화면이 나타납니다.





결제 방법에서 신용카드 결제를 클릭하고 결제하기 버튼을 클릭합니다.


최종 서비스 사양 신청내역을 확인하고 결제하기 버튼을 클릭합니다. 그렇지만 크롬브라우저에서 진행했다면 아래와 같은 메시지가 나타날 것입니다.




익스플로어 브라우저를 열고 마이페이지 > 결제관리 및 확인 > 서비스신청 진행목록 메뉴를 클릭합니다. 크롬브라우저에서 진행했던 내용이 그대로 저장되어 있습니다.
서비스 사양 및 신청 내역을 확인하고 결제하기 버튼을 클릭합니다.



신용카드 결제를 진행합니다.




결제가 완료되면 다음과 같이 서비슨 신청 완료화면이 나타납니다.




나의 호스팅 정보 확인하기


가입한 호스팅 내역을 확인하려면 아이비호스팅 홈페이지의 오르쪽 상단에 마이페이지 > 호스팅관리에서 확인하면 됩니다.
호스팅 관리 메뉴를 클릭합니다.



호스팅 관리 화면이 나타납니다. 상세보기 버튼을 클릭합니다.



다시 보아도 만족스러운 서버 사양입니다. SSD 계정 용량은 2G로 가격대비 훌륭합니다.






또한, 월 천원 요금제인데도 최고사양에 속하는 PHP 5.6과 MySQL 5.6을 사용할 수 있습니다. 아직까지 보유하고 있는 도메인을 연결하지는 않았습니다.
아이비호스팅에서 무료로 제공하는 도메인을 확인해보겠습니다. 무료 제공 도메인명을 클릭합니다.





무료 제공도메인에 연결하니 다음과 같은 화면이 나타납니다. 홈디렉토리는 삭제 및 변경하지 말라는 문구가 보입니다.





본 포스팅은 특정업체와 상관없으며 특정업체를 광고하기 위한 포스팅이 아님을 밝힙니다. 특정업체에서 어떠한 대가도 받지 않았으며, 개인적으로 확인 및 사용하고 검토한 결과를 바탕으로 작성한 포스팅입니다. 

웹호스팅 선택의 잣대 - 비용


워드프레스를 사용한 웹호스팅뿐아니라 일반적인 다른 웹사이트를 운영할 때 고려해야 할 사항은 여러가지가 있습니다.
사용자들이 일반적으로 가장 많이 고려하는 것은 호스팅 비용입니다.

웹호스팅에 대한 설명과 국내에서 일반 사용자들이 많이 사용하는 카페24, 가비아, 닷홈에 대한 호스팅 비교는 아래 포스팅을 참고바랍니다.


만약 자신의 웹사이트가 호스팅 서버의 사양이 그리 중시되지 않는다면 위의 업체 비교 내용만 확인하고 호스팅 업체를 선정해도 괜찮습니다.
그렇지만 자신이 사용하고자 하는 웹호스팅 서버의 사양이 높아야 된다면, 상황은 조금 달라집니다.


그렇다면 호스팅 사양에 대한 문제는?


호스팅 사양에 대한 문제는 다음과 같은 상황에서 발생합니다. 워드프레스 개발을 예로 들겠습니다.
개발자는 자신의 로컬컴퓨터에서 오토셋을 활용해서 워드프레스를 개발합니다.
문제는 개발이 완료된 워드프레스 화일을 호스팅 업체의 운영서버에 이관할 때 오류 발생으로 나타납니다.



개발자는 자신의 로컬컴퓨터에서는 모든 테스트를 끝냈지만, 운영서버에 반영하는 시점에서 MySQL과 PHP 버전이 상이함으로 인해서 운영계 데이터베이스인 MySQL에 데이터가 제대로 이관되지 않거나 때에 따라서는 데이터베이스에는 제대로 이관이 되지만 웹브라우져에서 웹사이트 구동이 제대로 되지 않고 화면이 깨지는등 오류가 발생합니다.

개발자 입장에서 가장 좋은 방법은 자신의 로컬컴퓨터의 개발환경을 운영서버환경과 맞추는 것입니다. 로컬컴퓨터 호스팅 업체의 운영서버인 아파치, PHP, MySQL 버전과 동일하게 유지한 상태에서 워드프레스 개발을 한다면 문제는 발생하지 않을 것입니다. 그렇지만 현실은 그렇지 못합니다.




워드프레스 개발환경과 운영서버환경의 버전 차이


워드프레스를 개발하기 위해서 요즈음에 국내에서 일반적으로 사용하는 로컬 개발환경 도구는 오토셋입니다.
많이 사용하는 오토셋 버전은 오토셋8이나 오토셋9 입니다. 오토셋8과 오토셋9은 워드프레스 4.2 버전을 지원하고 있으며 워드프레스 4.2 버전을 설치하면 자동으로 데이터베이스인 MySQL은 5.6 버전이 설치됩니다.

따라서 워드프레스 4.2 버전을 사용해서 설치해서 개발을 하게되면 데이터베이스인 MySQL의 데이터베이스 캐릭터섹(Charset)은 utf8mb4로 저장됩니다.
이미 모든 개발을 완료하였다면, 모든 데이터는 utf8mb4 형태로 저장되어 있는 것입니다.

utf8mb4는 MySQL 5.5.3 버전부터 새롭게 지원되는 DB캐릭터셋으로 기존의 utf8에 비해서 모든 유니코드를 저장할 수 있는 이점이 있는 대신에 MySQL 버전이 5.5.3 이상이 되어야 하므로 그 보다 낮은 버전에서는 에러가 발생하게 됩니다.
그렇다고 처음부터 낮은 MySQL 버전으로 개발을 다시하는 것은 무리가 있습니다


MySQL 5.5.3 이상을 지원하는 가성비 웹호스팅 찾기


제일 좋은 방법은 MySQL 5.5.3 이상을 지원하면서 비용도 저렴한 가성비 높은 호스팅을 찾는 것입니다.

그렇지만 아직까지 국내 호스팅 업체들이 기본적으로 MySQL 5.5.3 이상 버전을 지원하는 경우는 많지 않습니다.
일반적으로 호스팅 업체에서는 MySQL 버전을 MySQL 5.x 로 표기하곤 합니다. 그렇지만 5.x 로 표시한 경우 5.0, 5.1 버전인 경우가 대부분이며 5.x 버전은 5.5 이하인 경우라 보면 됩니다.

MySQL 5.x로 표시되어도 추가 비용을 지불하면 상위버전으로 업그레이드가 가능합니다. 그렇지만 기본적으로 MySQL 5.6 을 제공하는 업체를 찾는다면 더욱 좋을 것입니다.
MySQL 5.6 버전을 지원하는 것 관련해서 모든 업체를 다 찾아볼 수도 없어서 제가 평소에 관심을 가지고 있던 호스팅 업체들 위주로 알아보았습니다.

확인해본 업체는 카페24, 닷홈, 가비아, 후이즈, 아이비호스팅입니다.
업체 선정의 기준은 연간 서비스 비용이 2만원 내외이면서 MySQL 5.6을 지원하는 호스팅 업체입니다. 그럼 한 업체씩 확인해보도록 하겠습니다.


카페24 호스팅


국민 호스팅인 카페24의 경우에는 일반형이 11,000원으로 제가 찾으려는 가격대의 서비스입니다.



그렇지만 MySQL 버전은 5.x 로 표기됩니다. 기본적으로 MySQL 5.6 버전을 지원하지 않습니다.








닷홈 호스팅


닷홈의 경우 64bit 웹 1.5G 서비스가 가격대에 적합합니다.




닷홈 역시 카페24와 마찬가지로 MySQL 을 4.x, 5.x 버전을 지원합니다. 따라서 5.6 버전을 기본적으로 지원하지 않습니다.




가비아 호스팅


가비아의 경우에는 워드프레스 전용호스팅이 MySQL 5.6을 지원합니다. 그렇지만 월 사용료가 9,500원으로 년간 할인가로 95,000원을 지불해야 합니다.
저의 예상 비용을 초과합니다.





가비아는 MySQL 5.6을 지원을 명기하고 있습니다.



후이즈 호스팅


후이즈는 비용이 저렴하지 않습니다. 가장 저렴한 요금도 년 14만원선을 지불해야 합니다.



후이즈는 MySQL 5.1을 지원합니다.




아이비호스팅


아이비호스팅은 IVY 2G의 경우에 년간 12,000원의 저렴한 비용에도 불구하고 MySQL 5.6 버전을 제공하고 있습니다.
MySQL 뿐아니라 아이비호스팅은 SSD 계정용량도 넉넉하고 저렴한 가격에도 고사양을 지향하고 있습니다.




가성비 웹호스팅 비교 정리표


마지막으로 가성비 웹호스팅 업체를 조사한 것을 표로 정리해보았습니다. 가성비 웹호스팅 선정에 참고바랍니다.


카페24
닷홈
가비아
후이즈
아이비호스팅
연간 서비스 비용
13,200원
10,200원
95,000원
141,600원
12,000원
MySQL 버전
MySQL 5.x
MySQL 4.x, MySQL 5.x
MySQL 5.6
MySQL 5.1
MySQL 5.6
가성비 호스팅 추천





워드프레스와 구글 애널리틱스 연동시키기


웹사이트의 지속성을 유지하기 위해서는 웹사이트분석의 유용한 도구인 구글 애널리틱스를 사용하는 것이 좋습니다. 구글 애널리틱스는 구글 애널리틱스 사이트에 들어가서 바로 사용할 수 있습니다. 그렇지만 워드프레스를 사용한다면 굳이 구글 사이트에 방문하지 않고 자신의 워드프레스 사이트에 플러그인을 설치해서 웹사이트 현황을 확인할 수 있습니다.

구글 애널리틱스 플러그인 중에서 많이 사용하는 플러그인 중의 하나는 Google Analytics by Yoast 플러그인입니다.





Google Analytics by Yoast 플러그인 설치하기


구글 애널리틱스 플러그인을 설치하기 위해서 관리자 메뉴의 왼쪽 사이드바에서 플러그인 추가하기 메뉴를 클릭합니다.



플러그인 검색화면에서 Google Analytics by Yoast 를 입력하고 검색합니다. 첫번째 플러그인의 치금 설치하기 버튼을 클릭합니다.





Google Analytics by Yoast 플러그인 연결하기


Google Analytics by Yoast  플러그인을 설치하면 관리자 화면에 다음과 같은 메뉴가 생성된 것을 확인할 수 있습니다. Analytics > Settings 메뉴를 클릭합니다.



구글 애널리틱스 by Yoast의 설정화면이 나타납니다. 구글 애널리틱스 계정에 인증하기 위해서 General 메뉴에서 Authenticate with your Google accout 버튼을 클릭합니다.



Authenticate with your Google accout 버튼을 클릭하면 구글 계정 로그인 팝업이 뜹니다.



이곳에 자신의 구글 계정을 입력하고 다음 버튼을 클릭해서 로그인을 진행합니다.



구글의 권한요청 내용의 팝업 화면이 나타납니다. 워드프레스 플러그인인 Google Analytics by Yoast에서 구글 애널리틱스의 데이터를 조회하기 위한 권한 요청 확인 팝업입니다. 하단의 동의 버튼을 클릭합니다.




동의 버튼을 클릭하면 인증코드가 나타납니다. 아래 인증코드를 드래그해서 복사해둡니다.



그리고 워드프레스 관리자 화면으로 와서 아래 입력란에 복사한 구글 인증코드를 붙여넣습니다.




구글 인증코드를 워드프레스에 붙여넣은다음에 Save authentication code 버튼을 클릭합니다.



구글 인증코드가 정상적으로 저장되고 연결되면 아래와 같이 설정화면이 변경되고 기존의 인증버튼이 Re-autenticate with your Google account 버튼으로 변경된 것을 확인할 수 있습니다. 이제는 분석을 위한 프로파일을 선택할 차례입니다.




Analytics profile 항목에서 Select a profile 선택박스를 클릭합니다.




profile 에서 전체 웹사이트 데이터를 선택합니다.



프로파일에서 분석할 웹사이트 데이터 항목이 선택되어진 상태에서 저장버튼을 클릭합니다. 이렇게 하면 구글 애널리틱스와 연결이 된 것입니다.



워드프레스 콘텐츠 작성시 페이지(Page)와 글(Post)을 구분해서 사용하자


워드프레스를 사용해서 글을 작성할 때 워드프레스 콘텐츠 타입을 크게 본다면 두 가지로 생각할 수 있습니다.
두 가지는 하나는 페이지(Page)이고 하나는 글(Post)입니다.
일반적으로 페이지(Page)는 회사 소개등 정적인인 내용을 구성할 때 사용하고, 동적인 블로그성 내용은 글(Post)로 작성하는 것이 좋습니다.




페이징 기능이란?


페이징 처리 기능은 아래 그림을 보면 바로 이해가 갈 것입니다. 페이징 처리 기능은 구글 화면과 같이 클릭을 해서 다음 페이지로 넘어가는 기능을 이야기합니다. 페이징 처리기능이란 용어는 페이지 네비게이션으로 IT 업계에서는 명명하기도 합니다.




요즈음에는 여러 블로그 시스템에서 페이징 기능을 특정 아이콘이나 이미지를 클릭해서 페이징 기능을 두는 대신에 스크롤을 내리면 동적으로 다음 블로그 내용들이 보여지는 방식으로 서비스를 구현하고 있습니다.


워드프레스 페이징 기능 적용의 묘(妙)


워드프레스의 페이징 기능은 여러가지 상황을 고려해 보아야합니다. 워드프레스의 버전과 어떤 테마를 사용하는지에 따라서 페이징 기능을 적용하는 방법이 다르기 때문입니다.

워드프레스의 태생은 작은 블로그 프로그램에서 시작이 되었습니다. 태생이 블로그이기 때문인지 과거 워드프레스 버전에서는 기본적으로 페이징 처리 기능이 페이지번호가 보이는 방식이 아니라 이전, 이후 정도의 페이지 기능 정도만 제공하고 있었습니다.

그래서 숫자가 보이는 페이징 기능을 구현하기 위해서는 페이징 플러그인으로 유명한 WP-PageNavi 플러그인을 설치해서 사용하는 경우가 많았습니다.
전세계적으로 백만건이상 설치된 WP-PageNavi 플러그인은 지금도 워드프레스에서 페이지 네비게이션 기능을 구현할 때 가장 많이 사용하는 플러그인입니다.




그렇지만 아래 화면과 같이 WP-PageNavi 플러그인을 설치한다고 해서 모든 일이 해결되는 것은 아닙니다.
WP-PageNavi 플러그인을 설치한 뒤에 자신의 워드프레스 테마 소스에서 functions.php 나 index.php 등 php 소스를 뒤져서 next_posts_link() 함수를 찾아서 아래 그림과 같이 변경해 주어야 했습니다.





테마가 변경될 때마다 페이징 소스를 수정해야하는 번거로움


워드프레스 설치시 기본적으로 제공되는 TwentyThiteen, TwentyFourteen 테마가 있습니다.
TwentyThiteen 테마까지는 그래도 아래 화면과 같이 next_posts_link 로 검색해서 찾으면 function.php 화일에 동일한 함수명으로 존재를 하였으나
TwentyFourteen 테마에서는 함수 이름마저 변경되었을 뿐아니라 작동 방식이 변경되었습니다.

[ TwentyThiteen 테마 fuctions 소스 ]





TwentyFourteen 테마에서는 functions.php 안에 페이징 기능의 소스가 있는 것이 아니라 template-tags.php 라는 별도의 파일로 inc 폴더안에 존재하게 됩니다. 



소스코드나 함수명도 변경되었습니다.



페이징 기능은 워드프레스 4.2.2와 TwentyFourteen 테마 조합으로


워드프레스 버전을 4.2.2이상 사용하고 기본 테마인 TwentyFourteen 테마를 사용한다면 WP-PageNavi나 별도의 페이징 플러그인을 설치하거나 PHP 소스코드를 수정하지 않아도 간단하게 설정이 가능합니다.


페이징 처리 실습하기


페이징 기능 실습환경은 워드프레스 버전은 4.2.2이상이고 테마는 TwentyForteen 로 구성하였습니다.
페이징 기능 사용을 위해서 관리자 화면의 왼쪽 사이트바 메뉴에서 설정 > 읽기 메뉴를 클릭합니다.



읽기 메뉴를 클릭하면 읽기 설정 화면이 나타납니다. 전면 페이지 표시 항목은 전면 페이지를 표시할 때 최근 글의 리스트를 보여주거나 정적인 페이지를 선택하는 기능입니다. 일단 테스트를 위해서 최근 글 항목에 체크합니다.

페이지당 보여줄 글의 수 항목은 기본적으로 10으로 세팅되어 있습니다. 한 페이지에서 몇 개의 블로그 글(POST)를 보여줄 것인지 설정하는 것입니다. 여기에 입력하는 숫자에 따라서 해당 숫자만큼의 글(POST)를 보여주고 나머지는 자동으로 페이징 표시가 화면에 디스플레이됩니다.




전면 페이지 표시 항목은 최근 글로 선택한 상태에서 페이지당 보여줄 글의 수 항목을 1로 변경하고 저장버튼을 클릭합니다.



저장버튼을 클릭한 뒤에 슈만의 웹사이트로 접속하면 아래와 같이 페이징 처리 기능이 나타나는 것을 확인할 수 있습니다.





가입형 워드프레스에서는?


현재 기준으로 확인하였을 때에 가입형 워드프레스 서비스인 워드프레스닷컴에서는 TwentyFourteen 테마에서 아래와 같이 동일하게 설정하지만 나타나는 페이징 결과는 다르게 나타납니다.

아래 화면은 설치형 워드프레스와 동일하게 페이지당 보여줄 글의 수를 1로 설정한 상태입니다. 페이지당 보여줄 글의 수를 1로 설정했기 때문에 페이지당 한 개의 블로그만 나타날 것입니다.



아래 화면을 보면 가입형에서는 설치형 워드프레스에서 나타난 것과 같이 페이지 번호는 나타나지 않고 이전글 버튼이 나타나는 것을 알 수 있습니다. 머지않아 가입형 워드프레스인 워드프레스 닷컴의 경우에도 버전업이 된다면 페이징 기능이 구현될 것입니다.






설치형 워드프레스 4.2.2 버전과 기본테마 TwentyThirteen의 조합은?


워드프레스 4.2.2 버전과 TwentyThirteen 테마의 조합으로는 페이징 기능이 다음과 같이 나타납니다.
여기에서는 페이지당 보여줄 글의 수를 2개로 설정하였습니다.



기본테마인 TwentyThirteen 테마 역시 페이징 기능이 페이지 번호로 출력되지 않고 이전 글로만 나타납니다. 이렇게 페이징 기능은 워드프레스 버전과 테마와 관계가 있습니다.





마지막으로 쓰는 비장의 방법은?


요즈음 개발되는 테마는 페이지 기능이 내장되어 있는 것도 있습니다.
그렇지만 자신의 워드프레스 버전과 테마가 지원을 하지 않는다면 플러그인을 설치하거나 소스코드를 수정해야 합니다.
플러그인 설치가 필요하다면 아래 플러그인을 설치해서 사용합니다.

WP-PageNavi과 WP PageNavi Style 플러그인


플러그인을 설치하기 위해서 워드프레스 관리자 화면의 왼쪽 사이드바에서 플러그인 추가하기 메뉴를 클릭합니다.


플러그인 검색화면에서 wp pagenavi를 입력하고 플러그인을 검색합니다. 검색된 플러그인에서 두 개를 설치할 것입니다.
첫번째 플러그인인 WP-PageNavi는 페이징 네비게이션 기능에 대한 플러그인이고, 두번째 WP PageNavi Style은 페이지 네이게이션의 모양 즉, 스타일을 바꾸는 플러그인입니다. 두 개를 모두 지금 설치하기 버튼을 클릭해서 설치해서 사용하면 됩니다.


WP-PageNavi 플러그인은 설정 > 페이지네비 메뉴에서 설정할 수 있습니다. 페이지네비 메뉴를 클릭합니다.




페이지 네비게이션 옵션에서 한 페이지에 보여줄 글(포스트)의 갯수를 정할 수 있습니다. 물론 이곳에서 설정을 저장한다고 WP-PageNavi 플러그인의 페이지 기능이 동작하지는 않습니다. 추가적으로 테마 소스를 수정해야 합니다. 테마 소스 수정은 아래 워드프레스 공식사이트 플러그인 설명 내용을 참고하여 수정바랍니다.





스타일은 WP PageNavi Style 플러그인에서


페이지네비의 스타일을 변경하려면 WP PageNavi Style 플러그인을 활성화해야 합니다.
플러그인을 활성화하면 왼쪽 사이드바에 PageNavi Style 메뉴가 생성됩니다. PageNavi Style을 클릭합니다.



이곳은 페이지 네이게이션의 스타일을 설정하는 화면입니다. 어떻게 사용자에게 보여지도록 하는지 디자인하는 곳이라 생각하면 됩니다.




스타일을 아래와 같이 변경해 보겠습니다. CSS3 PURPLE 항목을 선택했습니다.



아래 화면과 같이 변경된 것을 확인할 수 있습니다.




KBoard 게시판이란?


요즈음 국내에서 가장 많이 사용하는 워드프레스 게시판 중의 하나는 KBoard 입니다. KBoard 게시판을 사용하려면 KBoard 플러그인을 설치해야합니다. KBoard 게시판 플러그인은 워드프레스 공식사이트에서 다운로드 받을 수 없고 KBoard 개발사인 코스모스팜 사이트에 들어가서 다운로드 받을 수 있습니다.

KBoard 게시판에 대한 설명 및 사용법은 아래 포스팅을 참고바랍니다.



KBoard 게시판이 깨진다면?




워드프레스 KBorad 플러그인을 사용해서 게시판 기능을 이용할 때 아래와 같이 화면이 깨지는 경우가 발생할 수 있습니다.
현재 게시판 상태는 비주얼 모드 상태입니다. 모바일도 아닌데 자판이 보이고 본문을 입력하는 아래쪽에는 공백만 표시되고 있습니다. 비주얼 버튼 옆에 텍스트 버튼을 클릭합니다.



텍스트 버튼을 클릭하면 텍스트를 사용하는 편집기 화면이 나타납니다. 그렇지만 역시 화면이 온전해 보이지는 않습니다.
이런 현상이 발생할 때 소스코드를 수정하지 않고 KBoard 게시판 관리화면에서 설정 변경만으로 깨진 게시판 화면을 복구 할 수 있습니다.





KBoard 게시판이 깨질때 조치방법


워드프레스의 왼쪽 관리자 메뉴에서 KBoard > 게시판 목록을 클릭합니다.



게시판 목록에서 자신이 관리하고 있는 게시판 이름을 클릭합니다. 저의 경우 이벤트 게시판을 클릭합니다.



게시판 이름을 클릭하면 게시판을 관리하는 화면이 나타납니다. 고급설정 탭을 클릭합니다.




고급설정 화면을 아래로 내리면 특정 테마 레이아웃 깨짐방지 항목과 아이프레임으로 보기 항목이 있습니다.




아래 화면과 같이 특정 테마 레이아웃 깨짐 방지 항목은 그대로 두고 아이프레임으로 보기 항목을 활성화로 변경합니다.



아이프레임으로 보기를 활성화로 변경되면 KBoard 게시판 화면이 아래 화면과 같이 깨지않고 변경되는 것을 확인할 수 있습니다.




간혹 상황에 따라서는 특정 테마 레이아웃 깨짐 방지 항목도 활성화 해야하는 경우도 있습니다. 위의 방법으로 않된다면 특정 테마 항목도 활성화로 변경하면 됩니다.




워드프레스 테마와 구글링


워드프레스의 장점은 테마입니다. 워드프레스 테마는 여러 경로를 통해서 구할 수 있습니다. 가장 추천하는 방법은 워드프레스 공식사이트를 통해서 워드프레스 테마를 설치하는 것입니다. 그리고 유료 테마라고 하면 테마포레스트 등 검증된 유료 테마사이트를 사용하는 것이 좋습니다.
그렇지만, 요즈음에는 구글링을 통해서도 좋은 테마를 무료로 구할 수 있는 경우가 많습니다.




구글은 방대한 정보의 저장소입니다. 구글링을 통해서 많은 정보를 얻을수 있는 시대입니다. 구글링은 일을 하는데에도 큰 도움을 줍니다. 얼마나 빠른 시간에 원하는 것을 잘 찾아내느냐는 일이나 업무를 하면서 중요한 요소이며 구글링을 하면서 스스로 스킬업이 되곤 합니다.


구글링을 통해서 자신에게 딱 맞는 무료 테마를 찾을 수 있습니다. 그리고 구글링을 통해서 많은 사람들이 워드프레스 테마를 사용하고 있는 것 또한 사실입니다.
그렇지만 한 가지 문제점이 있습니다. 바로 워드프레스 보안에 관한 부분입니다.


당신의 워드프레스 테마는 안전합니까?


구글링을 통해서 얻은 무료 테마중에는 악의적인 목적을 가지고 정보 취득을 위한 피싱이나 광고, 또는 해킹 프로그램이 탑재된 경우가 있습니다. 아무리 테마가 좋다고 하더라도 이런 악의적인 코드가 탑재된 테마를 설치하는 것은 바람직하지 못합니다.

따라서 이런 악의적인 코드가 있는지 확인하는 것은 워드프레스 사이트를 보호하는 중요한 요소가 됩니다. 악의적인 코드를 확인하기 위해서 테마 소스코드를 모두 에디터프로그램을 열어서 확인하는 것은 쉽지 않습니다. 따라서 이때는 플러그인의 도움을 받으면 됩니다. 테마의 안정성 여부를 검증하는 플러그인으로는 Theme Authenticity Checker 일명 TAC 라는 플러그인이 있습니다.





TAC 플러그인 설치하기


TAC 플러그인을 설치하기 위해서 플러그인 추가하기 메뉴를 클릭합니다.



플러그인 검색창에서 tac를 입력하고 검색합니다. 첫번째 검색된 Theme Authenticity Checker 플러그인을 설치할 것입니다. TAC 플러그인은 10만명 이상이 설치해서 사용하고 있는 테마 검증용 플러그인입니다. 지금 설치하기 버튼을 클릭해서 설치를 진행합니다.



플러그인 설치가 완료되었습니다. 플러그인을 활성화 링크를 클릭해서 플러그인을 활성화 합니다.




TAC 플러그인으로 워드프레스 테마 안정성 검증하기


플러그인이 정상적으로 설치되면 외모 > TAC 메뉴가 생성된 것을 확인할 수 있습니다. TAC 메뉴를 클릭해서 테마의 안정성을 검토하도록 하겠습니다.




TAC 메뉴를 클릭하면 아래와 같은 테마 검증 화면이 나타납니다. 테마의 이름과 테마를 만든 저작자가 디스플레이 됩니다. 
각 각의 테마 아래에는 Theme OK 라는 녹색 버튼이 디스플레이 되어 해당 테마가 안전하다는 것을 나타냅니다.




만약 아래 테마가 안전하지 못하다면 즉, 특정 악의적인 프로그램이나 코드가 테마안에 있다면 녹색 버튼부분은 Encrypted Code Found! 라는 메시지를 나타낼 것입니다.



워드프레스의 금기사항


워드프레스를 사용할 때에 주의해야 하는 것이 있습니다.
워드프레스 시스템을 개발할 때 금기사항 두 가지는 바로 워드프레스 코어 수정과 PHP 날코딩입니다.

워드프레스는 코어와 테마, 플러그인으로 구성됩니다. 코어는 워드프레스 시스템 자체를 움직이게하는 근간이되는 소프트웨어입니다.
날코딩이란 사용하는 시스템의 프레임웍 규약이나 규정을 준수하지 않고 개인이 자신의 취향대로 프로그램 코딩하는 것을 이야기합니다.
그럼 이 두가지를 왜 사용하면 않되는지 알아보겠습니다.




워드프레스 코어는 금단(禁斷)의 열매


IT 프로젝트를 진행할 때에 개발 환경이 자바기반든 닷넷기반이든 아니면 워드프레스 프로젝트이든지 간에 고객의 특별한 요구사항은 있게 마련입니다.
고객의 특별한 요구사항이 개발 허용량을 벗어나거나 아니면 개발 비용과 기간에 중대한 영향을 미치는 것이라면 고객과의 적절한 협의는 반드시 필요합니다.




워드프레스로 시스템 구축 프로젝트를 진행할 때 간혹 고객의 요구사항에 대해서 분석을 해본경우 해당 기능을 구현한 적절한 플러그인을 찾지 못했다고 해서 워드프레스 코어 소스를 수정해서는 않됩니다. 

워드프레스 코어는 PHP 프로그램입니다. 아무리 PHP 프로그래밍을 잘 한다고 해서 코어를 수정해서 고객에게 제품을 납품하는 일은 워드프레스 프레임웍을 제대로 이해하지 못한 상황에서 취하는 임시변통의 방법입니다. 이런 임시변통의 방법은 조금 시간이 지난뒤에 고객의 큰 불만을 일으키는 요소가 됩니다.


워드프레스 코어는 보안이나 기능 이슈로 최신기능을 추가해서 자주 업데이트가 되고 있습니다. 코어를 수정한 시스템은 업데이트 시점에 치명적인 영향을 미칩니다. 또한 코어를 손댄다는 것은 코어와 연결된 각종 플러그인과 테마등에 영향을 줍니다. 잘 동작하던 시스템의 기능들이 마비될 수 있습니다.

워드프레스 업데이트로 웹사이트가 문제를 일으켰다고 해서 고객에게 워드프레스 절대 최신버전 업데이트 하면 않됩니다. 라는 말을 할 수 는 없습니다.

따라서 이럴 때는 코어를 수정하는 것이 아니라 고객이 요청한 내역에 대해서 신규 플러그인 개발을 해야하고 고객에게 그런 사실을 이야기하고 협의해 나가는 것이 좋은 방법이라 할 수 있습니다.



무엇보다 워드프레스 코어를 개발하거나 수정하는일은 워드프레스 개발사인 오토매틱(automattic)사에서 하는 일이지 우리가 하는 일이 아니라는 명확한 인식이 있어야 워드프레스의 금단의 열매에 손을 대지 않을 것입니다.





PHP 날코딩을 하지 말라


PHP 날코딩은 규정된 프레임웍과 상관없이 개발한 PHP 소스코드를 이야기합니다.
그런 코드는 워드프레스와 무관한 나홀로 코드가 됩니다. 워드프레스로 시스템을 개발할 때는 무엇보다 워드프레스 프레임웍 안에서 프로그래밍을 해야합니다. 예를 들어서 워드프레스 프레임웍 구조를 이해하였다면 PHP 나홀로 코딩이 아니라 커스텀 포스트 타입으로 PHP 프로그래밍을 하거나 해당기능을 하는 플러그인으로 구현해야 할 것입니다.


나홀로 PHP 코드는 워드프레스의 다른 기능들과 서로 연동되지 않기 때문에 역시 워드프레스 업데이트 시점마다 시스템을 추가적으로 유지 보수해야하는 비용이 들게 됩니다.

시스템 개발에 있어서 무엇보다 중요한 것은 고객과의 끈끈한 신뢰와 이해입니다. 그리고 고객이 전산시스템에 대한 이해도가 낮다고 해서 고객을 특정 이슈에 대해서 속이거나 감추고 개발하는 일은 결국 자신의 회사를 망하게 하는 지름길일 것입니다.



워드프레스 보안 지키미


워드프레스의 보안을 강화하기 위해서 여러가지 플러그인을 사용하는 것도 좋지만 하나의 플러그인으로 워드프레스의 일반적인 보안에 대한 대부분의 기능을 커버한다면 한 개의 플러그인만 설치하면 될 것입니다. 이런 기능을 하는 플러그인을 뽑으라면, 워드프레스 보안 분야에서 대표적인 플러그인인 iThemes Security 플러그인입니다. iThemes Security는 이미 70만 사이트에서 설치해서 운용하고 있을 정도로 저변과 신뢰성이 확보된 플러그인입니다.




iThemes Security 플러그인 설치하기


플러그인을 설치하기 위해서 관리자 화면 왼쪽 사이드바에서 플러그인 추가하기 메뉴를 클릭합니다.



플러그인 추가 화면의 키워드 검색 창에서 ithemes를 입력하고 검색합니다. 첫번째 검색된 iThemes Security 플러그인의 지금 설치하기 버튼을 클릭합니다.



플러그인 설치가 완료되었습니다. 플러그인을 활성화 링크를 클릭합니다.



iThemes Security 플러그인 활용하기


플러그인 설치와 활성화가 끝나면 워드프레스 관리자화면의 왼쪽 사이드바에 Security 메뉴가 생성됩니다. Security 를 클릭합니다.


Security 메뉴를 클릭하면 아래와 같은 중요사항에 대한 안내 팝업이 뜹니다. 플러그인을 사용하기 전에 먼저 해야할 일입니다.
여기에서 첫번째와 두번째 항목이 중요합니다.

첫번째는 워드프레스 사이트에 대한 빽업입니다. 보안 플러그인이기 때문에 보안 설정을 잘못하다가 관리자 자신도 로그인을 못하는 상황이 오게되면 마지막 순간에는 빽업 받은 데이터로 워드프레스 사이트를 복원하기 위함입니다.

두번째는 보안 플러그인 특성상 서버내 워드프레스 시스템 파일을 엑세스(Access)하게 됩니다. 따라서 보안 플러그인이 wp-config.php와 .htaccess 파일에 대해서 접근해서 수정할 수 있는 권한을 부여해 주는 것입니다.

이제 세부적인 기능에 대해서 하나하나 살펴보도록 하겠습니다.

첫번째 할일, 24시간동안 잠금기능 해제하기


Security > Dashboard 메뉴를 클릭합니다.



보안 플러그인을 설치해서 테스트 과정에서 관리자인 자기 자신이 로그인을 못하는 상황이 오면 않될 것입니다. Dashboard 탭에서는 자신의 IP를 24동안 잠금기능을 해제하는 기능을 설정할 수 있습니다. 아래 Temporarily Whitelist my IP 버튼을 클릭하면 자신이 보안적인 실수를 했다고 해도 관리자인 자신이 로그인을 못하게 잠그는 기능은 해제됩니다. Temporarily Whitelist my IP 버튼을 클릭합니다.



잠금 기능이 해제되면 아래 화면과 같이 자신의 IP 주소가 디스플레이되고 버튼이 변경됩니다.





워드프레스 시스템 파일 수정 권한 부여하기


iThemes Security 보안 플러그인이 정상적으로 동작하기 위해서는 워드프레스 시스템 파일에 엑세스(Access)해서 파일을 수정할 수 있는 권한을 부여해야합니다. 두번째 Settings 탭을 클릭하면 아래와 같이 Write to Files 항목이 있습니다. 이 항목에 체크를 합니다.










강력한 비밀번호 규칙을 적용해서 보안 강화하기


로그인 보안을 위해서 Settings 탭에서 비밀번호 규칙을 강화할 수 있습니다. Go to 콤보박스에서 Strong Password를 선택하면 아래 화면과 같이 강력한 비밀번호를 설정할 수 있습니다. 일단 Strong Passwords 항목에 체크를 하고 두번째 항목인 Select Role 부분은 기여자로 선택하고 저장버튼을 클릭합니다.
 
두번째 부분을 기여자로 선택하는 것은 기여자 이상인 권한 즉, 기여자, 글쓴이, 편집자, 관리자에게 강력한 비밀번호 규칙을 적용한다는 의미입니다.
구독자의 경우에는 워드프레스 사이트안에서 많은 권한이 부여되지 않기때문에 굳이 강력한 비밀번호 규칙을 적용할 필요는 없습니다.







로그인 접속 주소 변경하기


워드프레스를 기본으로 설치하면 로그인을 하는 화면의 주소는 자신의 워드프레스 주소에 /wp-admin 이 붙은 경로가 됩니다. 예를 들어서 슈만의 사이트의 경우에는 shuman.kr/wp-admin 이 되는 것입니다. 그렇지만 로그인 영역의 접속주소가 노출되는 것은 보안에 바람직한 일은 아닙니다.
따라서 다른 사람이 유추할 수 없도록 로그인 접속 경로를 변경해 주는 것이 좋습니다.

Settings 탭에서 Hide Login Area 항목을 선택합니다.


Hide Backend 항목에 체크를 하면 Login Slug 항목이 디스플레이 됩니다. 이 항목에서 자신이 원하는 접속이름으로 변경하고 저장버튼을 크릵합니다.
변경을 완료한 뒤에는 자신의 사이트에 변경한 이름을 적용한 URL로 접속하면 됩니다.





도스 공격형 로그인 제한하기


도스형 로그인 공격은 로그인 접속 주소를 알아내고 해킹 프로그램을 활용해서 로그인 페이지에 아이디와 비밀번호를 무작위 대입해서 로그인을 시도하는 공격입니다. 이러한 유형의 공격이 감지되었을때는 자동으로 시스템에서 로그인을 제한하는 것이 좋습니다.
이러한 공격 유형을 Brute Force 라고도 하는데 아래 화면과 같이 설정하도록 합니다.

Settings 탭에서 Brute Force Fortection 항목을 선택합니다.



Enable local brute force protection 항목의 체크박스를 클릭하면 설정화면이 아래와 같이 펼쳐집니다.



Max Login Attempts Per Host 항목은 로그인을 시도한 호스트나 컴퓨터에게 로그인 시도를 5번으로 제한한다는 의미입니다.
Max Login Attemps Per User 항목은 사용자 ID 별로 로그인 시도를 10번으로 제한한다는 뜻입니다.
Minutes to Remember Bad Login (check period) 항목은 위의 로그인 제한 사항에 걸리게 되면 5분 동안 로그인 기능을 막는다는 뜻입니다.
각 항목의 시간과 횟수는 운영자가 적절하게 변경할 수 있습니다. 설정을 하였으면 저장버튼을 클릭해서 저장합니다.





404페이지 에러를 일으키는 도스형 무작위 접속공격 막기


해커는 존재하지 않는 페이지를 호출해서 시스템을 마비시키는 공격을 합니다. 이른바 404 페이지 공격입니다.
존재하지 않는 웹페이지에 접속하면 워드프레스 시스템은 존재하지 않는 페이지이기 때문에 404 페이지를 호출합니다.
해커는 자동 해킹시스템을 활용해서 이런 404 페이지를 무제한적으로 호출하는 도스형 공격을 감행합니다.
따라서 시스템은 부하를 견디지 못하고 마비되거나 다운되는 일이 발생합니다.
이른바 도스형 공격방법입니다.

iThemes Security 플러그인을 사용하면 이런 공격을 간단하게 막을 수 있습니다. Settings 탭에서 404 Detection 항목을 선택합니다.
        



404 Detection 항목에 체크해서 기능을 활성화합니다. 
활성화 체크를 하면  Minutes to Remember 404 Error (Check Period) 과 Error Threshold 두 가지 항목이 나타납니다.
Minutes to Remember 404 Error 항목은 공격 시간이고 Error Threshold 항목은 20번의 공격 회수 입니다. 
즉, 5분동안 404 페이지를 호출하는 공격은 20회 한다면 해당 공격을 제한 한다는 의미입니다. 






워드프레스 데이터베이스 테이블 접두어 바꾸기


워드프레스는 기본 데이터베이스로 MySQL을 사용합니다. 따라서 워드프레스를 설치하면 MySQL에는 워드프레스를 구동하기 위한 데이터베이스 테이블이 생성됩니다. 생성되는 테이블들의 이름은 기본적으로 wp_로 시작합니다. 따라서 보안을 위해서 테이블 접두어인 wp_ 를 변경하는 것이 좋습니다.

보안플러그인 관리 화면에서 Advanced 탭을 클릭합니다.



Change Table Prefix 항목에서 체크를 하고 Change Database Prefix 버튼을 클릭하면 보안 플러그인이 자동으로 테이블 접두어가 변경됩니다. 아래 화면과 같이 접두어 이름은 iThemes Security 플러그인이 자동으로 만들어줍니다



워드프레스 사이트의 속도와 SQL 쿼리의 관계


워드프레스를 사용해서 웹사이트를 제작해서 사용하다보면 시간이 지날수록 사이트 속도가 느려지는 경험을 하게됩니다. 워드프레스 사이트의 속도가 느려지는 문제는 여러가지가 있지만 일반적으로 가장 큰 영향을 미치는 것은 플러그인과 테마인 경우가 많습니다.


특히 운영자는 워드프레스의 가장 큰 장점인 플러그인에 매료되어 플러그인을 이것저것 설치하는 경우가 많고 플러그인의 갯수는 계속 누적됩니다.

워드프레스 플러그인이나 테마도 PHP 개발환경 속에서 동작하는 하나의 프로그램이기 때문에 플러그인과 테마가 동작을 할 때마다가 PHP 프로그램은 구동되고 데이터베이스인 MySQL의 SQL 쿼리(Query)를 수행하게 됩니다. 즉, 플러그인이 많다거나 무거운 테마를 설치했다는 것은 많은 수의 SQL 쿼리가 데이터베이스에 수행되거나 데이터베이스에 부하를 주는 쿼리가 수행되는 것을 의미합니다. 그에 따라서 자연히 시스템의 속도는 저하되게 됩니다.


SQL( Structured Query Language, 구조화 질의어)는 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. SQL은 데이터베이스로부터 정보를 얻거나 갱신하기 위한 표준 대화식 프로그래밍 언어이다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다.


사이트 속도가 느려졌다면?


워드프레스 사이트 속도가 느려졌다면 운영자가 취해야하는 행동은 두 가지 정도가 있습니다.
첫번째는 웹사이트 속도를 느리게하는 플러그인이나 테마를 찾아내서 제거하는 일입니다.
두번째는 워드프레스를 구동시키는 웹호스팅 서버의 하드웨어적인 상황을 점검해 보는 것입니다.

첫번째로 이야기한 웹사이트 속도를 느리게하는 원인 프로그램을 찾아내는 것은 이전에 P3 플러그인을 활용한 워드프레스 성능 최적화 방법에서 설명드렸습니다. 아래 포스팅 내용을 참고바랍니다.




웹호스팅 환경 점검은 어떻게?


위에서 언급한 첫번째 방법을 활용해서도 워드프레스 사이트 속도가 개선이 되지 않는다면 두번째 방법으로는 워드프레스 서버 환경이나 용량을 살펴보아야 합니다. 웹호스팅 서버의 환경을 점검할 때 PHP 프로그램의 함수인 phpinfo()를 사용합니다. 워드프레스는 PHP 프로그램으로 만들어진 CMS(Contents Management System) 프로그램이기 때문에 PHP 프로그램을 활용해서 서버 점검이 가능한 것입니다.




phpinfo() 함수로 웹호스팅 환경 점검하기


PHP 프로그램의 함수인 phpinfo()를 사용하기 위해서는 먼저 PHP 파일을 하나 만들어야 합니다. PHP 프로그램 파일을 만들때 일반 윈도우 메모장을 이용해도 좋지만 가능한 HTML 및 프로그램 작성이 간편한 HTML 편집기를 이용하는 것이 좋습니다. 무료로 사용가능한 에디터 프로그램은 국내 아크로소프트에서 제작한 아크로에디터(AcroEdit)나 서브라임텍스트가 있습니다. 저는 서브라임텍스트를 권장합니다. 여기에서는 서브라임텍스트를 사용하겠습니다.

서브라임텍스트는 아래 포스팅 내용중에 다운받는 곳이 설명되어있습니다. 참고바랍니다.

phpinfo.php 파일 만들기


먼저, 아래와 같이 서브라임텍스트 프로그램을 실행시킨 뒤에 File > New File 메뉴를 클릭합니다.



이제는 Ctrl+S 단축키를 눌러서 phpinfo.php 하는 이름으로 저장합니다.



아래와 같이 PHP 코드를 작성한 뒤에 Ctrl+S로 파일을 저장합니다.




웹호스팅 서버 디렉토리에 업로드 하기


phpinfo 파일이 만들어졌다면 웹호스팅 서버에 FTP 프로그램을 이용해서 서버에 업로드합니다. 서버 업로드 폴더 경로는 www로 접속한 디렉토리입니다.



웹호스팅 서버 정보 웹브라우저에서 확인하기


웹브라우져를 열고 자신의 워드프레스 사이트에 접속합니다. 자신의 사이트에 접속하려면 자시의 웹사이트 주소뒤에 다음과 같은 경로가 붙어야 합니다.



웹브라우져를 열고 접속하니 웹호스팅 정보가 아래 화면과 같이 나타납니다. 브라우져 스크롤을 하면 아래로 웹호스팅 서버 환경에 대한 정보를 확인할 수 있습니다. 맨 상단에는 PHP 버전이 나타나 있습니다. 서버의 정보를 불필요하게 노출할 필요는 없기 때문에 아래 화면은 마스킹 처리를 하였습니다.
워드프레스를 사용시 권장하는 PHP 버전은 5.24이상입니다. 5.3이상이기 때문에 PHP 버전은 문제가 없습니다.




운영자는 웹브라우저에 나타난 웹호스팅 서버 상세 정보를 검색해서 확인할 수 있습니다.

서버 메모리 용량 확인하기


웹호스팅 서버의 메모리 용량이 너무 작아서 워드프레스 속도가 느릴 수도 있습니다. 특히 64MB 정도의 용량은 부족할 수 있습니다.
메모리 용량을 확인해서 작다면 증설해야 합니다. 메모리 용량을 확인하기 위해서 웹브라우저 화면에서 Ctrl+F 로 memory_limit 로 검색합니다.

아래 화면과 같이 memory_limit 항목에 서버의 메모리가 검색되었습니다. 현재 서버의 메모리 용량은 128MB 입니다. 메모리 용량이 더크면 좋겠지만 일단 128MB 정도면 무거운 테마를 구동하지 않는 이상 기본적으로 워드프레스를 구동하는데는 문제가 없습니다. 워드프레스 메모리는 가능한 128MB 이상을 사용하는 것을 권장합니다.




서버의 MySQL 버전 확인하기


웹브라우져에서 mysql로 검색합니다. 아래 화면과 같이 MySQL 버전은 5.1입니다. 워드프레스는 MySQL 버전은 5.0이상을 권장하고 있습니다.




파일 업로드 용량 확인하기


파일 업로드 용량 설정은 기본적으로 두 가지로 설정되어있습니다. 하나는 워드프레스에서 첨부할 수 있는 파일의 최대 크기를 설정한 것이고, 또하나는 웹호스팅 서버에서 파일업로드시 최대 파일 크기를 설정한 곳입니다.

웹브라우져에서 post_max_size로 검색합니다. post_max_size는 워드프레스 시스템을 사용해서 업로드할 수 있는 최대 파일의 크기를 설정한 곳입니다. 현재는 21M로 설정되어있습니다.




웹브라우져에서 upload_max_filesize로 검색합니다. upload_max_filesize는 웹호스팅 서버에 업로드할 수 있는 최대 파일의 크키입니다. 현재는 21M입니다.




정보 확인후 파일은 삭제하기


가능한 사용한 phpinfo.php 화일은 서버에서 삭제하는 것이 좋습니다. 굳이 자신의 서버정보를 외부에 공개할 필요는 없습니다.
서버에 대한 정보를 고스란히 노출하는 것은 시스템 보안상 결코 좋은 방법은 아니기 때문입니다.



데이터베이스만 복구해야한다면?

이전 시간에는 워드프레스 전체 사이트에 대한 빽업과 복구에 대해서 공부하였습니다. 그렇지만 워드프레스를 사용해서 여러가지 테스트를 하다보면 데이터베이스만 복구하고 싶을 때가 있습니다. 워드프레스는 MySQL을 기본 데이터베이스로 사용하기 때문에 직접 MySQL 데이터베이스 관리자화면인 phpMyAdmin 화면에 로그인해서 데이터베이스 복구작업이나 초기화 작업을 해도 됩니다.

그렇지만 사이트 테스트 시점에서 자주 데이터베이스를 초기화 및 복원하는 과정을 반복해야할 경우, 데이터베이스 복구를 좀더 편리하게 하기위해서는 워드프레스 관리자 화면에서 플러그인을 통해서 작업하는 것도 좋은 방법입니다.



데이터베이스 초기화는?


워드프레스 데이터베이스 초기화에 대해서는 아래 포스팅을 참고바랍니다. 먼저 아래 포스팅을 참고해서 초기화를 한 뒤에 데이터베이스를 복원 절차를 학습하면 될 것입니다.



데이터베이스 복구 Adminer 플러그인 설치하기


데이터베이스를 복구하는데에는 Adminer 플러그인을 많이 사용합니다. 플러그인 설치를 위해서 왼쪽 사이드바 메뉴에서 플러그인 > 플러그인 추가하기 메뉴를 클릭합니다.



플러그인 검색창에서 adminer 라고 입력하고 검색하면 첫번째 Adminer 플러그인이 검색됩니다. 지금 설치하기 버튼을 클릭합니다.




플러그인이 정상적으로 설치되었습니다. 플러그인을 활성화 링크를 클릭합니다.




데이터베이스 간단히 복구하기


플러그인이 활성화 되면 왼쪽 메뉴에서 도구 > Adminer 메뉴가 생성된 것을 확인할 수 있습니다. Adminer 메뉴를 클릭합니다.



Adminer 관리화면이 나타납니다. Start Adminer in a new tab 버튼을 클릭합니다.



데이터베이스를 관리하는 화면이 나타납니다. 왼쪽 화면에서 가져오기 링크를 클릭합니다.




데이터베이스를 가져올수 있는 화면이 나타납니다. 파일 선택 버튼을 클릭해서 복구할 MySQL 화일을 선택합니다. 선택이 완료된 뒤에 실행 버튼을 클릭합니다. 실행 버튼을 클릭하면 워드프레스 사이트는 간편하게 복구가 됩니다.



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


워드프레스 사이트 뿐아니라 모든 웹사이트 운영시스템에서 가장 중요한 일은 바로 빽업입니다. 여러가지 상황으로 인한 시스템 자원의 유실은 사업의 성패를 좌우하는 요소가 됩니다. 그래서 시스템에 대해서 이해가 있는 회사는 여러가지 상황에 대비해서 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 탭을 클릭합니다.
둘째, 파일 선택 버튼을 클릭해서 빽업받은 데이터베이스 화일을 선택합니다.
세째, 실행 버튼을 클릭합니다.

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


OTP 인증이란?


OTP는 One Time Password 의 약자로 근래들어서 은행등 금융권에서 보안강화를 많이 사용해서 우리에게도 익숙한 보안 수단입니다.

위키피디아는 OTP에 대해서 다음과 같이 정의합니다.

일회용 비밀번호(영어: One-Time Password; OTP)는 일회성으로 사용하는 비밀번호이다.

OTP는 간단히 말하면 휘발성 패스워드와 같이 단 한번만 사용하는 비밀번호입니다. 은행의 보안카드의 유출 사고등으로 보안카드도 안전하지 않게되자 도입한 보안강화 방안이라고 보면 됩니다.

여러가지 보안 수단을 이용하는 것은 어떠한 보안이라도 완벽한 것은 없기 때문입니다. 따라서 이중 삼중으로 사이트 보안강화를 위한 노력을 하여야 보안 유출 및 해킹 사고를 막을 수 있습니다. 특히 요즈음에는 고객의 정보의 유출 사고가 법적인 소송으로 가는 경우도 많기 때문에 작은 쇼핑몰을 운영한다고 하더라도 미래를 위해서 보안을 신경쓰는 것이 현명한 방법입니다.


구글 OTP 플러그인 설치전 사전 준비사항


구글 OTP 로그인 보안 강화 플러그인을 설치하면 사용자의 실수로 로그인을 못하는 경우가 발생할 수 있습니다. 이럴때는 관리자인 자신도 로그인을 못하는 상황이 발생하는 것입니다. 따라서 만약의 경우를 대비해서 미리 자신의 워드프레스 사이트를 빽업받아두는 것이 좋습니다.
워드프레스 빽업에 대해서는 아래 포스팅을 참고바랍니다.

[ 연관 포스팅 ]


구글 OTP 사용을 위한 인증 플러그인 설치하기


워드프레스에서 OTP 기능을 이용할 때 많이 사용하는 것은 구글 OTP입니다.
일반적으로 구글 OTP로 불리우는 플러그인의 정식 이름은 Google Authenticator 입니다. 그럼 플러그인을 설치하겠습니다. 왼쪽 사이드바 메뉴에서 플러그인  추가하기 메뉴를 클릭합니다.



플러그인 검색창에서 google authenticator 라고 입력한 뒤에 검색을 합니다.google authenticator로 여러가지 플러그인이 검색되지만 10,000명이상이 설치해서 대표적으로 구글 OTP라 할 수 있는 첫번째 플러그인을 설치하겠습니다. 지금 설치하기 버튼을 클릭합니다.



플러그인이 설치되었습니다. 플러그인을 활성화 링크를 클릭합니다.




구글 OTP 기능 사용하기


플러그인 설치가 완료되었으면 사용자 > 나의 프로필 메뉴를 클릭합니다.



나의 프로필 화면에 아래와 같이 구글 인증 관련된 기능이 생성된 것을 확인할 수 있습니다.



구글 인증에 관련된 설정 화면을 아래 화면과 같이 설정합니다.
Active 와 Relaxed mode 를 모두 체크합니다. Active는 인증 기능을 활성화 한다는 뜻이며, 리렉스모드는 워드프레스 사이트와 스마트폰의 시간차를 4분 정도 여유를 둔다는 의미입니다. 즉, 기기의 시간차로 인한 인증 오류를 막는다는 뜻입니다. 따라서 체크해주는 것이 좋습니다.

Description 항목은 스마트폰에서 보여질 항목입니다. 자신의 사이트 이름을 적습니다. Create new secret 버튼을 클릭하면 보안코드를 새로 생성할 수 있습니다. Secret 항목에서 Show/Hide QR code 버튼을 클릭하면 QR 코드가 나타나는데 이 코드를 스마트폰으로 스캔할 것입니다.
아래와 같이 모두 설정하였다면 저장버튼을 클릭해서 설정한 내역을 저장합니다.




구글 스마트폰 OTP 앱 설치하고 QR코드 스캔하기


스마트폰에 구글 OTP 앱을 설치하고 연동하는 것은 다음 포스팅에 자세히 설명되어있으니 참고하시면 됩니다.

[ 관련 포스팅 ]



스마트폰에 구글 OTP 앱이 설치하였다면, 아래 OTP 아이콘을 클릭해서 구글 OTP를 실행합니다.



설정 시작하기 버튼을 클릭합니다.




계정 추가 화면에서 바코드 스캔 메뉴를 클릭합니다.



바코드 스캔 메뉴를 클릭하면 바코드 앱이 구동되고 바코드 화면에서 조금전 인증 QR 코드를 스캔합니다.



스캔이 완료되면 구글 OTP는 은행에서 발급하는 OTP 보안토큰과 같이 오른쪽 원형 시계모양이 시간의 흐름에 따라서 시계방향으로 한바퀴를 돌면 6자리 인증코드를 새롭게 생성하는 것을 확인할 수 있습니다. 은행에서 발행하는 OTP 보안토큰이 스마트폰안으로 들어간 것이라 할 수 있습니다.
이제 이 6자리 숫자는 사이트에 로그인할 때 사용할 것입니다.

   

사이트 로그인은 어떻게 변화되었나?


구글 인증 플러그인을 활성화한 뒤에 로그인을 하려고 하면 아래와 같이 사용자명과 비밀번호외에 Google Authenticator code 라는 한 가지 입력사항이 추가된 것을 확인할 수 있습니다. 바로 이 입력창에 입력할 것은 스마트폰에서 구글 OTP 앱을 실행시키고 구글 OTP에서 나타나는 일회성 패스워드에 해당하는 6자리 인증 코드를 입력하면 됩니다. 





사용자별로 구글 인증 사용하기


구글 인증은 워드프레스 사용자별로 사용이 가능합니다.
구글 인증을 사용할 사용자를 googleotp 라는 유저로 추가했습니다. 그리고 아래 화면과 같이 사용자 편집화면으로 들어가기 위해서 편집 링크를 클릭합니다.



사용자 편집화면에서 다음과 같이 구글 인증을 사용을 설정할 수 있는 화면이 나타납니다. 다음 화면에서 체크해서 사용하면 됩니다.


워드프레스 관문 지키기


워드프레스의 보안에서 중요한 것 중의 하나는 관문인 워드프레스 로그인 화면을 지키는 일입니다.
해킹을 시도하는 해커들이 뚫고자하는 첫번째는 바로 워드프레스 관리자 화면으로 들어가는 로그인 화면이기 때문입니다. 일단 관리자로 로그인이 가능해지면 해커는 자신의 마음대로 워드프레스 사이트를 공격할 수 있고 손쉽게 정보를 빼내갈 수 있습니다.



일반적으로 해커들이 시도하는 해킹의 두 가지 방법은 먼저 특정 정보없이 무작위 아이디와 비밀번호를 대입해서 로그인을 시도하는 방법이거나 웹브라우저나 로컬PC에 남아있는 로그인 정보등을 가로채서 획득한 정보를 기반으로 로그인하는 방법입니다. 만약 해커가 관리자 로그인 아이디를 획득했고 비밀번호를 알지 못한다고 가정했을때 획득한 로그인 아이디를 입력하고 비밀번호는 해킹프로그램을 사용해서 무작위 대입을 시도할 것입니다.

이때 이런 시도에 대해서 관문 지키미 역할을 하는 것이 로그인 시도 횟수를 제한하는 기능입니다. 워드프레스는 플러그인을 통해서 이런 기능을 구현할 수 있습니다.
로그인을 시도하는 횟수를 제한하는 플러그인 중에서 전세계에서 가장 많이 사용하는 플러그인은 Limit Login Attempts 입니다.

로그인 횟수 제한하는 Limit Login Attempts 플러그인 설치하기


플러그인을 설치하기 위해서 왼쪽 사이드바 메뉴에서 플러그인 추가하기 메뉴를 클릭합니다.



플러그인 검색 창에서 limit login attempts를 입력하고 검색합니다. 로그인 제한에 관해서 수많은 플러그인이 검색되지만 백만명이상 설치한 검증된 Limit Login Attempts 플러그인을 설치하겠습니다. 비록 업데이트는 오래되었지만 테스트 해본 결과 특별한 문제점은 발견되지 않았습니다. 지금 설치하기 버튼을 클릭합니다. 



플러그인이 설치되었습니다. 플러그인을 활성화 링크를 클릭합니다.



로그인 시도 횟수 제한기능 사용하기


Limit Login Attempts 플러그인이 정상적으로 설치되었다면 왼쪽 사이드바 메뉴에서 설정 > Limit Login Attempts 라는 메뉴가 생성된 것을 확인할 수 있습니다. Limit Login Attempts를 클릭합니다.



다음과 같이 로그인 시도 횟수 제한 설정을 하는 화면이 나타납니다.



아래 오렌지 박스의 Lockout 설정 부분을 차례로 설명하겠습니다.
첫번째는 4번 재시도를 허용한다는 것이며,
두번째는 4번의 로그인이 실패하면 20분 후에 로그인을 할 수 있도록 잠그는 기능입니다.
세번째는 첫번째 두번째가 4번 반복되면 24시간 동안 로그인 시도 잠근다는 뜻이며
네번째는 세번째 이후 12시간이 지나면 다시 초기화 된다는 것입니다.



아래 화면에서 화살표가 가르키는 IP 부분은 워드프레스가 접속된 사이트의 IP가 나타납니다. 자신의 로컬PC에 워드프레스를 설치하였다면 1로 표시될 것입니다.

또한 설정에서 중요한 부분은 차단시에 알리미 기능인 Notify on lockout 항목에 체크하는 것입니다. 아래 네모 박스 부분의 첫번째는 IP를 로그로 남긴다는 것이며 두번째 항목은 IP가 차단된 뒤에 관리자의 이메일로 알려주는 기능입니다. 설정을 완료하였으면 Change Options 버튼을 클릭해서 해당 설정내역을 저장합니다.



로그인 제한 기능 테스트하기


로그인 제한 기능을 테스트하기 위해서 자신의 워드프레스 사이트에 접속해서 로그인 시도를 합니다.
해커라고 가정하고 첫번째 로그인 시도를 했습니다. 아래와 같이 경고 메시지가 나타나면서 로그인 시도가 3번 남았다고 표시합니다.



세번째 로그인이 실패한 상황에서 마지막 네번째 로그인 시도를 합니다.



아래와 같이 네번의 시도가 실패로 끝나면 20분 동안 로그인 기능이 잠기게 되고 아래와 같이 메시지가 출력되는 것을 확인할 수 있습니다.



관리자 화면에서 차단 로그 확인하기


관리자 화면의 플러그인 설정 화면에 들어오면 조금전 접속 차단했던 내역이 나타납니다. 차단내역의 로그가 아래와 같이 IP로 나타나고 test라는 ID가 1번 차단되었다는 기록을 확인할 수 있습니다.
     




로그인 제한 기능 플러그인을 사용할 때의 주의사항


첫째, 자신의 워드프레스 사이트를 미리 빽업을 받는 것이 좋습니다.

로그인 제한 기능 플러그인을 사용할때는 만약의 사태를 대비해서 자신의 워드프레스 사이트를 미리 빽업받아놓는 것이 좋습니다.
만약의 상황에 로그인이 되지 않는 되었을때 사이트 빽업데이타가 있다면 걱정할 필요가 없을 것입니다.
워드프레스 빽업에 대한 것은 아래 포스팅을 참고바랍니다.

※ 관련 포스팅



둘째, 로그인 제한 기능은 IP 기반으로 동작한다는 점입니다.

로그인 제한 기능 플러그인을 사용하거나 테스트할 때의 주의사항은 로그인 잠금기능이 IP 기반으로 동작하는 것에 유의해야 합니다.
즉 아무리 자신이 워드프레스 사이트 관리자로 로그인해있는 상황이라고 해도 동일한 IP의 PC에서 로그인 제한 잠금 테스트를 한다면 로그인한 관리자 마저도 로그아웃 되어버리는 웃지못할 상황이 벌어지게 됩니다. 자신이 관리자임에도 설정한 시간동안 워드프레스 사이트에 접속이 불가한 상황이 되는 것입니다.

따라서 테스트를 하려고 한다면 워드프레스 사이트를 관리하는 IP의 기기가 아니라 다른 IP를 사용하는 기기를 하는 것이 좋습니다. 가령 3G나 LTE망을 사용하는 자신의 스마트폰으로 로그인 시도 테스트를 하는 것이 실수로 관리자인 자신이 로그아웃되는 것을 미연에 방지할 수 있는 좋은 방법입니다.








지난 시간에 이어서 이번에는 BackWPup 플러그인을 활용해서 워드프레스 사이트 전체를 매일 드롭박스에 자동으로 시스템 빽업하는 방법을 알아보도록 하겠습니다.

[ 이전 포스팅 ]


크론(cron) 이란?


사람이 수작업으로 시스템을 빽업하는 것이 아니라 시스템이 자동으로 빽업하는 것을 시스템적으로 업계에서는 크론이라는 용어를 사용합니다. 유닉스시스템에서 crontab 이라는 스케쥴 배치 작업 명령어를 사용하면서 유래된 용어라고 보면됩니다.

서버 시스템인 유닉스시스템에서 crontab 명령어는 주기적으로 일, 주, 월 단위로 어플리케이션 시스템이 자동 실행되도록 스케쥴링 해서 배치작업을 거는 명령어입니다. 유닉스시스템은 윈도우 이전에 역사가 오래된 시스템입니다.

유닉스 시스템에 대해서 궁금하신 분들은 위키피디아의 유닉스 정의를 참고 바랍니다.

유닉스(Unix)는 교육 및 연구 기관에서 즐겨 사용되는 범용 다중 사용자 방식의 시분할 운영 체제이다. 1970년대 초반 벨 연구소 직원인 켄 톰슨, 데니스 리치, 더글러스 매클로리 등이 처음 개발하였다. 오늘날의 유닉스 시스템은 AT&T를 비롯한 여러 회사들과 버클리대학(UC Berkeley) 등 비영리 단체들이 개발한 다양한 버전들이 있다.
유닉스는 처음부터 다양한 시스템 사이에서 서로 이식할 수 있고, 멀티 태스킹과 다중 사용자를 지원하도록 설계되었다.

스케쥴링 자동 빽업 기능이 가능한 워드프레스


워드프레스도 BackWPup 플러그인을 사용하면 크론 스케쥴링 작업이 가능합니다. 즉 사용자가 원하는대로 일, 주, 월 단위로 워드프레스 시스템을 전체 빽업 받을 수 있는 것입니다.


위험관리(Risk Management)와 일단위 빽업


요즈음에 대부분의 건실한 IT업계에서는 위험관리(Risk Management) 측면에서 웹시스템에 대한 여러가지 빽업 및 복원 계획을 마련하고 있습니다. 우리가 사용하는 워드프레스에서도 작기는 하지만 나름대로의 시스템 위험관리가 있어야 할 것입니다.

어떠한 사유로 인해서 그동안 만들어 놓았던 시스템이 하루 아침에 사라질 수도 있기 때문입니다. 따라서 적어도 일단위의 시스템 빽업 계획은 반드시 필요합니다. 주단위 월단위도 괜찮겠지만 만일 어제 자신의 쇼핑몰에서 고객의 거래가 이루어진 것이 있는데 일주일전의 빽업받은 시스템 복원 형상을 가지고 복원한 들 어제 고객의 거래내용은 사라지게 되는 것입니다.

따라서 적어도 일단위 빽업은 사이트 운영에 필수적인 요소입니다.


드롭박스를 활용해서 일단위 자동 빽업하기


워드프레스를 자동으로 일단위 전체 빽업하기 위해서는 먼저 일단위 전체 빽업 Job을 만들어야 합니다. 왼쪽 사이드바 메뉴에서 BackWPup > Add new job 메뉴를 클릭합니다.



신규 빽업 작업을 만드는 화면이 나타납니다. 아래 화면과 같이 Job Name에 일단위 전체 빽업 이라고 입력합니다. 그리고 Job Tasks 부분은 모두 체크합니다. 압축 화일 형식은 Zip 화일을 선택합니다.




다음은 중요한 부분입니다. 드롭박스로 화일을 보낼 것이기 때문에 생성된 워드프레스 빽업 화일의 목적지인 Job Destination 항목에는 Backup to Dropbox 부분에 반드시 체크를 해야합니다. 아래와 같이 체크를 한 뒤에 저장버튼을 클릭합니다.



스케쥴 설정하기


이제는 자동 배치 작업의 스케쥴을 설정해야합니다. 상단의 Schedule 탭을 클릭합니다.   



스케쥴 탭을 클릭하면 아래와 같이 스케쥴을 설정하는 화면이 나타납니다. 크론 기능을 이용해서 스케쥴을 걸 것임으로 아래와 같이 with WordPress cron 항목에 체크를 합니다. 그리고 매일 새벽2시에 일단위로 시스템을 자동으로 빽업 받을 것이므로 daily 항목에 체크를 하고 시간을 2시로 변경한 뒤에 저장 버튼을 클릭합니다.



드롭박스 연동하기


드롭박스와 연결하기 위해서 Dropbox 탭을 클릭합니다. 아래와 같이 드롭박스 연동화면이 나타납니다. 아직 인증이 되지않았기 때문에 Not authenticated 라는 구문이 나타납니다. 아래의 Create Account 버튼을 클릭해서 드롭박스 로긴을 해서 인증을 해야합니다. Create Accout 버튼을 클릭합니다.



드롭박스에 가입을 하지 않았다면 아래 무료로 가입하기 버튼을 클릭해서 가입절차를 수행해야 합니다. 이미 가입을 하였다면 오른쪽 상단의 로그인 버튼을 클릭합니다.



드롭박스의 로그인을 수행합니다.



드롭박스 인증 코드 얻어서 붙여넣기


드롭박스에 로그인이 되었다면 워드프레스 BackWPup 플러그인 설정화면에서 아래와 같이 Get Dropbox App auth code 버튼을 클릭합니다. 이 버튼은 드롭박스 인증코드를 얻는 버튼입니다.



드롭박스 인증을 하는 버튼을 클릭하면 아래와 같이 드롭박스에서 인증 허가 화면이 나타납니다. 허용 버튼을 클릭합니다.



허용 버튼을 클릭하면 아래와 같이 인증코드가 나옵니다. 이 인증코드를 복사해서 워드프레스 드롭박스 인증코드 입력화면에 붙여넣으면 됩니다. 인증코드를 복사합니다.




아래와 같이 워드프레스 BackWPup 화면에 인증코드를 복사해서 붙여넣고 저장하기 버튼을 클릭합니다.



아래 화면과 같이 Authenticated 라는 구문이 표시되면 드롭박스 연동이 정상적으로 성공한 것입니다. 



일단위 배치작업 확인하기


생성한 일단위 배치작업을 확인하기 위해서 왼쪽 사이드바 메뉴에서 BackWPup > Jobs 메뉴를 클릭합니다.



Jobs 화면에 들어오면 아래와 같이 일단위 전체 빽업 항목이 생성된 것을 확인할 수 있습니다. 오른쪽에 보면 내일부터 새벽2시에 자동으로 매일 워드프레스 시스템이 드롭박스에 빽업 될 것입니다. 



일단위 자동 빽업기능 사용시 주의사항


여기에서 주의할 사항이 있습니다. 시스템 전체 빽업이기 때문에 매일 작게는 60메가에서 수백메가까지 빽업 화일이 생성될 수 있습니다. 따라서 빽업용량이 많으면 드롭박스 용량을 증설하거나 삭제해야 합니다.

또한 한 가지 더 주의할 사항은 웹호스팅 서버 폴더에도 빽업 받도록 하였으나 테스트용으로 정상적으로 동작하는 정도만 확인하고 웹호스팅 서버에 자동빽업하는 기능은 아래 화면과 같이 해제하는 것이 좋습니다. 웹호스팅 서버용량인 일반적으로 많지는 않아서 금세 서버 용량을 풀(Full)나게 되기 때문입니다.



워드프레스의 기본 빽업(backup) 기능


워드프레스는 자체적으로 시스템을 빽업할 수 있는 기능을 내장하고 있습니다. 내장된 빽업기능은 왼쪽 사이드바 메뉴에서 도구 > 내보내기 메뉴에 있습니다.



내보내기 메뉴에 들어오면 워드프레스에 내장된 backup 기능을 사용할 수 있습니다. 수작업으로 필요시에 데이터를 backup 한 뒤에 가져오기를 통해서 backup 데이터를 import 할 수 있습니다. 


워드프레스에 내장된 빽업 기능을 사용하는 것도 좋지만, 주기적으로 시스템 자동빽업 기능으로 사이트를 편리하게 관리하고 싶다면 플러그인을 활용해서 좀더 파워풀한 빽업기능을 사용하는 것이 좋습니다.

빽업 기능자체가 중요한 기능이기 때문에 플러그인 또한 검증된 플러그인을 설치하는 것이 좋습니다. 만약 빽업 플러그인을 통해서 빽업을 받은 상태에서 시스템을 복원해야할 경우가 생길 때 빽업받은 화일이 오류가 있거나 동작이 되지 않는다면 진퇴양난의 상황에 직면할 것입니다. 그래서 검증된 플러그인의 사용은 중요합니다. 

워드프레스 빽업 플러그인으로 거의 독보적인 점유율을 차지하고 있어서 빽업 끝판왕이라 해도 손색이 없는 BackWPup 플러그인입니다. BackWPup 플러그인은 제가 사용해보고 여러차례 테스트해보았지만 빽업 기능의 오류가 없고 복원도 정상적으로 작동하는 훌륭한 플러그인입니다.



워드프레스 빽업은 나한테 맡기라 BackWPup 플러그인 설치하기


BackWPup 플러그인을 설치하기 위해서 왼쪽 사이드바 메뉴에서 플러그인 > 플러그인 추가하기 메뉴를 클릭합니다.



플러그인 검색창에서 backwpup 을 입력하고 검색합니다. BackWPup 플러그인은 40만명 이상이 사용하고 있는 대표적인 backup 플러그인임을 확인할 수 있습니다. 최근 업데이트도 4주 전에 있을 정도로 시스템 유지보수 및 지원 관리도 잘되고 있습니다. 지금 설치하기 버튼을 클릭해서 플러그인을 설치합니다.




플러그인 설치가 완료되었습니다. 플러그인을 활성화 링크를 클릭합니다.     



플러그인 설치가 완료되면 왼쪽 사이드바 메뉴에 BackWPup 이라는 메뉴가 생성된 것을 확인할 수 있습니다.     



플러그인이 설치되면 처음에는 플러그인 설명을 하는 화면이 나타납니다.





     

원클릭으로 워드프레스를 바로 빽업하기


먼저 BackWPup > Dashboard 메뉴에 들어갑니다. 



Dashboard 화면에서는 원클릭 빽업 기능을 제공합니다. 여러가지 부수적인 세팅을 하지 않아도 클릭한번으로 바로 워드프레스를 빽업하는 기능입니다. 원클릭 빽업은 간단합니다. 바로 아래 화면에 Download database backup 버튼을 클릭하면 됩니다. 아래 버튼을 클릭합니다.




버튼을 클릭하자마자 자신의 컴퓨터에 sql 화일이 다운로드 된 것을 확인할 수 있습니다. sql 화일은 워드프레스의 데이터베이스의 화일입니다. 여기에서는 MySQL을 데이터베이스로 사용하고 있기 때문에 MySQL 안에 있는 워드프레스 데이터베이스 전체가 빽업된 것입니다. 이 화일만 있으면 자신의 워드프레스 데이터베이스가 손상되었다해도 다시 복원할 수 있는 것입니다.




그럼 이제 본격적으로 BackWPup 플러그인을 사용해보도록 하겠습니다.


# 빽업 작업을 만들고 시스템 전체 빽업하기

시스템 빽업을 하기 위해서는 신규 빽업작업을 만들어야 합니다. BackWPup에서는 빽업작업을 Job이라고 합니다. 신규 빽업작업을 만들기 위해서 왼쪽 사이드바에서 BackWPup > Add new job 메뉴를 클릭합니다.



Add new job메뉴를 클릭하면, 빽업 작업을 만드는 화면이 나타납니다. 다른 것은 바꿀 필요가 없고 아래 박스로 표시한 부분만 변경합니다. 먼저 General 탭에서 Jab Name 항목에 시스템 전체 빽업이라고 작성합니다. 그리고 아래쪽에 Archive Format 항목은 Zip 부분에 체크를 합니다. 기본으로는 Tar GZip으로 되어있으나 Tar GZip은 테스트해본 결과 압축해제시 에러가 발생했습니다




Job Destination은 빽업 받은 화일의 목적지를 정하는 항목으로 일단 첫번째 Backup to Folder 항목에 체크를 합니다. 이렇게 설정한 뒤 일단 아래쪽의 저장버튼을 클릭해서 신규 빽업작업의 설정내역을 저장합니다.



빽업 받은 화일은 어디에?


빽업 작업이 수행되면 빽업 받은 화일이 어디에 생성되는지는 알아야합니다. 상단 오른쪽에 To:Foler 탭을 클릭합니다.
이 화면에 들어오면 uploads/backwpup-0ab680-backups/ 폴더안에 빽업화일이 생성되는 것을 확인할 수 있습니다.



 uploads 폴더는 자신의 웹호스팅 서버나 로컬PC의 워드프레스가 설치된 디렉토리 경로에서 /wp-content/uploads 폴더를 말합니다.



워드프레스 전체빽업 실행하기


조금전 신규 빽업 작업을 시스템 전체빽업이라고 만들었습니다. 이제 생성한 신규빽업 작업을 실행해서 워드프레스를 빽업할 차례입니다. 왼쪽 사이드바에서 BackWPup > Jobs 메뉴를 클릭합니다.


Jobs 메뉴에 들어오면 조금전 만들었던 신규 작업인 시스템 전체 빽업이 나타납니다. 맨 오른쪽을 보면 Last Run 항목이 not yet으로 아직 빽업 작업이 수행되지 않된 것을 확인할 수 있습니다.

만약 추가적으로 빽업 작업에 수정할 일이 있다면 Edit를 클릭해서 수정하면 됩니다. 
화살표가 가르키는 Run now을 클릭하면 전체 빽업이 진행됩니다. Run now 링크를 클릭합니다.



빽업 작업이 진행되고 있습니다. 프로그레스 진행바가 표시되면서 빽업 작업이 진행됩니다. 자신의 워드프레스 사이트의 규모에 따라서 작업 시간이 소요될 것입니다. 그렇지만 일반적으로 빽업시간은 그리오래 걸리지 않습니다.



전체 빽업 작업이 완료되었습니다. 프로그레스 진행바가 100%로 표시되면 완료된 것입니다. 전체 작업시간은 14초가 걸렸습니다.
아래처럼 목록을 통해서 작업시간과 로그를 확인할 수 있습니다.




빽업 화일 확인하기


워드프레스 시스템 빽업 작업이 완료되었으므로 빽업한 화일을 확인해야합니다. 워드프레스 서버에서 작업을 한 경로로 이동합니다. FTP 프로그램을 이용해서 자신의 서버에 접속합니다. 로컬PC에 설치한 유저는 로컬의 경로로 이동하면 됩니다.

/wp-content/uploads 디렉토리 경로로 이동하니 backups, logs, temp 세 개의 폴더가 신규로 생성된 것을 확인할 수 있습니다.
backups 폴더를 클릭하면 아래와 같이 zip화일로 압축된 워드프레스 빽업 화일을 나타납니다. 이 빽업화일은 데이터베이스 빽업 뿐아니라 워드프레스 서버내 화일도 모두 빽업된 화일입니다. 이 화일 하나만 있으면 자신의 워드프레스 사이트를 그대로 복원할 수 있는 것입니다.
logs 폴더는 로그화일이 있는 폴더이고 temp는 임시화일 폴더입니다. 



이번 시간에 공부한 배치작업은 수작업으로 사람이 클릭을 해서 빽업을 했지만 다음시간에 공부할 배치작업은 시간을 정해놓으면 주기적으로 자동 빽업을 받는 배치 작업에 대해서 알아보도록 하겠습니다.


+ Recent posts