« 2005年06月 | メインページ | 2005年08月 »

2005年07月11日

”phpMyAdmin”

myadmin.jpg

"phpMyAdmin 2.6.3-pl1”をインストールしました。
グラフィカルなユーザーインタフェースでMySQLのデーターベース管理が出来るように
なっていて、ターミナルからコマンド操作するよりはかなり効率的です。

【ダウンロード】
下記のURLからダウンロードできます。
http://www.phpmyadmin.net/home_page/index.php

【インストール】
PHPの動作する環境へフォルダーごと全てアップロードする。

【ユーザー名、パスワードの設定】
phpMyAdminフォルダーの中にある"config.inc.php”で設定します。

$cfg['PmaAbsoluteUri'] = 'URL';
'URL’に"phpMyAdmin”を置いたURLを設定します。
(例) 'http://”ドメインネーム”/phpMyAdmin/';

$cfg['Servers'][$i]['user'] = 'ユーザー名';
MySQLのユーザー名を設定する。

$cfg['Servers'][$i]['password'] = 'パスワード';
MySQLのユーザーパスワードを設定する。

【セキュリティー】
”phpMyAdmin”はそのままでは誰でもアクセス出来てしまうので、必ず「htaccess」
「htpasswd」を”phpMyAdmin”のディレクトリーに設定して、セキュリティーを確保
する必要があります。

【エラー】
「MySQL Server」のパスワードを設定してから”phpMyAdmin ”を使ってサーバーに
接続すると、下記のエラーになってうまく行きませんでした。
「Client does not support authentication protocol requested by server;
                     consider upgrading MySQL client」
(サーバが要求する認証プロトコルをクライアントがサポートしていません。
              MySQL クライアントのアップグレードをしてください)

原因は、「MySQL server」のバージョンが”4.0”以前とそれ以後では、パスワードの
認証方式が異なっていて、「MySQL client」も"Server”のバージョンに合わせる必要が
あるようです。今回は「MySQL server」が"4.1.12”であるのに対し、"PHP(4.3.11)"
の「MySQL client」が"3.23.49"であったためと考えられます。

【エラーの対処】
二通り考えられる
1 「MySQL client」もバージョンを”4.1”にアップグレードする。

  *この場合は、PHPバージョンが”4.1”以上なら、設定ファイルでmysqlのpathを
   指定してコンパイルするか、最新のPHPバージョンをインストールするなど慎重に
   実施する必要がありそうです。
   http://jp.php.net/manual/ja/ref.mysql.php

2 「MySQL server」の認証プロトコルを、バージョンが”4.0”以前の方式に変更して
  「MySQL client」の認証に合わせる。

  *この場合は、パスワードの作成時に旧の認証方式で作成すればよく、すぐ対応で
   きるがセキュリティーは旧の水準になる。
   http://dev.mysql.com/doc/mysql/ja/old-client.html

  旧パスワードの作成方法
  (ターミナル操作)
   mysql> UPDATE user SET Password=OLD_PASSWORD('パスワード')
       -> WHERE Host='host名' AND User='ユーザー名';

   これで旧の認証方式でパスワードが発生する。

今回は2番目の、旧認証方式で「MySQL server」のパスワードを作成して対応すること
ができました。

投稿者 kazuo : 22:30

2005年07月02日

MovableTypeのDBにMysql を使ってみる

【MovableTypeのインストール】
 MovableTypeのインストールと設定については、下記の公式サイトに詳しい説明があ
るのでここでは省略します。
http://www.movabletype.jp/

【DBI/DBDモジュールチェック】
 MovableTypeでMysqlを使うためには、Perl と mysql のインターフェースドライバ、
DBI/DBDのモジュールを使用します。
mt-check.jpg
 MovableTypeの"mt-check.cgi”を実行した時にこのようなDBD::mysqlに関する表示
が出た時は、DBIとDBDをインストールする必要があります。

【DBI、DBDのダウンロード】
下記のサイトから最新のDBI、DBDをダウンロードする。
http://search.cpan.org/~timb/DBI-1.48/  2005/6/29 現在”DBI-1.48”
http://search.cpan.org/dist/DBD-mysql/  2005/6/29 現在”DBD-mysql-2.9008”

Documentsフォルダーなどに”DBI-1.48”と”DBD-mysql-2.9008”を解凍する。

(PerlのConfig.pmを修正)
Mac OS X10.3では、下記のディレクトリーにあるPerlのConfig.pmを修正しておく
必要があります。
/System/Library/Perl/5.8.1/darwin-thread-multi-2level/Config.pm
*830Line付近*
修正前: ld='MACOSX_DEPLOYMENT_TARGET=10.3 cc'
修正後: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc'
”MACOSX_”の前に、”env”を挿入する。

【DBIのインストール】
DBIを先にインストール
(ターミナル操作)
1 cd /Documents/DBI-1.48/   ☆解凍したDBIのホルダーへディレクトリを
                  変更する
2 sudo perl Makefile.PL    ☆root権限(sudo)で、"Makefile.PL"を実行する
  Password:          ☆パスワードを問い合わせてきたら、Macの
                  ログイン Passを入力
3 sudo make          ☆コンパイルの実行
4 sudo make test        ☆テスト実行
5 sudo make install       ☆DBIのインストール開始

【DBDのインストール】
(ターミナル操作)
1 cd /Documents/DBD-mysql-2.9008/  ☆解凍したDBDのホルダーへディ
                      レクトリを変更する
2 sudo perl Makefile.PL
3 sudo make           ☆DBDのコンパイル
4 sudo make test
5 sudo make install       ☆DBDのインストール実行

 "Makefile.PL”で下記ののようなエラーがでる場合は、"mysql_config"へのパスが通っ
てないのでパスを通す必要がある。

 Can't exec "mysql_config": No such file or directory at Makefile.PL line 73.

  ーーーーーーーーーーーー”パスはprofile”を修正するーーーーーーーーーーーーー
  (ターミナル操作)
  1 cd /private/etc/
  2 vi profile
  +++++++++++++++++++ 編集モード ++++++++++++++++++
  3  i                  ☆インサートモード
  4 カーソルを”PATH="/bin:/sbin:/usr/bin:/usr/sbin”の後に移動して
   :/usr/local/mysql/bin とType In
               ☆”PATH=”へ”:/usr/local/mysql/bin”を挿入
  ------------------------------- profileの内容 ---------------------------
  # System-wide .profile for sh(1)

  PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/mysql/bin"
  export PATH

  [ -r /etc/bashrc ] && source /etc/bashrc
  ~
  ----------------------------------------------------------------------------
  6 Esc   ☆インサートモード終了
  7 :wq   ☆エディターで書き込んで終了する
   +++++++++++++++++++++++++++++++++++++++++++++++
  ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 パスが通ったら、DBDのインストールを再度実行する。

 DBI、DBDのインストールできたら、MovableTypeの"mt-check.cgi”を実行し
て、"DBD::mysql”が正常であることを確認する。

【MovableTypeの初期設定】
 mt-load.cgiを起動してMovableTypeの初期設定を実行する。

mt-load.jpg

 初期設定の結果、このようなエラーが表示される時は、DBを事前に作成していない
、あるいわmysqlの 'DB名'、'ユーザー名'と、MovableTypeの”mt.cfg”の設定、また
は”mt-db-pass.cgi”の'パスワード'設定が一致していないなどが考えられます。

MovableTypeの設定を確認  
(”mt.cfg”の設定)
 ObjectDriver DBI::mysql
 Database 'DB名'
 DBUser 'ユーザー名' 
 #DBSocket /tmp/mysql.sock
 #DBPort 'ポート番号'
 #DBHost localhost

(”mt-db-pass.cgi”の設定)
 'パスワード'

mysqlのMovableType初期 DB作成状況を確認する
1 mysql> create database DB; で作成した'DB名'と、”mt.cfg”のDatabase 'DB名'で設定
  した'DB名'が同じか?
2 mysql> GRANT ALL ON DB.* TO 'ユーザー名'@localhost IDENTIFIED BY 'パスワード';
  で作成した'ユーザー名'と、”mt.cfg”のDBUser 'ユーザー名'で設定した'ユーザー名'が同じか?
3 mysql> GRANT ALL ON DB.* TO 'ユーザー名'@localhost IDENTIFIED BY 'パスワード';
  で作成した'パスワード'と、”mt-db-pass.cgi”で設定した'パスワード'が同じか?

 今回は、"mysql_config"へのパスが通っていなかったこと、MovableTypeの DBを事前に
作成していなかったこと、それに”mt.cfg”のDBUser 'ユーザー名'が正確に設定されていなかった
事の3点を解決しすべて完了しました。

投稿者 kazuo : 18:44