我想在 IBM/Lotus Domino 服务器上托管 Wordpress 和 Magento PHP 站点,并计划与 Lotus Notes 数据库集成。
我已经安装了 PHP 5.3.29、MySQL 5.6.21.1、phpMyAdmin 4.2.10.1
我没有运行 IIS 或 Apache。
我正在运行带有 HTTP Server 任务的 IBM Domino Enterprise Server 9.01。
我已经在 Domino 目录中创建了 URL-->目录映射文档:
Incoming URL String: /*.php
Target server directory: c:\php\php-cgi.exe /*.php
Access Level: Execute
我在 Domino HTML 文件夹 (c:\domino\data\domino\html\php) 中创建了一个目录“php”
我创建了一个显示 phpinfo() 的 info.php 文件:
<?php phpinfo(); ?>
我可以调出http://domain.com/php/info.php完美。 !!
我能够运行 phpMyAdmin 并创建 MySQL 数据库。
我能够安装和配置 Wordpress。
但是,我必须将 index.php
添加到仅包含该目录的任何 URL。
例如 /wp/wp-admin/index.php
有效。
但是 /wp/wp-admin/
或 /wp/wp-admin
返回状态 403 和错误:
Unable to process request, directory browsing is not allowed
所以这是我的问题:
如何让 Domino HTTP 服务在 index.htm 和 index.html 之外查找 index.php URL 只是目录吗?如果Domino HTML 目录中有名为index.html 的文件,则只需使用目录名。如果 URL 中只有一个目录,如何将 index.php 添加到要查找的文件列表中?是否有一些配置文件可以将index.php 添加到列表中?
请注意,我没有使用 Apache,因此 .htaccess 文件在 Domino HTTP 环境中不起作用(如果我错了,请纠正我)。
提前致谢。
最佳答案
我能够在运行可选 IBM HTTP Server (IHS) 的 Domino 9 服务器上托管一个 Wordpress 站点。全部运行在 Windows Server 2008 R2 上。
首先,Domino 9 Server 必须使用“IBM HTTP Server”选项进行安装——您必须进行自定义安装才能看到该选项。这将安装 IBM HTTP Server (IHS),它是与 Domino HTTP 集成的 Apache 版本。
IHS 安装在 Domino 目录“ihs”中。 ihs\conf\domino.conf 文件需要编辑——大部分内容都可以。使用文件 domino.conf 代替 httpd.conf,后者通常用于在没有 Domino HTTP 连接的情况下运行 IHS。
将 domino\ihs\bin\httpd.exe 添加到您的防火墙规则中,因为它现在将接收 HTTP 请求并将其代理到不同服务器上的 Domino 服务器港口。例如,此设置将允许安装 TLS 加密证书。
编辑domino.conf:
取消注释行:
Listen 0.0.0.0:80
注释掉SetHandler domino-handler
:
<IfModule mod_domino.c>
...
#<LocationMatch /*>
#SetHandler domino-handler
#</LocationMatch>
</IfModule>
在 domino.conf 末尾添加以下内容:
LoadModule dir_module modules/mod_dir.so
DirectoryIndex index.html index.htm index.php
Win32DisableAcceptEx
LoadModule php5_module "C:\php\php5apache2_2.dll"
<IfModule php5_module>
AddType application/x-httpd-php .php
PHPIniDir c:/php/
</IfModule>
NameVirtualHost *:80
#default vhost for Domino HTTP:
<VirtualHost *:80>
ServerName "${DOMINO_SERVER_NAME}"
DocumentRoot "${DOMINO_DOCUMENT_ROOT}"
<IfModule mod_domino.c>
<LocationMatch /*>
SetHandler domino-handler
</LocationMatch>
</IfModule>
</VirtualHost>
# vhost for wordpress.domain.com
<VirtualHost *:80>
ServerName wordpress.domain.com
DocumentRoot "${DOMINO_DOCUMENT_ROOT}/wp"
</VirtualHost>
其次,要在 IHS 上安装 PHP5,我们必须使用线程安全版本——我之前安装了为“其他 CGI”配置的非线程安全 (nts) 版本,但没有允许 IHS (Apache) 服务器加载 php 模块。
PHP 5.3.29 VC9 x86 线程安全(2014 年 8 月 15 日 20:02:15)
安装程序 [38.38MB] http://windows.php.net/downloads/releases/php-5.3.29-Win32-VC9-x86.msi
我使用了 PHP 安装程序 - 将 PHP 安装在 C:\PHP 中,在 Web 服务器设置过程中选择 Apache 2.2.x Module。
我将 Wordpress 文件复制到 Domino html 目录 domino\data\domino\html\wp 中。
最后,要在 Domino 上运行 IHS,请编辑 notes.ini 并添加:
HTTPIHSEnabled=1
在 Domino 服务器上重新启动 HTTP 任务。注意控制台以确保 domino.conf 文件没有错误。
上述配置将照常将端口 80 上的所有 HTTP 请求发送到 Domino HTTP 任务,但 wordpress.domain.com 除外,它将继续由 IHS 服务器处理,而不是由 IHS 服务器处理。 Domino 服务器。
不需要wordpress.domain.com的Domino目录中的虚拟主机文档,并且我最初添加的Domino目录中的URL-->目录映射文档现在不再需要(并且现在没有c:\php\php-cgi.exe 文件)。
请注意,Domino 不会记录任何不由 Domino 处理的 IHS 虚拟主机。
关于php - 在 IBM/Lotus Domino 服务器上运行 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26681357/