みなさん、こんにちわ。くっくるです。
はじめての記事は WordPress のリストアのお話しです。
インターネット上には WordPressのバックアップ方法 の情報が沢山あります。バックアップを簡単にするプラグインやサービスの紹介記事など 1 度は目にした事があるかと思います。けれども、意外とリストア方法の情報が少ないような気がします。そもそもとして、リストアする機会なんてそんなにないですしね。僕も WordPress を使ってブログやウェブサイトを何年か運営してきたけれど、ついこの前までリストアなんぞ 1 度もした事がなかったです。
だがしかし! いざという時はいつやってくるか分かりません。バックアップよりもちょっと面倒臭いリストアですが、前知識として持っておいて損はないと思います。少し長いので、はてブか Pocket にでも入れて時間がある時にゆっくり読んでみてください。
今回のモデルケースの説明
今回のお話しをする上でのモデルケースの説明です。
以下リストの内容を、ご自身の環境に置き換えみてください。
- WordPress のバックアッププラグイン BackWPup を使用している。
- オンラインストレージの Dropbox を保存先にしていしている。
※ Dropboxでなくても どこか wget コマンドでファイルをダウンロードできる場所でも可。
※ または、wget コマンドを使用しないで SFTP クライアントなどで手動アップロードでも可。 - ドキュメントルート ( WordPressをインストールするディレクトリ ) のパスは
/var/www/vhosts/default/
- データベース ( 以下DB ) 名は wptest_db。
- DB ユーザー情報は、ユーザー名 wptest_db_user / パスワード wptest_db_user_pw
- DB Host は localhost
Dropbox でバックアップファイルの共有リンクを発行
みなさんご存知の通り、Dropbox では任意のファイルを共有リンクを使って不特定多数とファイルを共有する事ができます。今回は Dropbox の共有リンクを一時的に発行して、バックアップファイルをサーバー上にダウンロードし展開します。
- バックアップファイルの保存先に移動。
- 共有リンクを発行したいバックアップファイル名にマウスを合わせる。
- 更新日時の右隣に数字の 8 みたいなアイコンが表示されるのでアイコンをクリック。
- ポップアップのようなものが出てくるので [ リンクを取得する ] という白いボタンをクリック。
- 共有リンクがクリップボードにコピーされました。どこかにペーストして保存しておきましょう。
WordPress をバックアップファイルからインストール
ここからはお待ちかねの黒い画面とのランデブーです。
少しの間なので、ファイト! です。
僕も黒い画面が苦手な人間なので、一緒に頑張りましょう(・∀・)
それではいってみましょう!
ファイルと DB のリストア
以下コマンドを上から順番に実行してください。
また、コマンドの内容 ( ファイルパスなど ) はご自身の環境に合わせて変更してください。
# ドキュメントルートへ移動
$ cd /var/www/vhosts/default/
# ドキュメントルートが空ではない場合、一旦空にする
# この作業は慎重に行ってください! ディレクトリパスにタイポが無いか要確認!
$ rm -rf /var/www/vhosts/default/*
# Dropbox からバックアップデータをダウンロード
# SFTP などで手動アップロードの場合はこの手順をスキップ
$ wget https://www.dropbox.com/s/xxxxxxxxxxxxxx/backwpup_2014-07-22_04-00-02.tar.gz
# ダウンロードしたバックアップデータを解凍
$ tar vxzf backwpup_2014-07-22_04-00-02.tar.gz
# 圧縮されている SQL データを解凍
# SQL データを圧縮保存していない場合はこの手順をスキップ
$ gzip -d wordpress.sql.gz
# wptest_db という DB を新規作成する例
# 作成する DB 以前使用していた DB 名がよい ( 不明時は wp-config.php を参照 )
$ create database wptest_db default character set utf8 collate utf8_general_ci;
# ユーザー名 wptest_db_user、パスワード wptest_db_user_pw という設定のユーザーを作成し wptest_db への権限を付与する例
# 作成するユーザーの情報は、以前使用していたユーザー情報の方がよい ( 不明時は wp-config.php を参照 )
$ GRANT ALL PRIVILEGES ON wptest_db.* TO wptest_db_user@localhost IDENTIFIED BY 'wptest_db_user_pw' WITH GRANT OPTION;
# SQL データを DB へインポートする
$ mysql -u wptest_db_user -p wptest_db < wordpress.sql
DB ユーザー名や DB 名が以前のものと一緒の方がよい理由は、wp-config.php を編集する手間が省けるからです。ハッキング被害にあったなど以外では、以前の DB 設定情報と一緒でよいと思います。気に食わない!という場合は以前の DB 設定情報から変えても大丈夫です。その場合、wp-config.php の編集はお忘れなきよう。
不要ファイルの削除
解凍したバックアップファイルの中には不要ファイル ( BackWPupのREADMEなど ) も含まれています。これらのファイルを削除します。 ls コマンドと rm コマンドで 1 つずつ削除、または SFTP クライアントなどで纏めて削除してください。
Dropbox の共有リンクを削除
共有リンクは口外しなければ、誰も知る由もありません。しかし、ブラウザー上でなんの認証もなしにファイルをダウンロードできるのはよろしくないと思うので、用が済んだら削除してしまいましょう。
- 右側 ( Dropbox のロゴの下 ) に [ ファイル ][ 写真 ][ 共有 ][ リンク ][ イベント ] というメニューがあるので、[ リンク ] をクリック。
- 共有リンク作成時からの経過時間の右隣に x アイコンがあるのでクリックする。
- ポップアップのようなものが出てくるので [ リンクを削除 ] という青いボタンをクリック。
- 削除完了。
その他作業
- ウェブサイトやブログの表示確認
- 各ファイル、ディレクトリのパーミッションの確認。
- Basic 認証の設定または動作確認 ( 必要であれば )。
今回は、ドメインの設定には触れていませんが、必要であれば設定してください。また、しっかりリストアされているか、管理画面やウェブサイトやブログの各ベージの動作確認は念入りに行うとよいと思います。
終わりに
いかがでしたか?
文字にするとけっこう長いですけど、慣れてしまえば 10 分 〜 15 分くらいで作業は終わると思います。この記事をもとに予行練習をしてみるのもいいかもしれませんね。サーバー環境が変わると上手くいかない事もあるので、1 つのモデルケースとしていただけたら幸いです。
また、今回は黒い画面でのファイル操作で説明しましたが、SFTP クライアントと phpMyAdmin でも流れは一緒です。
- Dropbox からバックアップファイルをローカルにダウンロード。
- ダウンロードしたバックアップファイルを解凍。
- 必要ファイルを SFTP クライアントでアプロード。
- 各ファイル、ディレクトリのパーミッションの変更。
- phpMyAdmin で SQLデータをインポート。
簡単に並べるとこのようになります。
それでは、今回はここまで! くっくるー(゚∈゚*)