3

学校のプロジェクトで、MediaWiki をローカル マシンにインストールしました。ローカルの MySQL データベースへのデータベース接続には SSL を使用する必要があります。すべてのドットを接続する方法がわかりません。これまでに行ったことは次のとおりです。

  1. OpenSSL をインストールし、自己署名証明書と関連するキーを作成しました。
  2. phpinfo() は、OpenSSL が有効になっていることを示します。
  3. これを my.ini の [mysqld] セクションに含めました。

ssl-key="C:/newcerts/server-key.pem" ssl-cert="C:/newcerts/server-cert.pem" ssl-ca="C:/newcerts/ca-cert.pem"

  1. MySQL コマンド ラインを実行すると、ルート パスワードの入力を求められ、入力すると、エラー 1045:アクセスが拒否されたなどのメッセージが表示されます。

  2. bin ディレクトリから mysql -u root -p ssl-ca="C:/newcerts/ca-cert.pem" を実行してパスワードを入力すると、成功し、mysql プロンプトが表示されます。実行中のステータスは SSL を示しています: 使用中の暗号は DHE-RSA-AES256-SHA です。

ここで私は混乱しています。SSL を使用するデータベース接続を要求するには、他に何を行う必要がありますか (Apache、PHP 構成ファイル、MediaWiki ファイルなどを使用)。

4

1 に答える 1

5

ネイティブの php/mysql 拡張機能は SSL をサポートしていないため、mysqli 拡張機能を使用する必要があります。mysqli SSL 関連関数を参照してください。

http://us.php.net/manual/en/mysqli.ssl-set.php

そうは言っても、MediaWiki の DB クラスは抽象化されていますが、私の知る限り、既存の実装では mysqli ではなく通常の php/mysql を使用しているため、独自の mysqli アダプターを作成するか、誰かが作成する必要があると思います。すでに持っています。

どちらにしても、MediaWiki に mysqli アダプターを使用させる必要があります。

于 2009-04-23T01:13:08.940 に答える