gpt4 book ai didi

php - 在 IBM/Lotus Domino 服务器上运行 PHP

转载 作者:行者123 更新时间:2023-11-29 01:56:47 25 4
gpt4 key购买 nike

我想在 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 服务器任务的 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

所以这是我的问题:

除了 index.htmindex.html 之外,如何让 Domino HTTP 服务查找 index.php URL 只是目录的?如果 Domino HTML 目录中有一个名为 index.html 的文件,则只需使用目录名即可。如果 URL 中只有一个目录,如何将 index.php 添加到要查找的文件列表中?是否有一些配置文件可以将 index.php 添加到列表中?

请注意,我没有使用 Apache,因此 .htaccess 文件在 Domino HTTP 环境中无效(如果我错了请纠正我)。

提前致谢。

最佳答案

我能够在运行可选 IBM HTTP 服务器 (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 安装程序 - 在 C:\PHP 中安装 PHP,在 Web 服务器设置过程中选择 Apache 2.2.x 模块

我将 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 服务器处理,而不是Domino 服务器。

wordpress.domain.com的Domino目录下的Virtual Host doc已经不需要了,原来我添加的Domino Directory中的URL-->Directory mapping doc现在也不需要了(现在没有c:\php\php-cgi.exe 文件)。

请注意,Domino 不会记录任何未由 Domino 处理的 IHS 虚拟主机。

关于php - 在 IBM/Lotus Domino 服务器上运行 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26681357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com