WordPress をローカル環境にインストールする

WordPress をローカル環境にインストールしたが、なかなか動作しなかった。
実行環境は次の通り。
WindowsXP SP3
Apache 2.0.55
PHP Version 5.3.5
MySQL 5.0.7
WordPress-3.0.5

最終的に以下のことをして、動作するようになった。

  • PHP をバージョン 5.0.5 から 5.3.5に変更。
  • WordPress ルートディレクトリーに以下の内容を記載した「.htaccess」を設置。
    php_value mbstring.internal_encoding “UTF-8”
  • Apache のバージョンを 2.0.55 から 2.2.17 に変更。

■次の手順で、インストールした。

■ MySQL の設定

  • データベースを作成
    create database [データベース名];
  • グローバルレベルの権限を供与する。
    grant all privileges on データベース名.* to ‘ユーザー名’@’localhost’ identified by ‘ルートパスワード’;

■ PHP 5.0.5 は何かと不具合があるらしいので削除して 5.3.5 をインストール。
インストールに関してはこちら。 → http://antonsan.net/2011/0317224246

■ MySQL の準備ができたので WordPress インストール、設定、プラグインのインストールを行った。
WordPress インストール → http://antonsan.net/2011/0306201348
WordPress インストール後の設定 → http://antonsan.net/2011/0306210948
WordPress プラグインインストール
Akismet スパム対策 → http://antonsan.net/2011/0306212730
コメントの画像認証 – SI CAPTCHA Anti-Spam → http://antonsan.net/2011/0306214713
Faster Image Insert – 複数ファイルを一括投稿 → http://antonsan.net/2011/0306215344
Lightbox 2 – サムネイル画像の拡大表示 → http://antonsan.net/2011/0306220442
携帯閲覧に対応させる – Ktai Style → http://antonsan.net/2011/0306222842

■ トラブル

トラブルその1
新規投稿ができない、下書きとして保存もできない。
ただし、画像のアップロードはできる。
web サーバー上では何のトラブルもなかったのに・・・。
投稿時、web とローカル環境を比較して気づいたことは・・・。

WordPress webサーバー上の新規投稿画面 WordPress ローカルサーバー上の新規投稿画面

投稿タイトルを入力して本文にフォーカスを移動すると、パーマリンクが表示されるのにローカルでは表示されない。

本文を入力しても、単語数が増えない。
本文入力右下部の「○○:○○:○○ pm に下書きを保存しました。」という部分が、ボーダー赤色、背景色ピンク色の四角い枠になっている。

ここで、MySQL との連携がうまくいっていないのではないか、と気づく。
いろいろ調査して、文字コードが怪しいと言うことで php.ini を以下のように書き換えてみる。
mbstring.internal_encoding = EUC-JP

mbstring.internal_encoding = UTF-8

動いた。
しかし、これでは今まで EUC-JP で作ったページが化けてしまう。

そこで WordPress ルートディレクトリーに「.htaccess」を設置。
php_value mbstring.internal_encoding "UTF-8"

「.htaccess」に関しては以下のページを参考にさせて頂いた。

メイビンラボ ある技術者の備忘録
Apache+PHP環境における文字コードの自動変換
http://www.meibinlab.jp/nishijima/archives/49

Web Techniques Pro – ウェブテク プロ
.htaccess ファイルの役割と作成方法
http://webtech.akijapan.com/htaccess/htaccess.phtml

トラブルその2
パーマリンクをデフォルトにしないと動作しない、デフォルト以外は全部だめ。
「ページが見つかりません。」と言うエラーが発生する。

この時は、Apache 2.0.55 を使用しており、「httpd.conf」を以下のように変更したりして試す。

  • LoadModule rewrite_module modules/mod_rewrite.so をコメントアウトして有効にする。
  • AllowOverride None → AllowOverride ALLにする。

ちなみに、上記を行っても行わなくても WordPress ルートディレクトリーの「.htaccess」には、以下のような記述が WordPress によって書き込まれていた。(ある程度までは動作していたと言うことか?)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

訳がわかんなくなったので Apache 2.0.55 を削除して 2.2.17 をインストールして設定する。

インストールと設定はこちら → http://antonsan.net/2011/0318103103

すると、動いたぁ。

めでたしめでたし。

■しかし、まだ問題が・・・。

  1. 新規投稿時、画面右下の赤枠が残っている。
  2. 新規投稿時、プレビューできない。(プレビューボタン押しても新しいページが開かない。)
  3. 既に投稿した記事を編集し、「変更をプレビュー」ボタンを押すと、新しいページは開くが、「下書きをプレビューする権限がありません。」と言うエラーが発生する。
    どうしてさ・・・まぁいいや、とりあえず動くし、もうこれ以上はギブアップ。
    どなたか、これらの原因わかる方いらっしゃったら教えて下さい。

コメント