XForms/Apache
外观
< XForms
Apache 网络服务器是互联网上最受欢迎的网络服务器。它提供高性能的网页服务,非常安全。
默认情况下,开箱即用的 Apache 服务器不允许用户将文件写入网络服务器。这是出于安全原因。
警告:以下内容仅应在内联网服务器上使用,并应由您组织的安全专业人员进行审查。
- 从 apache.org 下载并安装 HTTP 服务器。我使用的是 v2.2.4
- 验证它是否按预期提供常规的 xhtml 文件
- 停止服务
- 在您的 httpd.conf 中,取消对 dav_module 和 dav_fs_module 的 LoadModule 的注释,还取消对“Include conf/extra/httpd-dav.conf”行的注释,以便加载 httpd-dav.conf
- 编辑 conf/extras/httpd-dav.conf 并更改“uploads”别名和目录,使其符合您的要求。当然,它们应该匹配。
- 要对用户进行身份验证,您可以使用 htpasswd 命令行程序来创建密码并将其放在 uploads 目录中。当然,您也可以在项目的测试阶段禁用密码保护。
这是我的 httpd-dav.conf 完成后的开头部分
DavLockDB "E:/httpd/Apache2.2/var/DavLock" Alias /uploads "C:/www/xforms/uploads" <Directory "C:/www/xforms/uploads"> Dav On Order Allow,Deny Allow from all #AuthType Digest AuthType Basic AuthName DAV-upload # You can use the htdigest program to create the password database: # htdigest -c "E:/httpd/Apache2.2/user.passwd" DAV-upload admin # AR: I used htpasswd -> htpasswd -c "C:/www/xforms/uploads/user.passwd" admin #AuthUserFile "E:/httpd/Apache2.2/user.passwd" AuthUserFile "C:/www/xforms/uploads/user.passwd" # Allow universal read-access, but writes are restricted # to the admin user. <LimitExcept GET OPTIONS> require user admin </LimitExcept> </Directory>
对 Apache 配置文件进行任何更改后,您必须使用 Apache 重新启动命令重新启动 Apache,例如
apachectl restart
或
apachectl stop apachectl start
如果遇到问题,请确保检查 Apache 日志文件。如果您遇到错误,您可能没有为表单写入的文件夹设置正确的权限。
如果您的表单未保存,您还可以检查 Apache 访问日志文件。它们通常位于以下目录中:
Windows: C:\Program Files\Apache Software Foundation\Apache2.2\logs\access.log
如果您看到类似以下内容的行:
192.168.1.105 - - [08/Feb/2007:16:58:01 -0600] "PUT /forms/data.xml HTTP/1.1" 405 235
这表明您收到的是 **HTTP 405 错误**:方法不允许。当客户端尝试使用服务器不允许的“请求方法”(如 PUT 或 POST)时,会返回 405 状态代码。这意味着您的配置尚不正确,并且您的 XForms 不会保存其数据。
此示例由来自 IBM Corporation Austin TX 的 Aaron Reed 建议。