Network & Server Factory

개인 공부 기록

Web/WordPress

[WordPress] 외부 접속이 안 될 때 HOME, SITE URL 변경하기

1nfra 2021. 9. 25. 02:54
내부 IP로 WordPress를 설치하면 home, siteurl 값이 그 IP로 저장되어 외부에서 접속할 수 없습니다. MySQL에서 wp_options와 게시글·메타 데이터의 주소를 새 도메인으로 바꿔 해결했습니다.

1. 증상과 원인

WordPress는 초기 설치할 때 접속한 주소를 사이트 주소(home, siteurl)로 저장합니다. 예를 들어 192.168.0.10 같은 내부 IP로 접속해 설치하면 그 IP가 사이트 주소가 되므로, 외부에서 접속하면 연결되지 않거나 에러가 발생합니다.

주의: 데이터베이스를 직접 수정하므로 작업 전에 반드시 백업해 두세요.

2. 해결

2.1 MySQL 접속

WordPress가 사용하는 계정으로 MySQL에 접속합니다.

mysql -u wordpress -p wordpress

2.2 현재 값 확인

SELECT option_id, option_name, option_value FROM wp_options WHERE option_name IN ('home', 'siteurl');

2.3 주소 변경

사이트 주소와 함께 게시글 GUID, 본문, 메타 데이터에 남은 이전 주소도 바꿉니다. old.example.com에는 이전 주소, new.example.com에는 새 도메인을 넣습니다.

UPDATE wp_options SET option_value = 'http://new.example.com' WHERE option_name IN ('home', 'siteurl');
UPDATE wp_posts SET guid = replace(guid, 'http://old.example.com', 'http://new.example.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://old.example.com', 'http://new.example.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://old.example.com', 'http://new.example.com');

3. 결과

2.2의 SELECT를 다시 실행하면 home과 siteurl이 새 주소로 바뀌어 있고, 외부에서도 접속됩니다.

4. 정리

  • WordPress는 설치 시 접속한 주소를 home, siteurl로 저장합니다.
  • 주소를 바꿀 때는 wp_options뿐 아니라 wp_posts, wp_postmeta의 이전 주소도 함께 바꿉니다.
  • DB를 직접 수정하므로 작업 전에 백업합니다.

 

사용한 명령어는 아래 파일에 정리해 두었습니다.

워드프레스 DB 명령어.txt
0.00MB

728x90

'Web > WordPress' 카테고리의 다른 글

[WordPress] 리버스 프록시 뒤에서 HTTPS 적용하기  (0) 2021.11.01
서울
--:--:--
-전체 글
-카테고리
오늘 방문