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

워드프레스 사이트를 직접 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] 이미지 최적화 플러그인 BEST5 비교

    워드프레스 이미지 최적화 플러그인(Image Optimizer Plugin)은 웹사이트의 이미지 크기를 줄여 최적화를 진행합니다. 워드프레스로 구축한 사이트는 테마의 기능과 플러그인을 사용하면서 사이트의 로딩 속도가 늘어납니다. 웹사이트의 속도에 영향을 주는 또 다른 요인은 이미지 파일입니다. JPEG와 PNG 이미지 파일은 웹사이트 로딩 속도가 느려지는 주범이며, 특히 두 파일을 WebP 형식으로 변환 및 적절한 크기로 이미지 최적화가 필요하게…

  • [WP] 워드프레스 블로그 수익 창출 가능한 이유와 방법 5가지

    워드프레스 블로그 수익 창출은 가능할까요? 우선 한국에서 대표적인 블로그는 네이버 블로그와 티스토리가 있습니다. 네이버 블로그 애드포스트라는 네이버 광고를 게재할 수 있고 티스토리는 구글 애드센스와 애드핏 광고를 게재할 수 있습니다. 애드포스트는 사실 광고 수익이 매우 낮아 전문적으로 콘텐츠를 발행하는 직업을 갖기 힘들며, 티스토리의 경우 지속적인 여러가지 웹 사이트 오류 및 티스토리 운영에 대한 문제들이…

  • Cloudways 호스팅 사용 후기(2023)

    fastcomet에서 Cloudways 호스팅으로 이전을 했습니다. Cloudways 호스팅 사용 후기는 기대했던 것 이하였습니다. 이전 이유는 깔끔한 인터페이스와 Memcached/Redis Object 캐시 활용 가능성이었습니다. Varnish 캐시도 사용할 수 있다는 점과 부가 기능들이 마음에 들어 사용하게 되었습니다. 목차1. 워드프레스 서버 이전을 위한 기존 서버 SSH 접속1.1 데이터 백업1.2 wp-config.php 파일 관리자 정보 확인 및 DB 백업2. 이전할 서버:…

  • 워드프레스 백업 및 복원 3가지 방법

    워드프레스 웹사이트를 운영하다 보면, 예상치 못한 오류나 변경 사항으로 인해 사이트를 이전 버전으로 복원해야 하는 상황이 발생할 수 있습니다. 이러한 경우를 대비해 정기적인 백업은 매우 중요합니다. 백업을 수행하는 방법은 크게 세 가지로 나눌 수 있습니다. 첫째, 웹 호스팅 서비스에서 제공하는 자동 백업 기능을 활용하는 방법입니다. 대부분의 호스팅 업체는 일정 주기로 사이트 데이터를 백업하며,…

  • [WP] 3가지 리소스 힌트로 워드프레스 성능 향상

    워드프레스 웹 사이트를 운영하면서 초보자의 경우 테마와 플러그인을 하나 씩 설치하면서 점점 느려지는 속도에 당황하게 됩니다. SEO에도 좋지 않지만 느린 웹 사이트는 방문자 이탈율이 늘어날 수 밖에 없습니다. 속도를 향상시키기 위한 방법 중 하나는 캐시 플러그인 사용이며, 거의 모든 캐시 플러그인에 있는 리소스 힌트 제거 기능에 대해 알아 보겠습니다. 목차1. 워드프레스 서버 이전을…

  • WP CLI: 설치 및 설정 | 워드프레스에서 WP CLI를 사용하는 이유

    워드프레스 사이트를 관리할 때, 리눅스 서버에 직접 SSH로 접속할 수 있고 root 권한까지 보유하고 있다면, WP CLI의 필요성을 크게 체감하지 못 할 수 있습니다. 리눅스의 기본 Command Line Interface는 이미 모든 기능을 제공할 정도로 편리하지만, 워드프레스 사이트를 운영하면서 가끔 씩 WP CLI가 언급됩니다. 자주 언급되는 이유는 단순한 명령어의 대체가 아닌 워드프레스에 특화된 자동화와…

답글 남기기

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

Prove your humanity: 0   +   9   =