워드프레스 서버 이전하기: WordPress Migration 작업

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

워드프레스 사이트를 직접 AWS LightSail에서 관리하기 위해 워드프레스 서버 이전 작업을 진행하게 되었습니다.

서버 이전을 진행하게 된 이유는

  • 워드프레스 서버 이전 이유
  • 리눅스 서버에서 원하는 캐시 사용, 한국 위치 기반 웹사이트 속도 향상
  • 한국 서버 이용으로 속도와 위치 기반 SEO 향상
  • 서버 직접 관리를 통한 비용 절감
  • 원하는 대로 서버 커스터마이징

위와 같은 이유 외 다양한 이유로 서버 이전을 결정하게 되었습니다.

1. 워드프레스 서버 이전을 위한 기존 서버 SSH 접속

먼저 이용하는 호스팅 업체의 SSH 접속을 통해 DB 계정과 비밀번호 및 데이터 백업을 진행합니다.

사용하는 호스팅 업체의 관리자 페이지에서 데이터 및 DB 백업 파일을 만들 수 있지만 본인이 이용하는 호스팅 업체에서 백업 파일 생성 및 다운로드는 누구나 쉽게 할 수 있기 때문에 주로 SSH 접속 후 작업하는 방향으로 작성된 내용임을 참고하여 주시기 바랍니다.

1.1 데이터 백업

워드프레스 데이터가 들어 있는 루트 폴더(보통 www 또는 html)의 .tgz 확장자로 백업을 진행합니다.

~]$ tar cfzp 파일명.tgz  www/
~]$ ll 파일명.tgz
-rw-rw-r--  1 suxxxx suxxxx 125 Jul 24 11:01 파일명.tgz

1.2 wp-config.php 파일 관리자 정보 확인 및 DB 백업

관리자 페이지에서 DB 계정과 비밀번호를 확인할 수 있겠지만 직접 확인하는 방향으로 진행합니다. 루트 폴더의 wp-config.php 파일을 열어보면 DB 정보를 확인할 수 있습니다.

▼ DB 계정 및 비밀번호 xxxx 표시 필요.

~]$ vi www/wp-config.php

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'su1ktvw_fiun' );

/** Database username */
define( 'DB_USER', 'su1ktvw_fiun' );

/** Database password */
define( 'DB_PASSWORD', '@]pU4u9QS3' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
:q!

~]$ mariadbdump -u(DB아이디) -p (DB네임) > 저장 할 파일명.sql

정보를 확인했으니 mysqldump 명령어로 파일을 저장합니다. db 아이디와 db 네임은 보통 동일하게 설정하며 다를 경우 이용 중인 호스팅 업체에 확인합니다. 보통 DB 권한을 다 부여 받지 못해 본인이 직접 루트 권한으로 접속 가능한 서버에서 사용하면 되겠습니다. sql 확장자의 파일을 관리자 페이지에서 다운로드 받습니다.

2. 이전할 서버: root 권한을 가진 서버 접속(Ex: AWS LightSail)

호스팅 계정 생성 및 DB 계정을 생성해 줍니다.

2.1 호스팅 계정 생성 및 백업 파일 복원

useradd 명령어를 사용합니다. 아파치 그룹 설정을 nobody로 설정해서 그룹을 nobody로 설정 후 진행했습니다.

~]# useradd 호스트계정 -g nobody
~]# passwd  호스트계정 # 비밀번호 설정
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
~]# cd /home/호스팅계정/
~]# chmod 701 ./ # 퍼미션 700을 701로 설정
~]# tar xzfp 파일명.tgz # 압축 풀기
~]# chown -R 호스팅계정.nobody www/ # 유저 및 그룹 권한을 다시 재설정

2.2 DB 계정 생성

## DB 관리자 접속 ## 
]# mariadb -u root -p 
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2860
Server version: 11.3.2-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use mysql;
MariaDB [mysql]>  GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO 사용자@'호스트' IDENTIFIED by '생성할 DB 패스워드';
MariaDB [mysql]>  FLUSH PRIVILEGES;

2.2.1 DB 백업 파일 복원

]# mariadb  -utozisin -p tozisin < softsql.sql
mariadb -u(DB아이디) -p (DB네임) < 저장  파일명.sql

2.3 DB 이름 및 패스워드 변경하기

DB 이름 및 DB 유저 그리고 패스워드가 기존 서버와 다른 경우 변경을 해 줍니다. ①wp-config.php 파일에서 정보 수정, ②phpMyAdmin 또는 HeidSQL 등의 프로그램을 이용해서 DB에 접속 해 줍니다.

3. 에러 메시지 확인: There has been a critical error on this website.

[Learn more about troubleshooting WordPress.] 라는 에러 메시지가 확인되어 .htaccess 파일을 기본 Default로 변경했지만 발생된 에러가 해결되지 않아

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

wp-config.php에서 ‘WP_DEBUG’ 파일 false 값을 true로 변경 후 상태를 확인 해 봤습니다.

사용하는 해외 호스팅 업체의 플러그인이 문제인 것으로 파악되어,

워드프레스 서버 이전 작업 중 에러

원본에 없던 ‘object-cache.php’ 파일 삭제를 진행했습니다.

/home/tozisin/www/wp-content/object-cache.php

이후 메시지는 해당 경로의 ‘cdn-cache-admin.php’ 파일 삭제를 진행했습니다.

There has been a critical error on this website 이후 cdn 캐시 파일

동일한 오류가 발생하여 괸련 된 파일들을 추가로 삭제 했습니다.

~]# rm -f cdn-cache-management.php
~]# rm -rf cdn-cache-management/

4. 사진 엑박 문제

글에 올라온 사진이 엑박 문제가 확인되어..(웹사이트에서는 문제 없지만 관리자 페이지의 글 수정을 눌렀을 때) ssl을 설치해서 해결 되었습니다.

✅ WordPress Migration 작업 완료

정상적으로 워드프레스 서버 이전 작업(WordPress Migration)이 완료되어 사이트가 정상적으로 뜨는 것을 확인했습니다. 관리자 페이지에 들어가서 제 서버에서는 사용하지 않는 ‘Redis Object Cache‘ 플러그인은 삭제를 진행했습니다.

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

Similar Posts

  • 워드프레스 동기화된 패턴 찾기: WP-CLI로 어느 글에 있는지 확인

    워드프레스 동기화된 패턴은 본문에 참조 번호만 들어가서 어느 글에 걸려 있는지 관리자 화면에서 확인할 수 없습니다. WP-CLI로 패턴 ID를 찾고 그 번호를 참조하는 글을 한 번에 뽑아내는 방법을 정리했습니다. 1️⃣ 관리자 화면에서 안 보이는 워드프레스 동기화된 패턴 워드프레스 동기화된 패턴 목록 화면에는 이름과 미리보기, 그리고 동기화됨 표시만 나옵니다. 이 패턴이 몇 개의 글에…

  • WP Super Cache: 플러그인 설치 및 설정

    워드프레스 캐시 플러그인 중 WP Super Cache는 100만 명 이상이 사용하는 인기 무료 캐시 플러그인입니다. 평점 4.3점으로 사용자 만족도도 높은 편이며, Automattic에서 직접 개발한 공식 플러그인입니다. 별도의 유료 버전은 존재하지 않으며, 캐시 플러그인에서 필요한 대부분의 기능이 무료로 제공됩니다. WP Super Cache의 설치 방법과 기본 설정, 작동 원리에 대해 확인해 보겠습니다. 기본 설치는 Neve…

  • SSL/TLS 보안인증서 등급 3가지

    SSL/TLS 보안인증서는 등급이 존재합니다. TLS 보안인증서 등급은 DV 인증서, OV인증서, EV인증서 크게 3종류로 나눌 수 있습니다. Sectigo와 같은 인증 기관Certificate Authorities에서 등급으로 지정된 TLS 보안인증서를 이용할 수 있습니다. 보통은 서버를 이용하는 회사나 국내 인증기관에서 Sectigo SSL을 포함한 인증 기관의 SSL 제품을 판매하니 필요한 경우 홈페이지 용도에 맞게 사용할 수 있습니다. 1. SSL/TLS 보안인증서…

  • [WP] FastComet Hosting 3가지 측면으로 보기: 기능, 가격, 장단점

    FastComet은 750,000명 이상의 소기업 및 개인 웹사이트 소유자가 서비스를 사용하는 인기 있는 웹 호스팅 회사입니다. 공유 호스팅 업체 중 FastComet을 사용하면서 FastComet Hosting의 장·단점에 대해 알아 보겠습니다. FastComet은 Cloudflare CDN CDN 캐싱과 무료 일일 백업, 핫링크 보호 등 매력적인 부가 기능과 함께 공유 호스팅을 제공하고 있습니다. 공유 호스팅과 클라우드 VPS 호스팅, 전용 CPU…

  • WP Fastest Cache 플러그인: 기본 설정 및 속도 테스트

    워드프레스를 설치하고 테마까지 적용한 초기 상태에서는 일반 사용자용 페이지와 관리자 페이지 모두 빠른 속도를 체감할 수 있습니다. 그러나 플러그인이 하나둘 추가되면서 사이트는 점점 느려지고 무거워지기 마련입니다. 이러한 성능 저하를 해결하기 위해 많은 캐시 플러그인들이 사용되지만, WP Fastest Cache 플러그인은 가볍고 간편한 인터페이스를 제공하면서도 기능 면에서 결코 부족하지 선택지 중 하나입니다.WP Fastest Cache는 프리…

  • 워드프레스 Neve 테마 설치: 속도 테스트

    Neve 테마는 빠르고 가벼운 워드프레스 테마로, 초보자부터 고급 사용자까지 모두를 위한 유연한 구조를 제공합니다. 공식 테마 디렉토리에 등록된 무료 테마 중 하나로, 블록 에디터(Gutenberg)는 물론 Elementor, Brizy, Beaver Builder 등 다양한 페이지 빌더와도 높은 호환성을 자랑합니다. 특히, Neve는 모바일 퍼스트 구조와 AMP 지원, 최적화된 코드 덕분에 속도 측면에서도 매우 뛰어난 평가를 받고 있습니다….

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 9   +   2   =