在本地xampp/apache服务器上设置SSL

hor*_*gen 23 php apache xampp ssl https

我正在尝试从我的本地网络服务器访问Active Directory.为此,我使用最新版本的xampp和一个名为adLDAP的PHP脚本.如果我理解正确,我需要启用SSL才能访问https网址.我试图谷歌但没有运气:(任何人都可以链接教程或向我解释如何在xampp/apache上为Windows 7 64位安装SSL?任何帮助将不胜感激:)

Vol*_*erK 28

Apache部分 - 允许您打开https:// localhost/xyz

配置文件xampp/apache/conf/extra/httpd-ssl.conf包含所有特定于ssl的配置.它有相当好的文档记录,所以请阅读评论并查看http://httpd.apache.org/docs/2.2/ssl/.文件以#开头<IfModule ssl_module>,因此只有在使用mod_ssl模块启动apache时才会生效.

在编辑器中打开文件xampp/apache/conf/httpd.conf并搜索该行

#LoadModule ssl_module modules/mod_ssl.so
Run Code Online (Sandbox Code Playgroud)

删除哈希标记,保存文件并重新启动Apache.网络服务器现在应该从xampp的基本/默认ssl配置开始; 足以进行测试,但您可能希望在apache文档中阅读更多关于mod_ssl的内容.


PHP部分 - 使adldap能够在ssl上使用ldap

adldap需要php的openssl扩展才能使用"ldap over ssl"连接.openssl扩展以xampp的形式发布.你必须"告诉"php加载这个dll,例如extension=nameofmodule.dll在你的php.ini中
运行

echo 'ini: ', get_cfg_var('cfg_file_path');
Run Code Online (Sandbox Code Playgroud)

它应该显示你的php安装使用哪个ini文件(php-apache-module和php-cli版本之间可能有所不同).
在编辑器中打开此文件并搜索

;extension=php_openssl.dll
Run Code Online (Sandbox Code Playgroud)

删除分号,保存文件并重新启动apache.

另见:http://docs.php.net/install.windows.extensions

  • @VolkerK,谢谢,这篇文章帮了很多忙.对于未来的搜索者,在XMAPP 1.7.4上的`php.ini`中实际上缺少`extension = php_openssl.dll`行...但这是一个简单的修复. (2认同)

Fla*_*nno 6

事实证明,OpenSSL是在XAMPP 1.7.2的php 5.3中编译和启用的,因此不再需要单独的扩展dll.

但是,您仍然需要在PHP.ini文件中启用它 extension=php_openssl.dll