WordPress Twenty Seventeen
Webサーバーのアップグレード
WordPressを Duplicatorで引っ越し
Webサーバーのアップグレード
WordPressを Duplicatorで引っ越し
Webサーバーを、Raspberry Pi 3Bから 4Bにアップグレードするに当って、WordPressの引っ越しが発生。「All-in-One WP Migration」を使った引越は上手くゆかず、「Duplicator」を使って引っ越すと、問題なくすんなりと移行できた。
以下、WordPressを Duplicatorで引っ越した記録。
スポンサー リンク
目 次
1. 移行環境
1-1. サーバー環境
1-2. 「Duplicator」採用理由
2. 移行元での作業
2-1. 「Duplicator」のインストールと有効化
2-2. 移行パッケージの作成
2-3. 移行パッケージのダウンロード
2-4. 画像ファイルのダウンロード
3. 移行先での作業
3-1. WordPressのダウンロードと設置
3-2. 引っ越し元「画像ファイルとInstaller」のアップロード
3-3. WordPressへの接続確認
3-4. installer.phpでの引越
3-5. WordPressサイトの動作確認
3-6. Duplicatorの「Tools」
1. 移行環境
1-1. サーバー環境
Webサーバーを、Raspberry Pi 4 4GBにアップグレードするために、Raspbianを Stretch から Buster に変更した。
1-2. 「Duplicator」採用理由
古いバージョンに戻したり、エクスポートのやり方をあれこれ試すもうまくゆかず、止む無く「Duplicator」でやってみると、すんなりOKとなる。
「All-in-One WP Migration」での引越事例:
2. 移行元での作業
2-1. 「duplicator」のインストールと有効化
2-2. 移行パッケージの作成
「移行パッケージの作成」とは、移行のためのプログラム(installer.php)と移行用のデータをセット(=パッケージ)にして生成すること。
サイト内データのトータルサイズが「500MB」を越えており、続行不可とのこと。
対策は「data filters 」に除外ファイルを追加して、サイズを「500MB」未満にせよとの指示が表示される。
対策は「data filters 」に除外ファイルを追加して、サイズを「500MB」未満にせよとの指示が表示される。
[179MB] /wp-content/uploads/
- Add data filters to get the package size under 500MB:
- In the 'Size Checks' section above consider adding filters
- (if notice is shown).
- In Step 1 consider adding file/directory or database table filters.
- Add data filters to get the package size under 500MB:
- In the 'Size Checks' section above consider adding filters
- (if notice is shown).
- In Step 1 consider adding file/directory or database table filters.
エラーの内容は次の通りだが、調べても判らない。
Unicode and special characters such as "*?><:/\|", can be problematic on some hosts. Only consider using this filter if the package build is failing. Select files that are not important to your site or you can migrate manually.
2-3. 移行パッケージのダウンロード
データのコピーが終わると、「Installer」と「Archive(サイト内データ)」のパッケージが出来上がるので、2つ纏めてダウンロードすべく「One-Click Download」をクリックする。
2-4. 画像ファイルのダウンロード
「Duplicator」のエクスポートで除外した、画像ファイルがある「uploads」ディレクトリーを、FTPで別途ダウンロードしておく。
3. 移行先での作業
3-1. WordPressのダウンロードと設置
ダウンロードするディレクトリ「work」を作成し、権限を変更した後ディレクトリ移動し、wgetコマンドで、最新のWordPress日本語版をダウンロードして展開する。
mkdir /home/yaopi/work
sudo chmod 707 /home/yaopi/work
cd /home/yaopi/work/
wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzvf latest-ja.tar.gz
sudo chmod 707 /home/yaopi/work
cd /home/yaopi/work/
wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzvf latest-ja.tar.gz
展開すると、「work」の中に wordpress フォルダーが作成されるので、この中身をすべて、Nginxの公開ディレクトリ /home/yaopi/arakan60 の中に設置する。( wordpress の URL: 192.168.nn.nnn/arakan60 となる。)
ルートディレクトリー:/home/yaopi/arakan60
★ ルートディレクトリーに、直接 WordPress の中身を設置。
★ このために、「work」に出来た「wordpress」を一旦ダウンロード。
★ その後、「wordpress」の中身だけを「arakan60」にアップロード。
★ ルートディレクトリーに、直接 WordPress の中身を設置。
★ このために、「work」に出来た「wordpress」を一旦ダウンロード。
★ その後、「wordpress」の中身だけを「arakan60」にアップロード。
★ この後、元の「work」にある「wordpress」ファイは削除。
3-2. 引っ越し元「画像ファイルとInstaller」のアップロード
①.別途FTPでダウンロードした、画像ファイルの「uploads」をアップロードする。
②.「Duplicator」のパッケージ、「Installer」と「Archive(データ)」をWordPressのルートディレクトリーにアップロードする。
3-3. WordPressへの接続確認
ここからは、新しいサーバーを、本番環境(IPアドレスを本番のアドレス)にして立ち上げる。
WordPressの一般設定における、
「WordPress アドレス (URL) 」と「サイトアドレス (URL)」
が、本番アドレスで設定される。
「WordPress アドレス (URL) 」と「サイトアドレス (URL)」
が、本番アドレスで設定される。
WordPressを設置したURLにアクセスし、Wordpress にアクセスできるか確認する。
https://引っ越し先のドメイン名
『さあ、始めましょう!』の画面が正しく表示されればOK。次の「installer.phpでの引越」に進む。間違っても『さあ、始めましょう!』をクリックして、WordPressのインストールを行わないこと。
問題発生:WordPressが起動しない!
sudo nginx -t で調べると
2019/12/03 04:33:19 [emerg] 1422#1422: open() "/var/log/nginx/error.log" failed (2: No such file or directory)
nginx: configuration file /etc/nginx/nginx.conf test failed
sudo nginx -t で調べると
2019/12/03 04:33:19 [emerg] 1422#1422: open() "/var/log/nginx/error.log" failed (2: No such file or directory)
nginx: configuration file /etc/nginx/nginx.conf test failed
【No such file or directory】とのことなので、ディレクトリー /var/log を調べてみると、「nginx」フォルダーがない!。(何故削除されたのか、判らない。)
手動で、「nginx」フォルダーを作成し、再度「sudo nginx -t」を行うと、
手動で、「nginx」フォルダーを作成し、再度「sudo nginx -t」を行うと、
nginx: [error] invalid PID number "" in "/var/run/nginx.pid"
となるも、無視して、URLにアクセスすると、WordPressが起動した。
参考:この時の nginx.conf の内容。
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 600;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
3-4. installer.phpでの引越
データベースのセットアップ画面が出るので、上から順に「データベースのホスト名」「データベース名」「ユーザー名」「パスワード」を入力し、「Next」をクリックする。この内容は、WordPressの「wp-config.php」の内容と同じである。
※:「データベースのホスト名」に、「localhost」がディフォルトで表示されているが、「localhost」と必ず入力する。
【HTTP】通信にしたWebサーバーで稼働している「WordPress」を、バージョンアップ等で引越をする場合、この時点で「無限リダイレクトループ」に陥ることがあるので、注意が必要である。
回避方法:WordPressでの設定。(wp-config.php に追記。)
注意: FORCE_SSL_LOGIN は、Version 4.0 で廃止されたので設定不要。
次の2行を「wp-config.php」の先頭位置に追記。
注意: FORCE_SSL_LOGIN は、Version 4.0 で廃止されたので設定不要。
次の2行を「wp-config.php」の先頭位置に追記。
* @package WordPress
*/
define('FORCE_SSL_ADMIN', true);
$_SERVER['HTTPS'] = 'on';
WordPressを強制的にSSL化することで、WordPressが吐き出す絶対URLが
<script src="https://..." ></script>
となる。
参考:
以上で、WordPressの Duplicatorによる引っ越しは完了。
3-5. WordPressサイトの動作確認
WordPressサイトの各ページにアクセスして、正しく移行されているか確認してみる。
3-6. Duplicatorの「Tools」
「Duplicator」プラグインは、移行が終われば不要であるが、これらの情報が参照できる便利さもある。
参考:
以上。
(2019.12.03)
(2019.12.03)
スポンサー リンク