需要使用 SSL 来使用 OpenSSL 进行 MediaWiki/Apache/PHP/MySQL 的数据库连接
对于学校项目,我已在本地计算机上安装了 MediaWiki,并且需要使用 SSL 与本地 MySQL 数据库进行任何数据库连接。 我不确定如何连接所有点。 这是我到目前为止所做的:
- 我已经安装了 OpenSSL,并创建了自签名证书和关联的密钥。
- phpinfo() 显示 OpenSSL 已启用。
- 我已将其包含在 my.ini 的 [mysqld] 部分中:
ssl-key="C:/newcerts/server-key.pem" ssl-cert =“C:/newcerts/server-cert.pem” ssl-ca="C:/newcerts/ca-cert.pem"
- MySQL 命令行会提示我输入 root 密码,输入后出现错误 1045:访问被拒绝等。
运行 mysql -u root -p ssl-ca="C:/newcerts/ca-cert.pem ” 从 bin 目录输入密码成功,并给出 mysql 提示符。 运行状态显示 SSL: Cipher in use is DHE-RSA-AES256-SHA。
这就是我感到困惑的地方。 还需要做什么(例如通过 Apache 或 PHP 配置文件或 MediaWiki 文件)才能要求数据库连接使用 SSL?
For a school project, I have installed MediaWiki on my local machine, and am required to have any database connection to the local MySQL database use SSL. I am unsure of how to connect all the dots. Here's what I have done so far:
- I have installed OpenSSL, and created a self-signed certificate, and associated keys.
- phpinfo() shows OpenSSL as being enabled.
- I have included this in the [mysqld] section of my.ini:
ssl-key="C:/newcerts/server-key.pem"
ssl-cert="C:/newcerts/server-cert.pem"
ssl-ca="C:/newcerts/ca-cert.pem"
Running MySQL Command Line prompts me for the root password, and upon entering it, I get Error 1045:Access denied, etc.
Running mysql -u root -p ssl-ca="C:/newcerts/ca-cert.pem" from the bin directory and entering the password succeeds, and gives me a mysql prompt. Running status shows SSL: Cipher in use is DHE-RSA-AES256-SHA.
Here's where I'm confused. What else needs to be done (like through Apache or a PHP config file, or a MediaWiki file) to require database connections to use SSL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将需要使用 mysqli 扩展,因为本机 php/mysql 扩展不支持 SSL。 参见mysqli SSL相关函数:
http://us.php.net/ Manual/en/mysqli.ssl-set.php
也就是说,MediaWiki 中的 DB 类是抽象出来的,但据我所知,现有的实现使用常规的 php/mysql,而不是 mysqli,所以我认为您将编写自己的 mysqli 适配器,或者也许有人已经编写了。
无论哪种方式,您都需要让 MediaWiki 使用 mysqli 适配器。
You're going to want to use the mysqli extension because the native php/mysql extension does not support SSL. See the mysqli SSL related function:
http://us.php.net/manual/en/mysqli.ssl-set.php
That being said, the DB class in MediaWiki is abstracted out, but to the best of my knowledge the existing implemenation uses the regular php/mysql, NOT mysqli so I think you're going to have write your own mysqli adapter, or maybe somebody already has.
Either way you will need to get MediaWiki to use a mysqli adapter.