WordPressのバージョンアップと旧バージョンへの戻し

WordPressのバージョンアップは、機能的には必要なかったとしてもセキュリティ上のバグ等も考慮すると適宜、最新バージョンに更新する必要がります。

ただ、バージョンアップ後に一部の機能が正常に動作しなくなる恐れもあるので、バージョンアップ前にバックアップを取得します。
 
この記事では、いざ問題が発生した際にスムースに作業を行えるように、バージョンアップ手順と旧バージョンに戻す方法について、実際に確認した結果をまとめています。
 
以下、WordPressバージョン3.5から3.6.1へのバージョンアップ、3.6.1から3.5への戻し、について確認しました。
 

1)バックアップ前の状態


 
①WordPessバージョン3.5
 
②テーマバージョン
Twenty Tenのバージョン1.5
Twenty Elevenのバージョン1.5
Twenty Twelveのバージョン1.1
 
③保存済み投稿
投稿タイトル:バックアップ前バージョン3.5
 

2)バックアップ


 
①データベースバックアップ
 

$ mysqldump --add-drop-table -h localhost -u wptest -p wptest | bzip2 -c > 20131008_wptest_db.bz2
Enter password:
$ ls
20131008_wptest_db.bz2

 
②WordPressディレクトリバックアップ
 
ディレクトリ、ファイルの所有者、権限を変えずにバックアップします。
 
ファイルの所有グループは”apache”ですが、作業に使用しているユーザーアカウントは”apache”グループには所属していないので、sudoコマンドを使っています。
※sudoの設定については以下の記事参照。
「sudoで特定のコマンドのみをroot権限で実行する」
 

$ sudo cp -Rp /var/www/html/wptest/ .

 

3)バックアップ後に投稿追加、テーマアップデート、WordPressバージョンアップ


 
①投稿の追加
投稿タイトル:バックアップ後投稿
 
②テーマ更新
Twenty Tenのバージョン1.5→1.6
Twenty Elevenのバージョン1.5→1.6
Twenty Twelveのバージョン1.1→1.2
 
③WordPress自動アップデート
 3.5→3.6.1
 
管理画面の左サイドメニューで”更新”をクリック。
“いますぐ更新”ボタン押下
 
下記メッセージが表示

WordPress を更新
http://ja.wordpress.org/wordpress-3.6.1-ja.zip から更新をダウンロードしています…

更新を展開しています…
展開したファイルをチェックしています…

最新のバージョンをインストールしています…

成功すると画面が変わり”WordPress 3.6.1 へようこそ”が表示されます。
 

4)WordPress3.5に戻す


 
①バックアップ済みのWordPressディレクトリに置き換える
 

$ rm -rf /var/www/html/wptest
$ sudo cp -Rp wptest /var/www/html/wptest

 
②バックアップ済みのデータベースをリストアする
 

$ bzip2 -d 20131008_wptest_db.bz2
$ ls
wptest
20131008_wptest_db

$ mysql -h localhost -u wptest -p wptest < 20131008_wptest_db
Enter password:

 

5)管理画面にログインし、戻しの確認


 
①WordPressバージョン
 バージョンが3.5かどうかは管理画面からは分かりませんでしたが、3.6.1への更新のリンクボタンは表示されています。
 
WordPressディレクトリ内の/wp-includes/version.phpを見るとバージョン3.5になっています。
 
②テーマのバージョン
 
Twenty Tenのバージョン1.5
Twenty Elevenのバージョン1.5
Twenty Twelveのバージョン1.1
 
バックアップ時のバージョンに戻っています。
 
③投稿
 
バックアップ後の投稿はなくなっていて、バックアップ時の状態に戻っています。

関連記事の目次
VPSサーバーでスナップショットを取得
~障害に備え、リカバリーポイントを作成。
VPSサーバーにログインして、設定内容を確認
~グローバルIPアドレス確認、SSHキーを作成。
VPSサーバーにSSHでログイン
~Tera Term、SSH、公開鍵認証方式
yumコマンドで最新のパッケージにアップデート
~全パッケージを最新にアップデート
Apacheのインストール
~yumコマンドでApacheインストール、iptablesでファイアウォールの設定
PHPとMySQLをインストール
~yumコマンドでPHP、MySQLインストール
WinSCPを使ってWordPressをアップロード
~WinSCPをクライアントPCにインストール、ファイルアップロード方法
WordPressをインストール
~MySQLでWordPress用データベース作成、wp-config.phpファイルの設定
CentOSのファイアウォール設定
~iptablesを使ってネットワークフィルタリング設定を一から行う
OpenSSHの設定をよりセキュアに
~ログイン制限、ポート変更、認証方式
ApacheでTCPのTraceメソッドを無効にする
~Apacheの設定変更、Telnetで動作確認
ヘッダーにApacheバージョンが表示されないようにする
~Apacheの設定変更、Telnetで動作確認
Apacheでディレクトリ内一覧表示を無効にする
~autoindex_moduleのロードを無効にする
セキュリティを考慮し、MySQLの匿名ユーザーにパスワードを設定、または削除
~MySQLの匿名ユーザーにパスワードを設定、または削除
PHPのバージョンが表示されないようにする
~php.iniの設定変更
WordPressディレクトリのパーミッションをセキュアに
~WordPress用ディレクトリの所有グループ、ユーザー、パーミッション設定
パーマリンク設定時のApache設定
~WordPressパーマリンクの設定、Apache .htaccessの設定
WordPressテーマの選定
~テーマ追加の特徴フィルターの項目、テンプレートキング
WordPressで画像のアップロード、サイズ調整、リンクを設定
~アップロード画像の画像サイズ、サムネイル、画像編集、リンク設定
更新可能なRPMパッケージのリストをメールで送信する
~yumコマンド、Bashスクリプト、Cron
Linuxでディスク使用量が多いディレクトリを調べる方法(1)
~du --max-depth
Linuxでディスク使用量が多いディレクトリを調べる方法(2)
~duコマンド、sortコマンド
WordPressデータベースのバックアップとリストア
~コマンドラインでバックアップ、リストア
WordPressのバージョンアップと旧バージョンへの戻し
~データベースとディレクトリのバックアップ、リストア
BashスクリプトでWordPressデータベースを自動バックアップ
~MySQLデータベースをBash、Cronを使って自動バックアップ、メール通知
BashスクリプトでDos攻撃など大量アクセスのログを検知
~Apacheアクセスログ、Dos、Cron、メール通知
テーマ作成
 
ブートストラップ3を使って自作テーマ作成
~Bootstrap3、自作テーマ作成、TwentyFourteen
Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
~Bootstrap3のスタイルをカスタマイズ
 
WordPresssショートコード
 
簡単なショートコードを作ってみる
~ショートコードの作り方
ショートコードを使って関連記事のリンクを自動で挿入
~ショートコードの簡単なサンプル
ショートコードを使ってディレクトリ内のファイル名を取得し、投稿内にリンクを挿入
~カスタムフィールド利用、PHPで日本語文字列検索などのコーディング
 
AJAX、AngularJSなどその他応用
 
WordPress投稿内でAngularJSを使用
~AngularJS、Bootstrap、アコーディオン
Bootstrap3で作成したナビゲーションメニューをAngularJSに変更
~AngularJS、Bootstrap、自作テーマheder.php
WordPressでAngularJSを使ったGoogleマップを使えるようにする
~AngularJSを使って投稿内にGoogleマップ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください