아주 오랫동안 사용하지 않는 사이트의 경우에는 별 일이 다 일어나게 된다.
오늘 오랜만에 집에서 돌아가는 작은 서버에 접속해 봤다.
sudo apt update
sudo apt upgrade
수십 개의 패키지가 문제없이 업그레이드되는 짜릿함을 뒤로하고 Nginx에 들어갔더니 역시 물려있는 웹 서비스가 많다.
sites-available에 가서 하나하나 보다가 죽어 있는 워드프레스 서비스 발견... 생각해 보니 도메인 연장하라고 말씀드렸었는데 흐지부지되었나 보다.
임시로 내가 쓰는 도매인에 서브도메인으로 DNS와 Nginx를 맞춰도 접속이 안되길래 도메인 주소가 allow list로 걸려있는 듯하여 검색해 보니 맞다.
웹페이지는 리다이렉션 엄청 걸려서 접근을 못하니 DB에서 수정하는 방법으로 했다.
1. DB에서 도메인 주소 수정
$ mysql -uwp -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 70
Server version: 10.3.38-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04
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)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| wp |
+--------------------+
2 rows in set (0.004 sec)
MariaDB [(none)]> use wp
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [wp]> show tables;
+----------------------------+
| Tables_in_wp |
+----------------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+----------------------------+
12 rows in set (0.001 sec)
MariaDB [wp]> select * from wp_options where option_name = "siteurl";
+-----------+-------------+-------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+-------------------+----------+
| 1 | siteurl | https://old.co.kr | yes |
+-----------+-------------+-------------------+----------+
1 row in set (0.001 sec)
MariaDB [wp]> select * from wp_options where option_name = "home";
+-----------+-------------+-------------------+----------+
| option_id | option_name | option_value | autoload |
+-----------+-------------+-------------------+----------+
| 2 | home | https://old.co.kr | yes |
+-----------+-------------+-------------------+----------+
1 row in set (0.001 sec)
MariaDB [wp]> update wp_options set option_value = "https://new.co.kr" where option_name = "siteurl";
Query OK, 1 row affected (0.006 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [wp]> update wp_options set option_value = "https://new.co.kr" where option_name = "home";
Query OK, 1 row affected (0.006 sec)
Rows matched: 1 Changed: 1 Warnings: 0
처음 워드프레스를 설치할 때 설정했던 DB 정보로 로그인해서
wp_options 테이블의 siteurl, home을 수정해 주면 된다.
이렇게 해주니 접속은 잘 됐다.
그런데 이미지가 다 깨져서 보니 이미지에도 이전 주소가 붙어있다...
관리자 패스워드를 몰라서 접속해서 복구할 수도 없고... 하다가 그냥 패스워드를 초기화하기로 했다.
2. 관리자 패스워드 초기화
MariaDB [wp]> select * from wp_users;
+----+------------+------------------------------------+---------------+------------+-------------------+---------------------+---------------------+-------------+--------------+
| ID | user_login | user_pass | user_nicename | user_email | user_url | user_registered | user_activation_key | user_status | display_name |
+----+------------+------------------------------------+---------------+------------+-------------------+---------------------+---------------------+-------------+--------------+
| 1 | admin | $P$ | admin | | https://old.co.kr | 2022-00-00 00:00:00 | | 1 | |
+----+------------+------------------------------------+---------------+------------+-------------------+---------------------+---------------------+-------------+--------------+
1 row in set (0.000 sec)
그렇다. 당연히도 패스워드는 해시로 저장되어 있다.
무슨 알고리즘인지 솔트는 쳤는지 아무것도 모르기 때문에 다른 초기화 방법을 찾기로 했다.
\wp-content\themes\functions.php 파일을 수정하면 된다고 한다.
예전에 워드프레스 갖고 장난칠 때 많이 수정했던 파일인데... 얘는 참 만능이다.
해당 파일에 아래 코드를 추가하고 로그인을 시도하면 password로 변경된다.
wp_set_password('password', 1);
따옴표 안의 password가 변경할 패스워드, 두 번째 인자가 wp_users의 user_status에 해당한다.
다시 지워줘야 로그인이 가능하니 로그인 시도 후에 다시 해당 코드를 지워준다.
(안 지우면 계속 초기화하는 듯하다)
그리고 접속해서 패스워드를 초기화하면 완료!
괜히 또 초기화해서 "문제 있어서 초기화했어요..."라고 하지 않기 위해 마스터 계정을 하나 만들어 놨다.
이미지 파일은 이미지의 링크를 전부 수정하는 것으로 해결했다...
- 참고 -
https://avada.tistory.com/1468
여기 블로그 예전부터 워드프레스에 문제 생겨서 검색하면 제일 많이 나와서 많이 보던 블로그인 것 같은데 안 좋은 점이 phpmyadmin 같은 일반적으로는 잘 안 쓰는 것으로 알려주거나... 최근에 추가한 듯한데 조금 보다 보면 카페 접속 배너가 나오면서 본문을 읽는 게 불가능하다;;
개발자도구로 태그 간단히 날리고 이어서 보긴 했지만 참 왜 그러는지 모르겠다.