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
'WordPress' 카테고리의 다른 글
WordPress Plugin 설치시 Could not create directory라는 에러에 대한 손쉬운 해법 (0) | 2018.05.18 |
---|