对于使用OpenSSL的MediaWiki/Apache/PHP/MySQL的数据库连接需要SSL

Dav*_*son 3 php mysql mediawiki openssl mysql-error-1045

对于学校项目,我在本地计算机上安装了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命令行会提示我输入root密码,输入后会出现错误1045:访问被拒绝等.

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

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

Cod*_*lan 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适配器.