문제 발생한 워드프레스 블로그 되살리기

.

오늘은 문제가 발생한 워드프레스 블로그를 되살리는 방법을 정리해보고자 합니다.   저처럼 당황스런 상황을 맞이하게 될 지 모를 다른 분들을 위해서 … 맛이 간(?) 워드프레스 블로그를 복구하는 과정을 정리하여 공유해봅니다.  DB는 문제가 없는 상태에서 수동재설치를 통해 문제를 해결하는 과정을 정리했습니다.

제가 운영하는 블로그중에 IT 및 보안에 관한 워드프레스 기반 블로그가 하나 있습니다. http://itdiving.com 이란 블로그인데 한두달 관리를 하지 않다가 오랫만에 접속하려고 보니 헉..  하얀 공백만 표시되고 있더군요..   이런  ㅠㅠ

혹시나 하여 웹호스팅 받는 사이트에서 확인하니 일단 Database는 그대로 있는 것으로 보였습니다.   그래서 데이터만 1주일전으로 복구하였으나 여전히 새하얀~ 공백화면만 덩그라니 표시되고 있었습니다. ㅠㅠ

Database는 그대로 보존되어 있는데 Database를 화면에 표시해주지 못하고 있다는 것은 공개형 블로그 어플리케이션인 ‘워드프레스’에 뭔가 문제가 발생하였다는 것이지요.  워드프레스를 최신버전으로 수동 재설치해주면 문제가 해결될 것이라고 생각이 되었습니다.  아래 작업을 하는데  FTP client 프로그램인 Filezilla를 사용하였습니다.

■ 수동 재설치 전 해주어야 할 일

1. 워드프레스 wp-content 폴더를 통째로 백업하기
ftp 클라이언트 프로그램을 이용하여 홈페이지 소스에 접근할 수 있습니다. 복구 작업을 하기 전에 제일먼저 하셔야 할 일은 바로 ftp 클라이언트 프로그램을 이용하여 wp-content 폴더를 통째로 백업하는 것입니다.  물론 wp-content 디렉토리 외에 별로도 생성해두신 디렉토리들이 있다면 백업해두셔야 겠죠?

워드프레스 블로그인 경우 wp-content폴더에는 블로그의 컨텐츠와 화면 표시 방법, 기능에 관한 중요 파일들이 포함되어 있습니다. 특히 upload 폴더에는 블로그에 업로드했던 모든 파일들이 날짜별로 포함되어 있습니다.  이 폴더를 백업하지 않으시면 블로그 되살리고 나서서 이전의 사진,이미지, 각종 테마들은 되살리실 수 없습니다.  (물론 테마들의 경우엔 인터넷에서 다시 다운로드 받을 수는 있습니다.)

2. 수동설치할 워드프레스 소스파일을 다운로드 받는 것입니다.

이글을 쓰는 시점에서는  wordpress-4.7.4가 최신버전이어서  이것을 다운로드 받았습니다. 아래 URL에 가시면 항상 최신의 워드프레스 소스를 다운로드받으실 수 있습니다.  [다운로드] 버튼은 웹페이지의 오른쪽 하단에 위치해 있습니다. 워드프레스는 zip파일로 압축되어 있는데  다운로드가 끝나시면 미리 압축을 풀어두시면 되겠습니다.

● 최신 워드프레스 소스파일 다운로드 위치
https://ko.wordpress.org/

3. 워드프레스 폴더와 파일을 삭제하는 것입니다.

워드프레스 블로그 최상위에서 보이는 세가지 폴더 (wp-admin, wp-content, wp-includes) 와 wp로 시작하는 .php 파일들을 모두 지워주세요.. (주로 wp-*.php 의 형태를 가지고 있습니다.)

4. 다운받아둔 최신 워드프레스 소스를 ftp 클라이언트 프로그램을 이용하여 업로드해줍니다.   

wordpress-4.7.4-ko_kr\Wordpress\ 폴더내에 있는 모든 파일을 블로그에 업로드합니다.  업로드하실 때 전에 사용하던 폴더에 동일하게 업로드 되는지 확인하시기 바랍니다.

5. 워드프레스 소스파일을 모두 업로드한 뒤 블로그에 접속해봅니다. 

워드프레스를 처음 설치했을 때 보셨던  워드프레스의 설치 초기화면이 나옵니다. [Let’s go]버튼을 클릭하세요.   그러면 워드프레스 DB접속 설정 화면이 나오는데 역시 DB명, DB계정, 패스워드를 모두 정확하게 입력하시고 나면 워드프레스 수동 설치 과정이 완료됩니다.

보통은 바로 블로그 화면이 나오는데 오늘은 ‘데이터베이스를 업데이트해야 함’이란 창이 뜨네요.  그동안 업데이트를 제가 많이 하지 않은 티가 나네요 ㅠㅠ  진즉 할껄~~~  어쨋든 업데이트 버튼을 누르고 나니 설정이 완료되었습니다.

6. 백업해두었던 wp-contents  폴더내의 파일을 모두 복원해줍니다. 

7. 그러고 나니… 이제 제 블로그가 원래의 모습을 되찾았습니다.  짜짠~

무사히 블로그가 되살아 나긴 했습니다만..   파일백업을 오랫동안 해두지 않아 매우 긴장했던 순간이었습니다.  흐휴~~~~

데이터의 손실은 아무도 책임져주지 않습니다.  블로그를 운영하시는 분이시라면 일주일에 1회, 또는 한달에 1회는 꼭 DB와 파일을 모두 백업해두는 습관을 들이시길 권해드립니다

[워드프레스 보안1] 로그인페이지 변경하기

워드프레스의 관리자 페이지는 wp-admin이 기본 경로로 되어 있습니다.  워드프레스는 전세계적으로 가장 많이 쓰이는 블로그툴이니 만큼  공격자 입장에게  손쉬운 공격경로가 되고 있습니다.  워드프레스 블로그를 사용하고 계신다면 wp-admin으로 되어 있는 관리자페이지를  변경하시는 것이 가장 간단하면서 확실한 보안대책이 될 수 있습니다.

관리자 페이지를 변경하시면   기존 워드프레스 관리자 페이지인 wp-admin으로 접속하면 아래와 같이 로그인하라는 메시지를 출력해줍니다.

wp-admin_rn05

wp-admin은 여전히 블로그 관리 페이지로 사용됩니다.  관리자 로그인을 별도의 페이지로 분리하는 방식입니다.

■ 관리자 로그인 페이지 변경하는 방법
① 관리자페이지에서 플러그인/플러그인 추가 메뉴를 선택해줍니다.

wp-admin_rn011

 

② Rename wp-login 플러그인을 검색해주세요

 

wp-admin_rn01

 

 

③ Rename wp-login.php 플러그인을 설치해주세요
wp-admin_rn02

 

④ 설치된  Rename wp-login.php 플러그인을 활성화해주세요

wp-admin_rn03

 

⑤    Login url란에 새로운 로그인 페이지 명을 입력해주세요.
(관리자페이지의   설정> 고유주소 메뉴에  로그인페이지 변경창이 새로 생깁니다.)
    –> 이 로그인페이지는 즉시 기록해두세요.  기억을 못하시면 다시는 관리자페이지에 로그인을 할 수 없는 불상사가 발생하게 됩니다.  반드시 이 경로는 정확하게 기록해 두실 것을 다시 한번 강조해서 말씀드립니다.
물론 테마에 따라 로그인메뉴가 있는 경우는 예외입니다. ^^ 

개인적인 생각으로는 워드프레스 블로그스킨에서 로그인페이지 링크를 제거할 것을 권고합니다.  어떤 형태로든지 관리자페이지에 접근할 수 있는 링크를 남겨두는 것은 바람직하지 못합니다.

wp-admin_rn04

이제 모든 작업이 끝났습니다.   이제  여러분의 워드프레스 블로그는 좀더 안전해졌습니다.

향후에 관리자로그인 페이지를 변경하고 싶으시면  관리자페이지의   설정> 고유주소 메뉴에서 언제든 변경하실 수 있습니다.

구글의 jQuery링크하여 내 블로그트래픽 줄이기

  오늘은 구글의 jQuery링크하여 워드프레스  블로그의 트래픽을 줄이는 방법에 대해 공유해보려고 합니다. 

  저는 기존 포털에서 블로그공간을  제공받지 않고 직접 웹호스팅을  받고 있습니다.(카페24) 블로그를 좀더 자유롭게 운영할수있어서  약간의 비용을 투자하고있습니다. 그런데 최근 제 블로그 방문자가 늘어나면서  트래픽 오버로 인해 저녁시간에 블로그 접속이 불가능한 상황이 여러번 벌어졌습니다. 트래픽용량을 추가하면 추가 비용이 들기에 트래픽 상세현황을 점검해보았습니다

image

트래픽을 많이 일으키고 있는 파일은 jQuery와 bg-header.png였습니다. png파일은 jpg 로 용량을 줄여서 쉽게 교체가 가능했지만 jQuery를 어떨게 줄이느냐가 문제였습니다. 워드프레스의 고수이신 황씨님의 도움을 받아서  구글의 jQuery를 링크하여 해결할 수 있었습니다. 아래 그림은 어제 페이지 파일별 트래픽 현황을 캡쳐했습니다. 20%가 넘던 jQuery 트래픽이 이제 3.7%로 크게 줄어들었습니다. 블로그방문자가 60% 가까이 더 늘었지만 ( 헤더의 배경이미지파일( bg-header.jpg) 의 조회수 기준: 1,742→2,972) 트래픽문제가 발생하지 않았습니다.

image

■ 해결 방법

1. 사용중인 테마의 functions.php 를 불러옵니다
2. functions.php 파일 하단에 아래 내용을 추가해줍니다.
//jQuery Insert From Google
if (!is_admin()) add_action(“wp_enqueue_scri
pts”, “my_jquery_enqueue”, 11);
function my_jquery_enqueue() {
wp_deregister_script(‘jquery’);
wp_register_script(‘jquery’, “http” . ($_
SERVER[‘SERVER_PORT’] == 443 ? “s” : “”) . ”
://ajax.googleapis.com/ajax/libs/jquery/1.10
.2/jquery.min.js”;, false, null);
wp_enqueue_script(‘jquery’);
}
3. functions.php를 교체해줍니다

간단하죠?