« | Home | »

2011.08.02

Word PressのインストールとMySQL

ブログの作成にはMovabletypeを用いているが、ブログ作成ツールとして米国などでは、Word Pressが圧倒的に大きなシェアを占めている。
直ちにWord Pressに移行しようとは思っていないが、インストールして様子を見てみることにした。
Word Pressは、phpで書かれており、MySQL上のデーターベースを用いて、ダイナミックにページを送出するようになっている。すなわち、phpとMySQLが必須なのである。かつ、日本語使用では文字コードはutf-8を使うことを前提で作られている。EUCで動かそうなどとは、考えない方が良さそうだ。

1. インストール

(1) Word Pressの日本語のページより、最新版のwordpress-3.2.1-ja.zipをダウンロドして解凍し、フォールダーごとWeb発信ディレクトリーに入れる。
(2) フォルダー名をwordpressとすると、下記のようにwordpressフォルダー内のwp-config-sample.phpをwp-config.phpに名前を変え、内容を修正する。

# cd wordpress
# cp wp-config-sample.php wp-config.php
# vi wp-config.php
define('DB_NAME', 'wpdb');  ← DB名を入れる。
define('DB_USER', 'wpuser'); ← DBのユーザー名を入れる。
define('DB_PASSWORD', '******'); ← DBアクセスのパスワードを入れる。
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');

2. データーベースの作成

MovabletypeではEUCコードで運用しているため、MySQLの文字コードは下記のようにujis(EUC)になっている。

mysql> SHOW VARIABLES LIKE 'character_set_%';
+----------------------------------+--------+
| Variable_name                 | Value   |
+----------------------------------+--------+
| character_set_client          | ujis       |
| character_set_connection          | ujis       |
| character_set_database      | ujis       |
| character_set_filesystem            | binary  |
| character_set_results        | ujis       |
| character_set_server         | ujis      |
| character_set_system          | utf8     |
+----------------------------------+--------+

しかし、Word Pressでは、utf8とする必要があるので、下記のように文字コードを指定して、データーベーを作成する。

# mysql -u root -p
Enter password: パスワード
mysql> create database wpdb CHARACTER SET utf8;;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on wpdb.* to wpuser@localhost identified by 'パスワード';
Query OK, 0 rows affected (0.13 sec)
mysql> flush privileges;
mysql> exit;
Bye

これで、念のために文字コードを表示してみる。

$ mysql -u root -p
Enter password:
mysql> use wpdb;
Database changed
mysql> SHOW VARIABLES LIKE 'character_set_%';
+----------------------------+--------+
| Variable_name                   | Value  |
+----------------------------+--------+
| character_set_client          | ujis      |
| character_set_connection | ujis      |
| character_set_database    | utf8     |  ← ここがutf8になっていればOK
| character_set_filesystem   | binary  |
| character_set_results        | ujis       |
| character_set_server        | ujis       |
| character_set_system       | utf8      |
+----------------------------+--------+
7 rows in set (0.00 sec)

3. PHPに対する処置

MySQLのデーターベースの文字コードをutf8にして、Word Pressを起動すると問題なく動作するかに見えたが、記事を投稿しても記事内容が保存されない事象が発生した。
PHPもutf8で処理できるようにする必要がある。そこで、wordpressフォールダー内に.htaccessを作り下記の内容を入れたら、問題なく動作するようになった。やれやれ。

# vi .htaccess
DirectoryIndex index.html index.cgi index.php index.shtml
php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)