2011.08.03
Word Pressをインストールして使い心地を試していたら、画像をアップロードしたとき、表示画像をサムネイル、中サイズ、大サイズ、フルサイズに切り替える選択ができないことに気がついた。
調べると、php-gdのインストールが必要とわかった。php52をインストールしていたので/usr/ports/graphics/php52-gdに移動してインストールを試みたが、autoconfがどうとかというエラーとなってインストールできなかった。そこで、php52-extensionsから入れ直しを行った。
1. php52-extensionsのインストール
まず、/var/db/ports/php52-extensions/optionsを削除して、/usr/ports/lang/php52-extensionsに移動してMakefileを編集する。
# rm /var/db/ports/php52-extensions/options
# cd /usr/ports/lang/php52-extensions
# vi Makefile
WITH_CTYPE= yes
WITH_DOM= yes
WITH_FILTER= yes
WITH_GD= yes ← 追加
WITH_HASH= yes
WITH_ICONV= yes
WITH_JSON= yes
・
・
その後、
# make install clean
途中で、またGDを選択する画面が現れるので、必ず選択しておく。もちろん、MySQL、multibyteも選択する。なお、すでにphp52-extensionsがインストールされているので、最後のところでエラーとなる。そこで、make deinstallして再度Make install cleanを実行する。
# make deinstall
# make install clean
2.php-gdのインストール
php-gdの使用を可能とするphp52-extensionsがインストールできたので、php52-gdをインストールする。
# cd /usr/ports/graphics/php52-gd
# make install clean
3. Word Pressでの確認
下図のようにサイズは、指定可能となった。なお、画像のサイズの指定(中サイズ:330 x 247等)は、メニューの「設定」→「メディア」で変更できるので、自分のブログ画面の都合でサイズをプリセットしておくと便利である。
2011.08.02
ブログの作成には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"