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

标签 php mysql wordpress magento lotus-domino

我想在 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.htmindex.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/

相关文章:

php - mongodb/mongodb 1.6.0 需要 ext-mongodb ^1.7 -> 请求的 PHP 扩展 mongodb 安装了错误的版本 (1.3.4)

phpmyadmin 3.4.x 删除/删除表选项卡

mysql - codeigniter db 函数 db->set() 不能与 select 一起使用?

mysql - 如何从sql转储中删除一些表?

javascript - 如何使用 Wordpress 的 REST Api 访问本地主机上的数据?

php - wordpress menu_order 不起作用

css - Wordpress:导航边框底部

php - 无法访问函数内部的全局变量

php - ORDER BY 中的 MySQL rand() 函数

c# - SCGI 脚本引擎服务器? (C#、Java、PHP)