티스토리 뷰

업무용으로 운용 중인 워드프레스 서버가 있었는데 제대로 작동하지 않는 난감한 상황입니다.

 

희한하게 접속 페이지가 /wp-admin/install.php 로 잡혀있네요?

 

딱히 아파치 설정을 건드린 것도 없고 이상도 없는 것 같은데

불행중 다행인지 사이트 접속만 안되고 

실제 사이트 유저 정보와 게시글 정보 담긴 데이터베이스는 문제가 없는 것 같습니다.

 

이참에 운용중인 사이트의 마이그레이션(이전) 작업에 도전해봅시다.

 

0. 기존 서버에서 mysql 백업하기

- 제 경우에는 기존 서버에서 phpMyAdmin 을 이용하고 있었습니다.

  [기존 url]/phpMyAdmin/index.php 로 접속합니다.

 

- 기존 서버의 phpMyAdmin 계정 정보 확인 

:  WordPress 설치 디렉터리 내에 있는 wp-config.php 파일을 열고 아래 내용을 확인

/** WordPress 데이터베이스의 이름 */
define('DB_NAME', 'your_database_name');

/** MySQL 데이터베이스 사용자 이름 */
define('DB_USER', 'your_database_user');

/** MySQL 데이터베이스 암호 */
define('DB_PASSWORD', 'your_database_password');

/** MySQL 호스트 이름 */
define('DB_HOST', 'your_database_host');

 

- wordpress 테이블을 sql  문으로 추출후 저장

 

 

1. 기존 서버의 사이트 정보 파일 다운로드

wp-content 폴더를 압축 저장 후 이전, 주로 /var/www/wordpress/wp-content 에 위치

tar.gz 로 압축 후 로컬에 백업 또는 s3 bucket 에 업로드

 

2. 이제 이전할 새 서버에 AMP(Apache, MariaDB, PHP)를 설치해야 합니다.

aws 자습서 또는 관련 문서를 참고합시다.

 

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2023.html

 

Amazon Linux 2023에 LAMP 설치 - Amazon Elastic Compute Cloud

Amazon Linux를 사용하지 않는 경우, 이러한 연결을 허용하도록 인스턴스에서 방화벽을 구성해야 할 수도 있습니다. 방화벽 구성 방법에 대한 자세한 내용은 사용자의 특정 배포에 대한 문서를 참

docs.aws.amazon.com

 

https://originalchoi.tistory.com/entry/aws-%EC%97%90-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0

 

aws 에 워드프레스 구축하기

이번에는 AWS(Amazon Webb Service) 환경에 WordPress 프레임워크를 구축하여 본인만의 웹사이트를 만들어보도록 하겠습니다. 본래 웹서버 구축, 그 위에 워드프레스 설치하는 수업은 일반 PC에 vmware 와

originalchoi.tistory.com

 

 

 

2. 기존에 php-myadmin 을 통해서 백업스크립트를 추출했기 때문에

이번에도 php-myadmin 을 설치해서 복구스크립트를 동작시킬 겁니다.

따라서 php-myadmin 까지 설치해줍니다.

 

 

3. 이전할 서버에 wordpress 를 설치하고 초기상태를 마련해놓습니다.

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/hosting-wordpress-aml-2023.html

 

Amazon Linux 2023에서 WordPress 블로그 호스팅 - Amazon Elastic Compute Cloud

아래 명령에서 데이터베이스 이름을 앞 뒤로 묶는 기호(`)를 백틱(backtick)이라고 합니다. 백틱(`) 키는 일반적으로 표준 키보드에서 Tab 키 위에 있습니다. 백틱이 항상 필요하지는 않지만, 이를 통

docs.aws.amazon.com

 

4. 백업 받아둔 wordpress- content 파일과 sql 스크립트를 새 서버로 이전

[ec2-user@ip-172-31-35-1 html]$ wget https://smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com/wp-content.tar.gz
--2023-11-25 07:28:55--  https://smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com/wp-content.tar.gz
Resolving smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com (smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com)... 3.5.141.169, 3.5.142.147, 3.5.144.10, ...
Connecting to smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com (smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com)|3.5.141.169|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4181121519 (3.9G) [application/x-gzip]
Saving to: ‘wp-content.tar.gz’

wp-content.tar.gz                 100%[==========================================================>]   3.89G  61.1MB/s    in 64s

2023-11-25 07:29:59 (62.7 MB/s) - ‘wp-content.tar.gz’ saved [4181121519/4181121519]

[ec2-user@ip-172-31-35-1 html]$
[ec2-user@ip-172-31-35-1 html]$ wget https://smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com/wordpress+(1).sql
--2023-11-25 07:31:12--  https://smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com/wordpress+(1).sql
Resolving smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com (smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com)... 52.219.146.58, 52.219.204.6, 52.219.204.30, ...
Connecting to smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com (smc-secu-potal-backup.s3.ap-northeast-2.amazonaws.com)|52.219.146.58|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21913283 (21M) [binary/octet-stream]
Saving to: ‘wordpress+(1).sql’

wordpress+(1).sql                 100%[==========================================================>]  20.90M   121MB/s    in 0.2s

2023-11-25 07:31:12 (121 MB/s) - ‘wordpress+(1).sql’ saved [21913283/21913283]

[ec2-user@ip-172-31-35-1 html]$

 

5. wp-content 폴더 교체

[ec2-user@ip-172-31-35-1 wordpress]$ mv wp-content wp-content-bakcup
[ec2-user@ip-172-31-35-1 wordpress]$ tar -zxvf wp-content.tar.gz
[ec2-user@ip-172-31-35-1 wordpress]$ ll
total 4083372
-rw-r--r--.  1 ec2-user apache        405 Feb  6  2020 index.php
-rw-r--r--.  1 ec2-user apache      19915 Jan  1  2023 license.txt
-rw-r--r--.  1 ec2-user apache       7399 Jul  5 17:41 readme.html
-rw-r--r--.  1 ec2-user apache       7211 May 12  2023 wp-activate.php
drwxr-sr-x.  9 ec2-user apache      16384 Nov  9 00:45 wp-admin
-rw-r--r--.  1 ec2-user apache        351 Feb  6  2020 wp-blog-header.php
-rw-r--r--.  1 ec2-user apache       2323 Jun 14 14:11 wp-comments-post.php
-rw-r--r--.  1 ec2-user apache       3013 Feb 23  2023 wp-config-sample.php
-rw-r--r--.  1 ec2-user apache       3286 Nov 25 07:50 wp-config.php
drwxr-sr-x.  7 ec2-user apache        110 Oct  5 06:08 wp-content
drwxr-sr-x.  4 ec2-user apache         52 Nov  9 00:45 wp-content-bakcup
-rw-r--r--.  1 ec2-user apache 4181121519 Nov 25 06:34 wp-content.tar.gz
-rw-r--r--.  1 ec2-user apache       5638 May 30 18:48 wp-cron.php
drwxr-sr-x. 27 ec2-user apache      16384 Nov  9 00:45 wp-includes
-rw-r--r--.  1 ec2-user apache       2502 Nov 26  2022 wp-links-opml.php
-rw-r--r--.  1 ec2-user apache       3927 Jul 16 12:16 wp-load.php
-rw-r--r--.  1 ec2-user apache      50924 Sep 29 22:01 wp-login.php
-rw-r--r--.  1 ec2-user apache       8525 Sep 16 06:50 wp-mail.php
-rw-r--r--.  1 ec2-user apache      26409 Oct 10 14:05 wp-settings.php
-rw-r--r--.  1 ec2-user apache      34385 Jun 19 18:27 wp-signup.php
-rw-r--r--.  1 ec2-user apache       4885 Jun 22 14:36 wp-trackback.php
-rw-r--r--.  1 ec2-user apache       3154 Sep 30 07:39 xmlrpc.php
[ec2-user@ip-172-31-35-1 wordpress]$ rm wp-content.tar.gz

 

 

6. mysql 복원 스크립트 실행

근데 업로드 파일 크기 제한에 걸림..

 

/etc/php.ini 에서 아래 설정값을 수정해주자.

upload_max_filesize = 200M

근데 안먹힌다. phpMyAdmin 의 설정값도 수정해줘야 하나보다.

 

차라리 mysql 에서 직접 스크립트를 실행해주자

[ec2-user@ip-172-31-35-1 html]$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 168
Server version: 10.5.20-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 wordpress-db
Database changed
MariaDB [wordpress-db]>
MariaDB [wordpress-db]> source /var/www/html/wordpress_restore.sql;
Query OK, 0 rows affected (0.000 sec)

Query OK, 0 rows affected (0.000 sec)

Query OK, 0 rows affected (0.000 sec)
...

 

 

7. 대충 아무테마나 입혀주면 기존의 콘텐츠가 되살아난 게 보인다.

 

 

※ 사실 기존 wordpess 폴더를 통째로 백업해놓았으면 플러그인이나 게시판 깨지는 것 없이

그냥 풀 백업, 풀 리스토어가 될 일인데 거기까지는 못 챙기는 바람에 부분 복구만 되었다.

 

마이그레이션 테스트를 미뤄놓고 있는 동안 그냥 웹서버 장애에서 

서버 본체 장애로 까지 확대된 덕분에 콘텐츠 백업 본외

기존 워드프레스 구성 파일들을 받는건 불가능 해졌음.

 

이참에 동아리 애들한테 사이트 관리 맡기면서 디자인도 재편하고

발행글과 서브메뉴도 하나하나씩 재편해야 할듯

 

기말 이후 때까지 기다릴 수가 없어서 결국 내가 다했다..
하다보니 자잘한 에러가 많아서 어차피 내가 안했으면 안됬음. 

그래도 인스턴스 이미지 떠서 공유시켜서 동아리 애들한테 장애복구의 뜨거운 맛을 보여줄 수는 있겠다.

 

 

덕분에 그나마 워드프레스 버전은 최신판으로 올렸다.

 

 

인스턴스 재부팅 후 도메인 변경으로 접속이 원할치 않다.

꼭 워드프레스 dns 재설정 해주자.

728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함