TOPへ
起票 2005.5.22/更新 2005.5.22
 目次へ  
   

 

Blog wordpressをインストール

 ※php と mysqlの接続に関して補足情報書きました

 



Blog、はやっているようですね。
あるきっかけからBlogのソフト、wordpressのインストールをしてみる事になりました。
Blogはデータ管理に MySQLを使います。それとの接続に関してトラブルシュートを兼ねて確認したので、その結果をまとめておきます。

Blogのソフトはそのwordpressです。
事前にWindowsで解凍してFTPでWEBサーバーに送って使いました。WEB様のパーツとして送っておけば大丈夫です。いくつかパーミッションを変更しておくところがありますがインストール時に説明がでてくるので大丈夫でしょう。

サーバー側で用意するのは、mysqlとphpが使える環境です。

この部分がうまく動作しないという質問がきっかけでした。
試しにやってみましが私も同じようにうまくいかなかったので対応してみた次第です。

【現象】
インストールの手順はというと

 まずphpの動作チェック、これはOKを確認。 <?php phpinfo(); ?>という簡単なコードをWEBで表示させるだけ。
 次に wordpress のインストーラーを起動
 インストーラーは index.php から始まるので、wordpressのアドレスを指定しただけで起動する。
 インストーラーは最初にmysqlに対する接続条件を聞いてきて、それに基づいてconfig ( wp-config.php ) を作成する。
  →先に進まずNG
 手動でconfigを書いて、それに基づいてインストール開始
  →(表示は忘れましたが ) mysqlへの設定不良につきfail という感じのメセージが英語で表示されてました。

 以上の現象をもとに一つ一つ問題をつぶしたので、それを書きます。参考にどうぞ。

【解決策編】

(1)php から mysql へアクセスできていない
手持ちの3台のturbolinux 7 serverのマシンでで試したけどどれも同じで、phpからmysqlへアクセス出来ないのを確認しました。
何が悪いのかいろいろテストしてみた結果、phpのコンパイル時にmysqlオプションをつける必要がある様なのですが、デフォルト設定ではそれがされていない様でした。
しかたなくPHPを再インストールすることにしました。インストールの説明にはApacheもインストールして・どうとか・・と書いてあるサイトがいくつかありますが、Apacheはあまり手を入れたくなかったのでphpだけダウンロードして試してみました。今回のバージョンはphp-4.3.11です。必要なかたは検索してみてくださいすぐに見つかりますよ。

インストールにおいて、configureに対するオプションが大事です。

オプション
--with-mysql
これでmysqlを利用可能にします。参考にしたいくつかのサイトにはこのパラメーターにパスまで指定するように書いてあります。
でもパスをちゃんとmysqlに対して書いてやってもエラーがでてしまいます。付属の英語の説明をよく見ると、配置場所の標準的な場所である /usr/localなどにインストールされている場合はパス指定は不要、という事なのでこのオプションは外したところちゃんと動作するようになりました。

--with-apxs
これもApacheがらみのオプションで --with-apxs=/usr/local/apache/bin/apxs こんな感じでパス指定するように書いてありますが、パスを書くとインストーラーが進まないのでパスの部分は結局外しました。

以上2つのオプションをつけてコンパイルすることでmysqlへの接続はできるようになりました。
ただし、そのあと問題が・・・
マルチバイトコードへの対応に関して mbstringという関数のエラーがでて先に進まない事が多いのでその対策も必要でした。
通常の対策として多く見つけられる各サイトの情報に、 php.ini の記載で extension_dir の指定と ;extension=php_mbstring.dll の行の有効化というのが見つけられます。
しかし、その php_mbstring.dll というファイルはインストールで用意されないのでこれまた機能いたしませんでした。
しかたないのでコンパイルに際してオプション指定して有効にして対応しました。
そのオプションは
--enable-mbstring
です。

以上を全部まとめると次のような感じ

./configure --enable-mbstring --with-apxs --with-mysql そのあとは
make
そして
make install
でphpのインストールはおしまい。

/etc/httpd/php.ini はじゃまなので削除します。こいつは悪さします。

その代わり php.ini-dist というデフォルトの設定があるのでそれを使います。
場所も変えます。

cp php.ini-dist /usr/local/lib/php.ini

そして、mbstring マルチバイト文字列の処理に関してモジュールが見つからないというエラーがでるのでその設定を変えます。 その php.ini を開きます。

[mbstring]の項目を探し

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;

以上の行に対してコメントになっていますが#を外して有効にしました。

これで /etc/init.d/httpd restart
の操作でphpが起動しmysqlへの接続が出来るようになります。


(2)mysqのデータベース準備
データベースは手動で準備します。

データベースの作成 :とりあえずwordpressという名前のデータベースにしました。

mysqladmin create wordpress

ユーザーとパスワードの設定

mysql mysql
でmysqlへログインして
 grant ALL on wordpress.* to [ユーザー名]@localhost IDENTIFIED BY '[パスワード]';
 exit;

※ [ユーザー名] と [パスワード] には [ ] は含みません。外して読んでください。

(3)Apacheの設定
デフォルトで表示するページは
index.htm
にセットしてあるのですがwordpressでは index.php を頻繁に開かせるので
/etc/httpd/conf/httpd.conf を開き
DirectoryIndex に index.htm につづけて index.php を追加して記載

これでなんとか進むと思います。

結局動作しましたね。
これです wordpress