关于mysql:在IBM / Lotus Domino服务器上运行PHP

Running PHP on IBM/Lotus Domino server

我想在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->目录映射文档:

1
2
3
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文件:

1
<?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和错误:

1
Unable to process request, directory browsing is not allowed

所以这是我的问题:

除index.htm之外,如何获取Domino HTTP服务以查找index.php


我能够在运行可选IBM HTTP Server(IHS)的Domino 9服务器上托管Wordpress站点。全部运行在Windows Server 2008 R2上。

首先,必须使用选项'IBM HTTP Server'安装Domino 9 Server-您必须进行定制安装才能看到选择。这将安装IBM HTTP Server(IHS),它是与Domino HTTP集成的Apache版本。

IHS安装在Domino目录" ihs"中。需要编辑ihs \\\\ conf \\\\ domino.conf文件-大多数都可以。使用文件domino.conf代替了通常用于在没有Domino HTTP连接的情况下运行IHS的httpd.conf。

将domino \\\\ ihs \\\\ bin \\\\ httpd.exe添加到防火墙规则中,因为它现在将接收HTTP请求并将它们代理到另一个端口上的Domino服务器。例如,此设置将允许安装TLS加密证书。

对domino.conf进行编辑:

取消注释行:

1
Listen 0.0.0.0:80

注释SetHandler domino-handler

1
2
3
4
5
6
7
<IfModule mod_domino.c>    
...    
#<LocationMatch /*>
  #SetHandler domino-handler
#</LocationMatch>

</IfModule>

在domino.conf末尾添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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)版本,该版本不允许php模块由IHS(Apache)服务器加载。

PHP 5.3.29 VC9 x86线程安全(2014-Aug-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并添加:

1
HTTPIHSEnabled=1

在Domino服务器上重新启动HTTP任务。请注意控制台,以确保domino.conf文件没有错误。

以上配置将正常发送80端口上的所有HTTP请求到Domino HTTP任务,但wordpress.domain.com除外,它将继续由IHS服务器而不是Domino服务器处理。

不再需要Domino目录中用于wordpress.domain.com的虚拟主机文档,现在不再需要我最初添加的Domino目录中的URL->目录映射文档(现在不存在c: \\\\ php \\\\ php-cgi.exe文件)。

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


根据《 z / OS上的IBM HTTP Server:从基于Domino的迁移到基于Apache的迁移》(第42页,底部)一书,Domino中存在一个Welcome指令,该指令应与DirectoryIndex在Apache中。

这应该可以解决问题:

1
Welcome index.php index.html index.htm

尽管我不知道该放在哪里...但是也许你已经知道了。