徒労日記のサーバは現在引越しを検討中。
そこで手元で遊んでいるIONのMini-ITXマザーを、Webサーバとして使った場合どのくらい使えるのかテストしてみようと。
[warning]この手順はテスト環境を作成するためのモノであり、外部公開に対策されたセキュアなWebサーバを構築する手順は含みません
[/warning]
1.OSを入れる
適当に手元にあったUbuntu 9.40を使ってみます。UbuntuだとUSBにインストールするのも簡単だからというだけで。DVDから起動したのち、8GBの安物USBメモリにインストール。GRUBを/dev/sdaに書くのを忘れずに。
2.パッケージのインストール
WordPressの必要条件を満たすパッケージをインストール
# sudo apt-get upgrade /* 最初にパッケージリストのアップデート */ # sudo apt-get install apache2 /* TeraTermからSSHでつなぐ用 */ # sudo apt-get install mysql-server # sudo apt-get install php5 php5-mysql php5-gd
3.DBの作成
MySQLにWordPress用のデータベースを作成。phpMyAdmin入れる前に手で入力した方が速い。
# mysql -u root -p mysql>create database wp_db character set utf8; mysql>grant all on wp_db.* to 'wp_db_user'@'localhost' identified by 'password'; mysql>flush privileges;
今使っているWordPressがある場合は”WordPress Database Backup”を使ってDBを.SQLファイルにバックアップしておく。テキストエディタ等で.SQLファイル内の自サイトURLを新URLに置換しておき、
# msql -u root wp_db < wp_wp_yyyymmdd_xxx.sql
とすることで引っ越せる。
最後にWordpressのwp-config.phpファイルに上記のDataBaseName,ID,Passowrdを記述。
4.php.iniの設定変更
設定も終わったのでhttp://xxx.xxx.xxx.xxx/wp/wp-admin/ を開いてみる。すると
お使いのサーバーの PHP では MySQL 拡張を利用できないようです。
と出る。調べてみると
/etc/php5/apache2/php.ini にて extension=mysql.so をコメントアウトする必要があるそう。
5.これで完成
これから新規でサイトを作る場合、これで問題なく表示されるでしょう。
さて自分の場合は・・・・
謎の文字化け。
MySQLで各テーブルの中身を確認しましたが、そこでは化けてない。新規でBlogを作ると日本語は全く問題ないので、移行の問題な気がする。mbstringはphpinfo()で見たら入ってるし。うーむ。
追記 2010/04/26
データベースの文字コードの以前に、MySQLが扱う文字コードを指定する必要があるらしい。
これをしないといくら入れ物がutf8でも、別の言語で書き込まれてしまうという訳か。
確認。
mysql>status; -------------- mysql Ver 14.14 Distrib 5.1.37, for debian-linux-gnu (i486) using EditLine wrapper 中略 Client characterset: latin1 Server characterset: latin1
となっているのはダメ。
/etc/mysql/my.cnfに
[client] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake
を追記し、MySQLをリスタート
再度確認して
Connection: Localhost via UNIX socket Client characterset: utf8 Server characterset: utf8
となればOK
今度こそ大丈夫!と思ってDumpファイルをDBに入れようとしたらインポートエラーが出た。どうやらちゃんと解釈し始めた代わりに、Dumpファイル中の問題を見つけてしまった模様。これは苦労しそう。