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を使って自作テーマ作成
- (1)全体概要
- (2)ブートストラップのサンプルを使ってindex.phpを作成
- (3)header.php、sidebar.php、footer.php、index.phpのテンプレートファイル作成
- (4)JavaScriptインクルードの設定
- (5)投稿本文表示用のテンプレートファイルを作成
- (6)単一投稿用(single.php)のテンプレートファイル作成
- (7)固定ページ用(page.php)のテンプレートファイル作成
- (8)検索結果表示用(search.php)のテンプレートファイル作成
- (9)アーカイブ表示用(archive.php)のテンプレートファイル作成
- (10)カテゴリー表示用(category.php)のテンプレートファイル作成
- (11)WordPressのメニュー画面でナビゲーションメニューを設定
- (12)サイトタイトル、キャッチフレーズを表示できるようにheader.phpを修正
- (13)カスタムヘッダー画像を使えるようにheader.phpを修正
- (14)404.phpテンプレートファイルを作成
- (15)記事タイトル部分のCSS設定
- (16)記事メタデータ部分のCSS設定
- (17)記事本文部分のCSS設定
- (18)前後のページへのリンクのCSS設定
- (19)前後の投稿へのリンクのCSS設定
- (20)コメント投稿フォーム、コメント表示部のCSS設定
- (21)ウィジェット部のCSS設定
- (22)アーカイブページのCSS設定
- (23)画面を左右にスライドさせるボタンのCSS設定
- ~Bootstrap3、自作テーマ作成、TwentyFourteen
- Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
- ~Bootstrap3のスタイルをカスタマイズ
- 簡単なショートコードを作ってみる
- ~ショートコードの作り方
- ショートコードを使って関連記事のリンクを自動で挿入
- ~ショートコードの簡単なサンプル
- ショートコードを使ってディレクトリ内のファイル名を取得し、投稿内にリンクを挿入
- ~カスタムフィールド利用、PHPで日本語文字列検索などのコーディング
- WordPress投稿内でAngularJSを使用
- ~AngularJS、Bootstrap、アコーディオン
- Bootstrap3で作成したナビゲーションメニューをAngularJSに変更
- ~AngularJS、Bootstrap、自作テーマheder.php
- WordPressでAngularJSを使ったGoogleマップを使えるようにする
- ~AngularJSを使って投稿内にGoogleマップ
WordPresssショートコード
AJAX、AngularJSなどその他応用
- Ruby on Rails(他サイト)
- ~構築、CMS、Bootstrap、AngularJS
-
WordPress設定
- WordPressリファレンス、メモ
- パーマリンク設定時のApache設定
- WordPressテーマの選定
- WordPressで画像のアップロード、サイズ調整、リンクを設定
- マルチサイト化に伴う制約、デメリット
- WordPressのwp-config.phpでテーブルプレフィックスを変更
- WordPress投稿のリビジョン管理と自動保存
- WordPressディレクトリのパーミッションをセキュアに
- WordPressの認証用ユニークキーをセキュアに
- WordPressのバージョン情報を表示しないようにする
- WordPressでGoogleの2段階認証プロセスを使用する手順
- WordPressの更新情報・要件、各バージョンの新機能
- WordPressデータベースのバックアップとリストア
- WordPress用データベースバックアップをbashスクリプトとcronで定期実行
- WordPressのバージョンアップと旧バージョンへの戻し
- WordPressの記事をサイト間でコピーする方法
- WordPressのアップデート方法の種類、注意点
- WordPressのメンテナンスモード、カスタムメンテナンスページ
- WordPressでデバッグを有効にする方法
- WordPressの投稿内でJavaScriptを使う方法
- WordPressでJavaScriptを使って折りたたみリンクメニューを作成
- 自ブログ動作確認時にGoogleアドセンスの広告を表示しない
- WordPressでAngularJSを使ったGoogleマップを使えるようにする
- WordPressの投稿にAngularJSのディレクティブを記述する方法
セキュリティ
メンテナンス
その他、応用