2012-06-13 263 views
0

我在其默认目录C:\Program Files\Apache Software Foundation\Apache2.2下安装了Apache。在安装过程中,创建了一个服务Apache2.2使用非管理员帐户启动httpd作为服务

当使用Apache的监控应用程序或Windows 服务工具与管理员权限的用户,我可以启动和停止没有问题的服务,它提供的网站,一切似乎很好地工作。

出于安全原因,我想从具有有限权限的用户帐户启动httpd服务器。

在深入研究一些文档并使用ProcessMonitor来调试任何文件和注册表访问问题后,我认为我获得了文件和目录的权限 - 只有一些对C:\的失败访问权限和EventLog注册表项显示在尝试启动服务时在ProcessMonitor中启动。

然而,它失败,出现错误消息

Windows无法启动APACHE2.2本地计算机上。有关更多信息,请查看系统事件日志。 (...)

此事件日志显示以下信息:

(20024)给出的路径是misformatted或包含无效字符:无效的配置文件路径C:\ Program Files文件\ Apache软件基金会\ APACHE2.2 \的conf \ httpd.conf中

因为我读的httpd不接受反斜杠(虽然他们似乎在用管理员权限的用户开始工作),我改变了服务参数使用正斜杠,引用,不加引号,删除它们,使它们相对(以便从中删除空格),例如../conf/httpd.conf和其他变体,但目前尚未成功。

回答

0

Apache网络服务器似乎遍历从层次结构C:\开始的所有目录,直到它到达找到的目录httpd.conf。对于这个问题,这些目录:

C:\ 
C:\Program Files\ 
C:\Program Files\Apache Software Foundation\ 
C:\Program Files\Apache Software Foundation\Apache2.2\ 
C:\Program Files\Apache Software Foundation\Apache2.2\conf\ 

为了解决这个问题,所有这些目录需要有列出文件夹目录特权下被执行httpd的用户帐户设置。

它在事件日志中给出的错误消息因此是误导性的,路径是正确的。

为避免必须更改所有这些文件夹的权限设置,我建议将Apache安装在C:\的直接子目录中,例如C:\Apache2.2\

相关问题