Wordpressのアップデートメモ

2009年11月9日 23:31

 Wordpressの新バージョン(2.8.5)が出ていたので、アップデートしてみた。管理画面から「自動アップデート」なるものが実行できるらしいんだけど、謎のログイン(笑)が要求されたので、tarballからのアップデートを試みてみました。

 といっても、スクリプトを書いてほぼ一発。

#!/bin/bash
old=$1
new=$2

if [ "$2" == "" ]
then
    echo "$0 <old> <new>"
    exit
fi

cp -a $old ${old}.org
rsync -av $new/ $old/

 第1引数に旧バージョンのWordpressのディレクトリ、第2引数にダウンロードしてきたWordpressのアーカイブを展開したディレクトリを与えて実行。やってることは旧バージョンのディレクトリをバックアップしたうえで、新バージョンのファイルをそこに上書きするだけ。

 とりあえずこいつで問題無し。あ、一応念のため、実行前にはデータベース等のバックアップはしておきましょう。ちなみにうちの環境はsqliteを使っているので、ディレクトリの全コピーでバックアップ完了というお手軽作業。

WordPress導入

2009年10月22日 02:31

 ブログシステムをpyblosxom+自前のバックエンドから、WordPressに変更してみた。WordPressはデフォルトではMySQLをデータベースとして使うけど、今回はプラグインを入れてsqliteを使う構成でセットアップ。

 sqliteを入れたのは、ファイルのコピーだけでなにも考えずにバックアップができるというのと、パフォーマンス的に有利なんじゃないかなー、という理由。テキストデータしか入れる気はないので、データベースサイズはせいぜい数MBだし、ファイルキャッシュが効けば結構速くなるんじゃないの? とか考えてるんだけど、実際どうなってるかはちゃんと測ってないので不明。

 ちなみに、WordPressをsqliteを使うプラグインはこれ(PDO (SQLite) For Wordpress)。基本的には付属ドキュメント通りにセットアップすればOK(WordPressのwp-contentディレクトリ以下に配布ファイルをコピー→wp-config.phpファイルに「define(‘DB_TYPE’, ’sqlite’);」を追加)。Web上の情報では、ソースをいじったりする必要があるという話が書いてあるものもあったけど、自分が試したバージョン(WordPress 2.8.4+PDO For Wordpress 2.6.1)では設定ファイル以外のソースの変更は不要だった。

 ただ、suexecを使っていない環境ではもちろんデータベースディレクトリおよびデータベースファイルを作成できるようにパーミッションを変更しておく必要がある。データベースファイルはwp-contentディレクトリ以下に「database」というディレクトリが作成され、その中に作成されるので、一時的にwp-content内にWebサーバーを動かしているユーザー権限でディレクトリを作成できるように設定しておく必要あり。

pyblosxomの記事のインポート

 でもって、過去のpyblosxomの記事のインポートなんだけど、直接はインポートできないので、過去の記事からインポート用のファイルを作成する必要がある。WordPressの「Importing Content」ページでは変換用スクリプトを用意してインポートする方法を紹介するページが紹介されているんだが、このスクリプトは日本語環境だと微妙な気がしたので、これを参考にPythonで書き直してみた。

 ただしこの変換スクリプト、カテゴリと記事コンテンツ、投稿日はインポートできるのだがタグとエントリのURL情報は無視してくれるのが困りどころ。おかげで過去記事のリンクが切れる……。カテゴリについては、.htaccessに次の1行を追加すれば解決なのだが、リンク切れはさぁどうしようかねぇ。

RewriteEngine On
RewriteBase /
RewriteRule ^(apple|bluegriffon|develop|fsm|handbrake|s|slashdot|twitter) category/$1 [R=301,L]

# BEGIN WordPress
 :
 :