worldpressのIPやドメインを変更する。

こんにちは、masakiです。

このBlogはGoogle Cloud Platformで動かしているのですが、サーバーのIPを変更した時、wordpressやwordpressのpluginがurlやドメインを、データベース内やPHPにハードコーディングしている箇所があり、サーバーの移転がすんなり行かなかったので、その時のメモです。

前提として、[旧URL] http://xxx.xxx.xxx.xx から [新URL] https://masaki.blog にwordpress全体を変更したいと仮定して説明します。

wordpressの管理にはWP-CLIが非常に便利なのでこれを使って行きます。
WP-CPIをコマンドラインでインストールしていきます。
まずは以下のコマンドでWP-CLIをダウンロードしてきます。

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.p
har
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5377k  100 5377k    0     0  31.8M      0 --:--:-- --:--:-- --:--:-- 31.8M

PATHが通る適当なディレクトリに放り込み、実行権限を与えます。

$ sudo mv wp-cli.phar /usr/local/bin/wp
$ chmod 755 /usr/local/bin/wp

パスが通っているか確認し、通っていなければ通してください。

$ echo $PATH
$ echo '$PATH:/usr/local/bin' >> ~/.bashrc
$ wb --info
OS:     Linux xxx.xxx.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64
Shell:  /bin/bash
PHP binary:     /usr/local/php7/bin/php
PHP version:    7.3.7
php.ini used:   /etc/php7.d/php.ini
WP-CLI root dir:        phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:      phar://wp-cli.phar/vendor
WP_CLI phar path:       /home/masakiblog
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.2.0

wbコマンドで上記のように実行されていればインストールは完了です。
つぎにデータベースに繋いで、現在どのようなsiteurlになっているか確認してみます。

$ mysql -u [ユーザー名] -p [データベース名]
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: XXX-MariaDB MariaDB Server

MariaDB [ユーザー名]> select * from wp_options where option_name='siteurl';
+-----------+-------------+-----------------------+----------+
| option_id | option_name | option_value          | autoload |
+-----------+-------------+-----------------------+----------+
|         1 | siteurl     | http://xxx.xxx.xxx.xx | yes      |
+-----------+-------------+-----------------------+----------+
1 row in set (0.00 sec)

現在、http://xxx.xxx.xxx.xx というURLになっていて、これをhttps://masaki.blog に変えていきます。
まずデータベース内のURLを書き換えます。

$ cd [wordpressのdocument root]
$ wp option update home 'https://masaki.blog'
Success: Updated 'home' option.
$ wp option update siteurl 'https://masaki.blog'
Success: Updated 'siteurl' option.

上記コマンドでデータベース内のURLは変更されています。簡単です。

次に以下のコマンドでwordpressのデータベース内の他のカラムの古いURLを新しいURLに置換します。テキスト文字列だけでなくシリアライズされているデータも置換してくれます。

$ wp search-replace 'http://xxx.xxx.xxx.xx' 'https://masaki.blog'

これで完了です。新しいURLでwordpressが正常に動作していると思います。

 

スポンサーリンク