2011年1月21日金曜日

WordPress + SQLite

WordPressのチューニングに関する続きです。
前回の投稿でlighttpd(Webサーバ)とPHPは動くようになったかと思います。
今回はこの構成に、データベースを追加し、WordPressを
いよいよ動くようにするお話です。

WordPressは通常データベースにはMySQLを使います。
しかし再三述べているように、MySQLは非常に重いです。
今回は軽いデータベースとしてSQLite
を使用します。
重要な点なのですが、SQLiteはデータベース"サーバ"ではありません。
MySQL等のデータベースサーバは常に常駐(Daemonize)し、何もしてない間も
メモリを消費し続けたままですが、SQLiteは
必要なときに呼び出されるだけで、普段は全くリソースを消費しません。
この点は非常に大きいです。さらに動作時の負荷もかなり軽いので、パフォーマンスチューニングには
もってこいというわけですね。

WordPressのデータベースにSQLiteを使用する際はこのプラグインを使用します。

ただし残念ながらこのプラグインは更新が遅れており、
現在はWordPress v 2.9.2 までしか対応しておりません。

試行錯誤してなんとか最新版を使おうとしてみたのですが
どうしても上手くいきませんでした。
どなたが上手くいった方いらっしゃいましたらコメント下さい・・・。
その為現在アップデート通知を無視して、 v2.9.2 の古いバージョンで運用しております。

早速導入手順です。
apt-get -y install php5-sqlite

まずphp5からSQLiteを扱えるようにphp5-sqlite
パッケージをインストールします。
次にWordPress本体をインストールします。
上記で述べた通り、WordPressは古いバージョンを落とす必要があります。
WordPress公式サイト過去のバージョンリンクをクリックし、
v 2.9.2のtar.gz形式のファイルのURLを確認し、ダウンロードします。
cd /usr/local/src/
wget -c http://ja.wordpress.org/wordpress-2.9.2-ja.tar.gz

ダウンロードしたWordPressを展開し、DocumentRootへ配置します。
tar -zxvf wordpress-2.9.2-ja.tar.gz
mv -v ./wordpress /var/www/blog

wordpressディレクトリを /var/www/ へ
配置しましたが、この際わざとディレクトリ名を blog に変更しています。
blog に変更することで、ブログのURLが
http://ドメイン名/blog/
となっていい感じになるからです。

次いってみましょう。
cd /usr/local/src/
wget -c http://downloads.wordpress.org/plugin/pdo-for-wordpress.2.7.0.zip
unzip pdo-for-wordpress.2.7.0.zip
cd pdo-for-wordpress/
mv -v * /var/www/blog/wp-content/
cd /var/www/blog/wp-content/
rm -f readme.txt


WordPressのwp-content/ ディレクトリの中に
pdo-for-wordpress/ ディレクトリ内のファイルとディレクトリを全て配置
し、不要なreadme.txt を削除しています。
注意しなければならない点としては、
pdo-for-wordpress/ ディレクトリ内の pdo/ ディレクトリ丸ごとと
db.php が wp-content/ ディレクトリ直下に存在しているという点です。

cd /var/www/
chown -R www-data:www-data ./blog
cp -vp wp-config-sample.php wp-config.php

DocumentRootへ移動し、WordPressのディレクトリやファイル全ての所有者とグループを www-data に設定します。
www-data はDebianのWebサーバを動かすシステムユーザ及びグループです。

次にwp-config.php ファイルを修正します。
修正した箇所は以下です。
diff -u wp-config-sample.php wp-config.php

--- wp-config-sample.php        2010-02-16 23:09:11.000000000 +0900
+++ wp-config.php       2010-12-30 17:19:08.000000000 +0900
@@ -37,6 +37,8 @@

/** データベースの照合順序 (ほとんどの場合変更する必要はありません。) */
define('DB_COLLATE', '');
+
+define('DB_TYPE', 'sqlite');   // mysql or sqlite

/**#@+
* 認証用ユニークキー


define('DB_COLLATE', '');

の行の下に
define('DB_TYPE', 'sqlite');

を追記するだけですね。
// mysql or sqlite

はただのコメントになります。あってもなくても動作は変わりません。

ここまで設定したら、一度lighttpdを再起動して
/etc/init.d/lighttpd restart

WordPressセットアップURLへアクセスします。
http://サーバのドメイン名/blog/

Webブラウザで簡単にセットアップが実行できます。
セットアップ実行後はadminアカウントで自動生成されたパスワードでログインします。
自動生成されたパスワードは覚えにくいので、後で設定画面から変更する事が可能です。

ちょっと長くなりましたが、とりあえずWordPressセットアップまで~

以上。

0 件のコメント:

コメントを投稿