3

对于一个学校项目,我在本地机器上安装了 MediaWiki,并且需要使用 SSL 与本地 MySQL 数据库建立任何数据库连接。我不确定如何连接所有的点。这是我到目前为止所做的:

  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 命令行提示我输入 root 密码,输入后,我收到错误 1045:Access denied 等。

  2. 从 bin 目录运行 mysql -u root -p ssl-ca="C:/newcerts/ca-cert.pem" 并输入密码成功,并给我一个mysql提示符。运行状态显示 SSL: Cipher in use is DHE-RSA-AES256-SHA。

这就是我感到困惑的地方。还需要做什么(例如通过 Apache 或 PHP 配置文件,或 MediaWiki 文件)来要求数据库连接使用 SSL?

4

1 回答 1

5

您将要使用 mysqli 扩展,因为本机 php/mysql 扩展不支持 SSL。见mysqli SSL相关函数:

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

话虽如此,MediaWiki 中的 DB 类已被抽象出来,但据我所知,现有的实现使用常规的 php/mysql,而不是 mysqli,所以我认为您将编写自己的 mysqli 适配器,或者也许有人已经有了。

无论哪种方式,您都需要让 MediaWiki 使用 mysqli 适配器。

于 2009-04-23T01:13:08.940 回答