我正在尝试从本地网络服务器访问 Active Directory。为此,我使用最新版本的 xampp 和名为 adLDAP 的 PHP 脚本。如果我理解正确的话,我需要启用 SSL 来访问 https URL。我尝试用谷歌搜索它,但没有成功:(任何人都可以链接一个教程或向我解释如何在 Windows 7 64 位的 xampp/apache 上安装 SSL 吗?任何帮助将不胜感激:)
Apache 部分 - 使您能够打开 https://localhost/xyz
配置文件 xampp/apache/conf/extra/httpd-ssl.conf 包含所有 ssl 特定配置。它有相当详细的文档,因此请阅读评论并查看 http://httpd.apache.org/docs/2.2/ssl/。 这些文件以
<IfModule ssl_module>
开头,因此仅当 apache 使用其 mod_ssl 模块启动时才有效。
在编辑器中打开文件 xampp/apache/conf/httpd.conf 并搜索该行
#LoadModule ssl_module modules/mod_ssl.so
删除哈希标记,保存文件并重新启动 apache。 Web 服务器现在应该以 xampp 的基本/默认 ssl 配置启动;足以进行测试,但您可能想在 apache 文档中阅读更多有关 mod_ssl 的信息。
PHP 部分 - 使 adldap 能够通过 ssl 使用 ldap
adldap 需要 php 的 openssl 扩展才能使用“ldap over ssl”连接。 openssl 扩展作为 xampp 的 dll 提供。您必须“告诉”php 加载此 dll,例如在你的 php.ini 中有一个
extension=nameofmodule.dll
echo 'ini: ', get_cfg_var('cfg_file_path');
它应该显示您的 php 安装使用哪个 ini 文件(php-apache-module 和 php-cli 版本之间可能有所不同)。
在编辑器中打开此文件并搜索
;extension=php_openssl.dll
删除分号,保存文件并重新启动apache。
事实证明,OpenSSL 是在 XAMPP 1.7.2 的 php 5.3 中编译并启用的,因此不再需要单独的扩展 dll。
但是,您仍然需要在 PHP.ini 文件中的行
extension=php_openssl.dll
中启用它
我在这里做了大部分建议的事情,但仍然不起作用。尝试过这个并且它有效: 打开您的 XAMPP 控制面板,找到 Apache 模块的 Config 按钮。单击“配置”按钮并选择“PHP (php.ini)”。使用任何文本编辑器打开并删除php_openssl之前的半列。保存并重新启动 Apache。应该可以!
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
cp server.crt /opt/lampp/etc/ssl.crt/domainname.crt
cp server.key /opt/lampp/etc/ssl.key/domainname.key
(如果您不是超级用户,请在每个命令中使用 sudo)
现在,检查 [XAMPP_HOME]/etc/httpd.conf 中是否启用了 mod_ssl:
加载模块 ssl_module 模块/mod_ssl.so
通过编辑 [XAMPP_HOME]/etc/extra/httpd-ssl.conf 添加虚拟主机,在本例中为“localhost.domainname.com”,如下所示:
<virtualhost 127.0.1.4:443>
ServerName localhost.domainname.com
ServerAlias localhost.domainname.com *.localhost.domainname.com
ServerAdmin admin@localhost
DocumentRoot "/opt/lampp/htdocs/"
DirectoryIndex index.php
ErrorLog /opt/lampp/logs/domainname.local.error.log
CustomLog /opt/lampp/logs/domainname.local.access.log combined
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /opt/lampp/etc/ssl.crt/domainname.crt
SSLCertificateKeyFile /opt/lampp/etc/ssl.key/domainname.key
<directory /opt/lampp/htdocs/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</directory>
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</virtualhost>
将以下条目添加到 /etc/hosts:
127.0.1.4 localhost.domainname.com
现在,尝试安装证书/尝试将证书导入浏览器。我已经检查过了,这在 Ubuntu 上有效。
在本地主机上启用SSL(https)的基本步骤: 必填:
localhost (仅针对每个域名区域颁发证书!)
重新启动阿帕奇