記事

WordPress の手動アップグレード

更新日:

気が付いてみると、最新バージョンが6.0.3の段階で使用しているバージョンが5.5になりメジャーリリースをまたいでいる状態になっていました。

ダッシュボード内WordPress の更新設定を、

WordPress のメンテナンスリリースとセキュリティリリースのみで自動的に最新の状態に保たれます。※1

の設定のまま長期間放置していた様です。

サーバーPHPバージョンは、WordPressの両バージョンで使用可能な7.4で動いている※1.1からいいかと思いそのままにしていましたが、

面倒だなと思いつつ、ほぼ公式サイトの手順通りに手動アップグレードを行いました。

(「ほぼ」というのは、お勧めしませんが独自判断で面倒くさい手順はスキップしたということです。)

アップグレード作業の流れ

公式サイトでのアップグレードの流れにほぼ従って作業を進めました。

バックアップの取得

レンタルサーバー自動バックアップを確認

使用中のレンタルサーバーが、お名前.COMだったのでコントロールパネルから前日のバックアップが取得されていて復元可能であることを確認しました。

直前のバックアップ取得(All-in-One WP Migrationプラグイン使用)

All-in-One WP Migrationプラグインインストールし有効化。

以前All-in-One WP Migrationプラグインを使用していて、50MBを超えるバックアップ リストア作業で容量制限でひっかっかった際に購入したall-in-one-wp-migration-unlimited-extension.zip※2をアップロードインストールし有効化後、バージョン更新。

バックアップをファイルにエクスポートしました。

ドメイン名-20221020-011055-78q1v4.wpress

全てのプラグインを無効化

手順ではすべてのプラグインを無効化することになっていましたが、バックアップも取ってあるし面倒くさいのでそのまま作業することに

公式サイトでは、

  1. データベースのバックアップ
  2. サーバ上にある全ての WordPress ファイルを.htaccess ファイルを含みバックアップ。
  3. 取得したバックアップファイルの検証
  4. 全てのプラグインを無効化

の4ステップは必須で、確実に完了させるまでアップグレードしないでください。
となっていますが、
面倒くさい感情が上回りプラグインを無効化することなく先に進みました。

公式バックアップ手順に従わずに先に進む。

WordPress パッケージのダウンロードと展開

公式サイトからWordPress パッケージをダウンロードして展開する。

ダウンロード時点での最新WordPressバージョンは、6.03でしたので、

wordpress-6.0.3.zipファイルをダウンロードし展開。

展開したファイル構成は、以下の通りです。

wordpressダウンロード展開後のファイル構成。
3つのフォルダー※3】と14のPHPファイル、2つのテキストファイルがダウンロード。

サーバ上のWordPress ファイルを削除

公式サイトでの次のステップは、下記ファイル以外【※4】のサーバ上の WordPress ファイルを削除となっていましたが、手間がかかるのでスキップ。

  • wp-config.php ファイル
  • wp-content ディレクトリ
    (ただし、wp-content/cache ディレクトリと wp-content/plugins/widgets ディレクトリは削除。)
  •  wp-images
  • .htaccess ファイル
  • robots.txt ファイル

新バージョンのファイルをサーバへアップロード

FTPソフト(FFFTP)でアップロードしようとしたが、FTPアカウントを作成しておらず面倒くさいのでお名前.COMのファイルマネージャーを使うことにしました。

ファイルマネージャーでアップロードしようとすると、セキュリティーソフト(ウェブ保護機能)の影響で正常にアップロード出来ず一部ファイルがアップロードエラーとなり完了しない状況になりました。

アップロードエラー
バックエンド接続エラー
DB接続エラー

セキュリティソフトのウェブ保護機能をOFFにして、再実行してファイル転送が完了することを確認。

ログイン画面を表示しようとすると、サーバーエラーを表示してログイン画面を表示出来ず。

サーバーエラー

慌てて、FTPアカウントを作成しFTPソフトでアップロードして上書きする。

今度は、ログイン画面が正常表示しログイン完了とバージョンが6.03に更新されていることを確認しました。

参考情報

※1:管理画面での自動アップグレード設定

マイナーリリースのみ自動更新対象

メジャーリリースを含めて自動更新対象

※1.1 対応するPHPバージョン

WordPressバージョン5.5以上では、PHPバージョン7.4以上が推奨環境です。

公式サイトでは、PHP バージョン 7.4 以降が推奨されており、WordPress 6.0 は、PHP 8.0 および PHP 8.1 のベータ版をサポートしているとなっています。

その他の対応は以下の通りです。

WordPressバージョン5.0 – 5.4 の推奨PHPバージョンは7.3以上。

WordPressバージョン4.9.5 では、PHPバージョン7.2が推奨環境。

WordPressバージョン4.7-4.9.4では、PHPバージョン7以上が推奨環境。

WordPressバージョン4.0-4.6では、PHPバージョン5.6以上が推奨環境。

※2:all-in-one-wp-migration-unlimited-extension.zipの購入

ServMaskのWEBサイトよりクレジットカードまたはPAYPALで購入できます。

現在$69です。

※3:WordPressを構成する3つのフォルダー

wp-adminフォルダー

WordPressの管理画面に関連するファイル(php,htnl,css,js,png,scss)が入っているフォルダー。

手動アップグレードの場合は、上書きする。

画像クリックで拡大表示

wp-includesフォルダー

WordPress システム全般に関するファイル(php,json,xml)が入っているフォルダー。

手動アップグレードの場合は、上書きする。

画像クリックで拡大表示

wp-contentフォルダー

サイト構築に関わるファイルが入っているフォルダー。

使用中のテーマやプラグインに関連するフォルダが入っているので、手動アップグレードの場合は、上書きしません。

画像クリックで拡大表示

※4:WordPress手動更新時に残すファイル補足

wp-config.php 

:MySQL接続情報(データーベース名、ユーザー名、パスワード、ホスト名)を持つファイル。

(手動インストールでは、wp-config-sample.phpをリネームして作成する。)

<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the web site, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * Database settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://wordpress.org/support/article/editing-wp-config-php/
 *
 * @package WordPress
 */

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Database username */
define( 'DB_USER', 'username_here' );

/** Database password */
define( 'DB_PASSWORD', 'password_here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

/**#@-*/

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */



/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

解凍したファイルは、wp-config-sample.phpというファイルになっているためアップグレード時に上書きされることはない。
手動インストール時には手動で、

  • データーベース名
  • ユーザー名
  • パスワード
  • ホスト名
  • 認証用ユニークキー
    (Cookie に格納される情報を暗号化する為に使用するキーをWordPress.org 秘密鍵サービスhttps://api.wordpress.org/secret-key/1.1/saltへアクセスして取得する。
    WordPress.org 秘密鍵サービスを使用せずに設定できるが、キーは全てユニークである必要があります。)
define('AUTH_KEY',         '-A:Wr(S#.N:hF;F`,1+wm}]}7GRRK!?0LuLk+p<e)-f3Ro|J`ra&`3#DNm-h$u}N');
define('SECURE_AUTH_KEY',  'L<+M|+VD*R)`jG }cG%[/LEWa-m%8*t#`g?-Sr61j)7%+^bk iQhVoG|o.TpnDnR');
define('LOGGED_IN_KEY',    'jz4Mh0X)[dKd,&hUv+ir]}i3CBeAeH`YN< uj2PAp|g~y-G-i:BAW_&}T19+B[VC');
define('NONCE_KEY',        'thTZZ<5~59yc&Y9[u`cP2U-B@sXrRZ&=3waV%zv/}|zN^*p]%a8[b7Wkicy{fr?K');
define('AUTH_SALT',        '2k^Y?I{GB-/|FNHgiDt{,S2MY|=2yT_@u$g|$~B0WMRwZv&@nKTp>mr:[~<xf_D,');
define('SECURE_AUTH_SALT', 'Xp<ZB>U?3,-QUe9_+I|hU<[fQ|iT+dbn,+QQw&}N{-eS`}7-rHA(?8kHBBp^qWDQ');
define('LOGGED_IN_SALT',   'O>2.JKF~>KXWMwR?g`8:P>j7KM4Anw={4E/3|~=$HX2{ITrIo)b{H&%%b--~6]md');
define('NONCE_SALT',       'q`SI)}9Zz59uO(%;;-Zuej UJf1OUzs+W.Of}F4Ea9;aPfh,OYiu=+/84,J4mHH8');

を設定し、wp-config.phpにリネームする。

補足:

デバックモード

下記設定を変更することで、デバックモードをONにし、WordPress エラー時に画面にエラー内容を出力できる。

// デバックモードoff (default)
define( 'WP_DEBUG', false );

// デバックモードon
define( 'WP_DEBUG', true );

-記事

Copyright© WordPressの始め方 , 2022 All Rights Reserved.