サーバー機入れ替えのため、同じドメインで別サーバーに引っ越したときのメモ。
アップデート
の記事
-
-
WordPress 3.2 がリリース
TORIYAMA Yuko
週末にWordPress 3.2 の日本語版がリリースされてた。今回はメジャーアップデートということで、コードネームはGershwin!目立った変更点はダッシュボードのデザインだ。サイドメニューが立体的になり主張しすぎている。ネットワークのメニューがどこにあるのかわからなかった。ログアウトもよく使うから、ドロップダウンになってるのは面倒かな。このへんは慣れであろう。
まずはダッシュボードにアクセスすると、「お使いのブラウザは古すぎます!」というメッセージが大きく表示されて驚いた。某アドオンが捨てられなくてFireFox 3系を使っているためだ。そんなに古すぎるだろうか?「お使いのブラウザは古いかも?」ぐらいに和らげてほしいよ。それより新テーマが追加されるという事前情報が気になっていたので、さっそく使ってみた。新テーマのTwenty Eleven はHTML5 + CSS3で作成されている。ページ遷移するたびにヘッダー画像が切り替わるのは、[外観]メニューの[ヘッダー]設定でオンオフ可能になっている。さらに[外観]メニューに[テーマ設定]という項目が追加されている。ここでは全体的に白背景か黒背景かを選択できる「色の設定」と、「リンク色の設定」「デフォルトのレイアウト」の設定がある。「デフォルトのレイアウト」とはサイドメニューの位置を左か、右か、無しかを選択できる。
業務用テーマを作成する場合にはこのようなカスタマイズは無用に思えるものの、配布テーマとなるとコードを触らずとも設定できる項目が重要になってくる。自由度が増すぶん公式テーマの審査基準も上がるんだろうなぁ。
構成ファイルを見るとloop.phpはなくなってて、かわりにcontent-XXX.phpのようなフィアル名がたくさんある。投稿フォーマットに関係があるのか?Twenty Eleven のすみからすみまで観察して勉強しなければ! -
blogというサブディレクトリ名は禁止
TORIYAMA Yuko
以前はルート直下の”blog”というディレクトリにWordPressをインストールして運営していた当ブログである。WordPressのバージョンアップに伴い、マルチサイトのサブディレクトリとしてブログを構築することにした。
ルートディレクトリにWordPressをインストールし、ネットワーク管理者の[新規サイトを追加]を行ったところ、エラーで作成できなかった。
以下の語句は WordPress の機能によって予約されており、ブログ名として使うことはできません: page, comments, blog, files, feed
とのことで、”blog”というブログ名はダメらしい。
そういわれても、これまで”blog”だったのだからURLは変えたくない。CMSとして複数サイトを運営できるシステムであるなら、そのなかに”blog”という名前のブログを作成するのは自然な要求ではないのか。そうこうしているうちに、ネットワーク管理者の設定に[登録の設定]-[禁止名]の項目を見つけた。そこに、www web root admin main invite administrator files blog
と設定されているので、おぉここか!?と思って”blog”を削除した。が、新規サイトを作成しようとしても同じエラーである。”blog”はどうしてもダメらしい。設定項目の値と、エラー内容が異なるではないか、この設定はなんなのか?
仕方なく本ブログは別のサブディレクトリ名で作成し、.htaccessにリダイレクトの設定をした。
-
WordPressを3.1.2にアップデート
TORIYAMA Yuko
ちょうど連休直前にWordPress3.1.2の日本語版がリリースされたので、よいタイミングだった。もともとはルート直下の複数ディレクトリにそれぞれWordPressをインストールしてサイトを運営していた。今回はルートディレクトリに最新版WordPressをインストールし、サブディレクトリ型マルチサイトを構築すればよいと検討をつけた。インストールしたい階層が以前と異なるため、備え付けのアップデート機能は使わず自力で行う。
-
旧サイトのデータベースをバックアップ
- phpMyAdminでmySQLのテーブルをエクスポートする。
対象テーブルは、WP_USERS、WP_USERMETA、WP_OPTION以外のすべて
オプションは、- エクスポートでSQL形式
- オプションの構造で、
- DROP TABLE / DROP VIEWを追加
- AUTO_INCREMENT 値を追加する
- テーブル名やフィールド名を逆クォートで囲む
- オプションのデータで、
- 完全な INSERT 文を作成する
- 長い INSERT 文を作成する
- 作成するクエリの最大長 50000
- BLOBに16進数表記を利用する
- エクスポート形式 INSERT
- ファイルに保存する
- エンコーディングnon
もし投稿履歴があれば事前に削除しておくと、バックアップデータが小さくなる。
DELETE FROM wp_posts WHERE post_type=’revision’ - 添付ファイルをダウンロード
/wp-content/uploads/以下すべてのファイルをFTPでダウンロードする。
- phpMyAdminでmySQLのテーブルをエクスポートする。
- 旧サイトを削除
サブディレクトリ型マルチサイトを作成する場合、同じディレクトリ名が物理的に存在してはならない。削除は怖いのでリネームしておく。 -
WordPress3.1.2のインストール
同じデータベース内に旧テーブル(例:WP_)を残しつつ、別の接頭辞(例:WW_)を指定してインストール。マルチサイト化しておく。 - データベースの移行
旧ブログの記事を、新サイトの2つめのブログの記事として流し込む。- さきほどエクスポートしたSQLファイル内を書き換える
- テーブル接頭辞のWP_をWW_2_に置換する。
- 画像のパスを書き換える。
/wp-content/uploads/ を、/files/ に置換すればよい。
- phpMyAdminでSQLファイルをインポート
- さきほどエクスポートしたSQLファイル内を書き換える
-
添付ファイルをアップロード
アップロード先は、/wp-content/blogs.dir/2/files/
例えば、
http://example.com/example/files/2011/05/01/example.jpg
というURLの画像ファイルがあった場合、
ディレクトリ上では以下に配置すればよい。
↓↓↓
/wp-content/blogs.dir/2/files/2011/05/01/example.jpg - テーマやプラグインを設定
WordPressの関数で変更、非推奨になった箇所があるため、自作のテーマやプラグインでエラーや警告が発生した。修正に半日を費やす。
以前はできていたことができなくなった仕様もある。例えば、- URLにパラメータを持たせて処理していたページ、例えばパーマリンク?param=valueの場合valueに全角文字が使えなくなった。
- 複数のカテゴリを持つ記事のパーマリンクが一意になった
このように、以前なんとなくできていたことが明示的にできなくなっている。システム的な矛盾をなくすためと理解するものの、パーマリンクを変更せざるを得ないページも発生した。
-
旧サイトのデータベースをバックアップ
-
MySQLを5.1にアップデート
TORIYAMA Yuko
面倒でほったらかしになっていたサーバまわりのアップデートを、連休中に行った。WordPress3.0がリリースされてからほぼ1年になるので、かなりサボっていたことになる。業務ではもちろん3.0以上を使用していながらも、当ブログは2.8のままだった。というのも、WordPressをバージョンアップするには、さくらインターネットでMySQLのバージョンを4から5に上げねばならなかったからだ。MySQLはMovableTypeと併用していることもあり、手を付けるのに勇気を要した。連休の目標はMySQLとWordPressを最新版にすることと決めた。
さくらインターネットでのMySQLのバージョンアップは以下のとおりだ。データが少ないためかなんのトラブルもなく、30分もかからずに終わった。
- phpMyAdminですべてのテーブルをエクスポートする。複数サイトを運営しているので、サイトごとに分けてエクスポートした。文字コード(UTF-8)に気をつけながら、念のためSQL形式のほかWordPress形式やMT形式でもバックアップを取っておく。
- phpMyAdminからいったんログアウトし、さくらのコントロールパネルでデータベースを削除する。やり直しがきかない作業なので、バックアップ内容の確認に念を入れてから行う。
- 新しいphpMyAdminにログインし、データベースをMySQL5.1で新規作成する。ここでデータベースのサーバ名とパスワードが変更された。
- データベースの照合順序をutf8_generalciに設定し、SQLファイルをインポートする。
- wp-config.phpやmt-config.cgiでデータベースのサーバ名とパスワードを修正
- ブログの表示を確認して完了
-
シングルサイトをマルチサイトに引っ越す
いままでシングルサイトとして運営していたデータをWordPress3.0のマルチサイトとして移行するには、phpMyAdminでインポート作業を行う。
MySQLのテーブル接頭辞が以下のようになっているとして、・移行元:wp_
・移行先(2つめのブログ):wp_2_移行元のwp_というテーブルが、移行先の2つめのブログとなるwp_2_というテーブルに上書きされるようにする。インポートするのはwp_options、wp_users以外のテーブル全部、と思っておけばよい(この2つは絶対に移してはいけない)。そうすれば投稿やカテゴリ、コメントなどのほかContact Form 7といったプラグインのテーブルも移行される。
さらに投稿者の再設定を行う。投稿者はwp-postsにユーザIDが入っているため、新しい環境のユーザIDに書き換える必要がある。phpMyAdminでクエリを発行して書き換える。
-
WordPress 3.0 がリリース
TORIYAMA Yuko
WordPress 3.0の日本語版がリリースされた。
大きな変化は複数サイトを管理できることだろう。さっそく試してみた。複数サイトにするには、wp-config.phpに、
[sourcecode language=’php’]
define(‘WP_ALLOW_MULTISITE’, true);
[/sourcecode]
の1文を加える。すると[ツール]-[ネットワーク]メニューに手順が示されるので、それに従ってwp-config.phpや.htaccessを修正する。ログインしなおすと、特権管理者としてサイトを追加することができる。サイトを追加すると、WP_と同じDB内にWP_2_という接頭辞のテーブルがもうワンセットできていた。
参考:ネットワークの作成 – WordPress Codex 日本語版
新しいデフォルトのテーマは、HTML5対応の「Twenty Ten」だ。新機能がもりこまれたたテーマとのこと、すこしづつ眺めていきたい。
うまく使えるかな?いろいろ楽しみ! -
自動アップデート
TORIYAMA Yuko
新しいバージョンがリリースされると、ダッシュボードに「WordPress *.* が利用可能です ! アップデートしてください。」というメッセージが表示される。
v2.8がリリースされた際には、自動アップデートに不具合があるとの情報があらかじめ出回っていたため、ファイルを手動でFTPでアップせざるを得なかった。今回2.8.4にアップデートする際に初めて、自動アップデートを行った。
「WordPress 2.8.4 が利用可能です ! アップデートしてください。」のリンクをクリックすると、ウィザード形式で作業が始まり、FTP情報をきかれたところで、アカウントとパスワードを入力する。あとは自動的にファイルが更新され、アップデートが完了する。次回、ログインのタイミングでデータベースのアップデートが行われる。
なんと手軽!今回はマイナーバージョンアップのため、見た目には違いがわからない。
