WordPress로 홈페지를 구축했다가 구축당시의 IP가 변경될 경우 해당 WordPress 홈페이지는 웹브라우저에서 열리지를 않는다.

이때에는 WordPress의 환경 설정 값을 새로 바뀐 IP로 변경해 주어야 한다.

다음과 같은 환경이라고 가정해 보자.


ㆍ 노트북 PC Windows 10에 VirtualBox로 Ubuntu 16.04를 설치하고 여기에 WordPress로 홈페이지를 만듦


ㆍ VirtualBox의 Ubuntu에 있는 WordPress 접속 IP가 다음과 같다.

   http://192.168.0.10/wordpress


ㆍ노트북 PC를 다른 장소로 옮김으로 인해 VirtualBox의 Ubuntu IP가 다음과 같이 변경되었다.

   192.168.89.105

   이때 http://192.168.89.105/wordpress로 접속하면 해당 홈페이지가 열리지 않는다.


이 문제의 해법은 몇 가지가 있는데


(1) wp-config.php 설정 값 조정을 통해

WordPress가 설치된 경로에서 wp-config.php 파일을 열어 다음의 내용을 변경해준다. 만일 다음 내용이 없으면 해당 파일의 적당한 곳에 다음 내용을 추가해 준다.


    define('WP_HOME', 'http://192.168.89.105/wordpress');

    define('WP_SITEURL', 'http://192.168.89.105/wordpress');


(2) WordPress에서 사용하는 Database 설정 값 조정을 통해

WordPress가 사용하는 Database(여기서는 MariaDB)에 접속해서 관련 정보의 변경을 통해서 문제를 해결할수 있다.

여기서는 WordPress 홈페이지가 사용하는 Database 명이 mywp2라고 가정한다.


root@....# mysql -uroot -p

Enter password: 

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 55

Server version: 10.0.34-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.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)]> use mywp2

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


WordPress 홈페이지가 사용하는 데이터베이스 mywp2에서 변경작업을 해야 할 table은 wp_options 테이블이다. 이 테이블의 구조를 보면 다음과 같다.


MariaDB [mywp2]> desc wp_options;

+--------------+---------------------+------+-----+---------+----------------+

| Field        | Type                | Null | Key | Default | Extra          |

+--------------+---------------------+------+-----+---------+----------------+

| option_id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |

| option_name  | varchar(191)        | NO   | UNI |         |                |

| option_value | longtext            | NO   |     | NULL    |                |

| autoload     | varchar(20)         | NO   |     | yes     |                |

+--------------+---------------------+------+-----+---------+----------------+

4 rows in set (0.00 sec)


이 테이블에서 option_name 필드의 값이 home인 레코드와 option_name 필드의 값이 siteurl을 값으로 갖는 레코드가 있는데 그 2 레코드의 option_value의 값을 새로 바뀐 IP주소로 변경해 주어야 한다.

즉 wp_options라는 테이블에서 option_name필드의 값이 home인 레코드와 siteurl인 레코드의 option_value 필드에 해당 홈페지의 IP 주소 값이 설정되어 있다.

이 2 레코드의 값을 새로 변경된 IP 주소로 update해 주면 된다.  먼저 현재 어떤 값이 들어 있는지 확인해 본다.


MariaDB [mywp2]> select * from wp_options where option_name='home';

+-----------+-------------+--------------------------------+----------+

| option_id | option_name | option_value                   | autoload |

+-----------+-------------+--------------------------------+----------+

|         2 | home        | http://192.168.0.10/wordpress | yes      |

+-----------+-------------+--------------------------------+----------+

1 row in set (0.00 sec)


MariaDB [mywp2]> select * from wp_options where option_name='siteurl';

+-----------+-------------+--------------------------------+----------+

| option_id | option_name | option_value                   | autoload |

+-----------+-------------+--------------------------------+----------+

|         1 | siteurl     | http://192.168.0.10/wordpress | yes      |

+-----------+-------------+--------------------------------+----------+

1 row in set (0.00 sec)


위와 같은 값을 가지고 있을 것이고 저 IP는 변경되기 이전의 IP 주소가 될 것이다.

저 두 값을 새롭게 변경된 IP로 update해 주는 것이다.

참고로 위에서 2개의 SQL 쿼리로 해당 정보를 확인했는 아래와 같이해도 동일한 결과가 나온다.


MariaDB [mywp2]> select * from wp_options where option_name in ('siteurl', 'home');

+-----------+-------------+--------------------------------+----------+

| option_id | option_name | option_value                   | autoload |

+-----------+-------------+--------------------------------+----------+

|         2 | home        | http://192.168.0.10/wordpress | yes      |

|         1 | siteurl     | http://192.168.0.10/wordpress | yes      |

+-----------+-------------+--------------------------------+----------+

2 rows in set (0.00 sec)


이제 새롭게 바뀐 IP로 변경해 주도록 하자.


MariaDB [mywp2]> update wp_options set option_value='http://192.168.89.105/wordpress' where option_name='home';

Query OK, 0 rows affected (0.00 sec)

Rows matched: 1  Changed: 0  Warnings: 0


MariaDB [mywp2]> update wp_options set option_value='http://192.168.89.105/wordpress' where option_name='siteurl';

Query OK, 0 rows affected (0.00 sec)

Rows matched: 1  Changed: 0  Warnings: 0


WordPress 홈페이지의 IP 주소가 정상적으로 변경되었는지 확인해 보도록 하자.


MariaDB [mywp2]> select * from wp_options where option_name in('siteurl', 'home');

+-----------+-------------+--------------------------------+----------+

| option_id | option_name | option_value                   | autoload |

+-----------+-------------+--------------------------------+----------+

|         2 | home        | http://192.168.89.105/wordpress | yes      |

|         1 | siteurl     | http://192.168.89.105/wordpress | yes      |

+-----------+-------------+--------------------------------+----------+

2 rows in set (0.00 sec)


이후부터는 변경 된 IP 주소로 WordPress 홈페이지가 정상적으로 잘 접속이 될 것이다. 아래와 같이 변경된 IP로 WordPress 홈페이지에 접속해 본다.


http://192.168.89.105/wordpress 



+ Recent posts