서버/AWS (Amazon Web Services)

워드프레스 서버 주소 변경 (아마존 라이트세일, 아마존 리눅스)

날개 2017. 11. 6. 17:52

"Amazon Lightsail 여러개의 워드프레스 사이트 설치" 글을 쓰다보니, 한가지 중요한 점을 잊고 있었습니다.


서버 인스턴스를 삭제하고 다시 생성하면 (스냅샷에서 생성하는 것도 마찬가지) 서버 인스턴스의 퍼블릭 IP가 변경됩니다.


그런데 도메인을 연결하지 않고 작업을 하고 있기 때문에 워드프레스가 설치되면서 워드프레스 설정값에는 설치할 때의 서버 IP를 사이트 URL로 가지고 있게 됩니다.


따라서 스냅샷 서버 인스턴스를 다시 실행해도, 웹브라우저에서 새로 부여받은 퍼블릭 IP로 접속해 봤자, 화면이 깨지게 됩니다. (엉뚱한 주소로 작업을 할테니까요.)


(바로 이런 현상이.... 페이지가 엉망이 되어 버립니다...)



서버의 주소가 변경되면, 워드프레스의 관리자 페이지에서 WordPress Address (URL)와 Site Address (URL)을 변경해 주어야 합니다.


(녹색 사각형 부분의 주소를 변경해 주어야 한다.)



문제는 이미 서버의 주소가 변경되었기 때문에 위 화면과 같은 관리자 페이지에 들어가지를 못한다는 것이죠.


이런 경우에는 해당 워드프레스 사이트가 사용하는 DB에서 해당 값들을 직접 변경해 주어야 합니다.


그 방법을 알아 보죠.



먼저 터미널에서 서버의 MySQL에 접속합니다. (여기서는 터미널에서 MySQL 클라이언트를 사용하는 것을 보이지만, Sequal Pro나 DBeaver와 같은 DB 툴을 이용하면 더 편리합니다.)


$ mysql -u root -p


아래의 쿼리들을 이용하여 워드프레스의 siteurl과 home을 변경해 줍니다.


SHOW DATABASES;


USE <kr 워드프레스 DB명>;


SELECT option_name, option_value FROM wp_options WHERE option_name="siteurl" OR option_name="home";


UPDATE wp_options SET option_value="http://<바뀐 IP 주소>/kr" WHERE option_name="siteurl";

UPDATE wp_options SET option_value="http://<바뀐 IP 주소>/kr" WHERE option_name="home";




USE <en 워드프레스 DB명>;


SELECT option_name, option_value FROM wp_options WHERE option_name="siteurl" OR option_name="home";


UPDATE wp_options SET option_value="http://<바뀐 IP 주소>/en" WHERE option_name="siteurl";

UPDATE wp_options SET option_value="http://<바뀐 IP 주소>/en" WHERE option_name="home";




위에서, wp_options 는 워드프레스 설치시 설정한 DB 테이블 Prefix를 입력해야 합니다. 예를 들어 워드프레스 설치시 DB 테이블 Prefix를 'mywp_' 라고 정했다면, mywp_options 로 바꾸면 됩니다.


바뀐 주소 입력할 때, 뒤에 kr, en 등 디렉토리명 실수하지 않도록 조심합니다.


아래는 제가 작업했던 실제 모습입니다.



이제 웹브라우저에서 다시 접속해 봅니다.


정상적으로 나옵니다.



(C) 2017 WingsNote.com (무단 복제 및 게시 금지, 링크 허용)