【问题标题】:Coldfusion Error: cannot find file /CFIDE/administrator/index.cfmColdfusion 错误:找不到文件 /CFIDE/administrator/index.cfm
【发布时间】:2010-12-02 15:37:04
【问题描述】:

好吧,我知道你可以用谷歌搜索这个问题并得到很多答案,但似乎没有一个对我有用。

我有一个全新的 RHEL5 服务器,上面安装了最新的 LAMP,我刚刚安装了 Coldfusion 9。

当我访问我的网站时,我收到 Coldfusion 错误提示

File not found: /index.cfm

如果我导航到 html 或 php 页面,那很好,它们的服务器正常。我得到的错误是蓝色/灰色冷融合之一,所以冷融合服务器正在工作。

我已经将问题缩小到这个......

/var/www/vhosts/site.co.uk/index.cfm - 得到服务

但我的网站根目录确实是

/var/www/vhosts/site.co.uk/httpdocs/index.cfm - Coldfusion 看不到这个文件!

我找到了这个

/var/www/vhosts/site.co.uk/index.cfm

在 cfserver.log 中。但我找不到任何引用 "/var/www/vhosts/site.co.uk/" 作为根目录的地方。

jrun-web.xml 的系统路径设置为 /var/www/vhosts/site.co.uk/httpdocs,在 "bin/coldfusion" 内部DOCROOT 设置为 "/var/www/vhosts/site.co.uk/httpdocs"

这是 httpd.include 文件的一部分:

# ATTENTION!
# DO NOT MODIFY THIS FILE OR ANY PART OF IT. THIS CAN RESULT IN IMPROPER PLESK
# FUNCTIONING OR FAILURE, CAUSE DAMAGE AND LOSS OF DATA. IF YOU REQUIRE CUSTOM
# MODIFICATIONS TO BE APPLIED TO THE CONFIGURATION, PLEASE, PERFORM THEM IN THE
# FOLLOWING FILE(S):
# /var/www/vhosts/site.co.uk/conf/vhost.conf
# /var/www/vhosts/site.co.uk/subdomains/<subdomain-name>/conf/vhost.conf

<VirtualHost 1.2.3.4:80>
    ServerName   site.co.uk:80
    ServerAlias  www.site.co.uk
    UseCanonicalName Off
    ServerAdmin  "admin@site.co.uk"
    DocumentRoot /var/www/vhosts/site.co.uk/httpdocs
    CustomLog  /var/www/vhosts/site.co.uk/statistics/logs/access_log plesklog
    ErrorLog  /var/www/vhosts/site.co.uk/statistics/logs/error_log
<IfModule mod_userdir.c>
    UserDir /var/www/vhosts/site.co.uk/web_users
</IfModule>
    Alias  /plesk-stat /var/www/vhosts/site.co.uk/statistics/
    <Location  /plesk-stat/>
        Options +Indexes
    </Location>
    <Location  /plesk-stat/logs/>
        Require valid-user
    </Location>
    Alias  /webstat /var/www/vhosts/site.co.uk/statistics/webstat
    Alias  /webstat-ssl /var/www/vhosts/site.co.uk/statistics/webstat-ssl
    Alias  /ftpstat /var/www/vhosts/site.co.uk/statistics/ftpstat
    Alias  /anon_ftpstat /var/www/vhosts/site.co.uk/statistics/anon_ftpstat
    Alias  /awstats-icon /var/www/html/awstats/icon
    <IfModule mod_ssl.c>
        SSLEngine off
    </IfModule>
    <Directory /var/www/vhosts/site.co.uk/httpdocs>
        <IfModule sapi_apache2.c>
            php_admin_flag engine on
            php_admin_flag safe_mode off
            php_admin_value open_basedir "/var/www/vhosts/site.co.uk/httpdocs:/tmp"
        </IfModule>
        <IfModule mod_php5.c>
            php_admin_flag engine on
            php_admin_flag safe_mode off
            php_admin_value open_basedir "/var/www/vhosts/site.co.uk/httpdocs:/tmp"
        </IfModule>
        Options -Includes -ExecCGI
    </Directory>
    <Directory /var/www/vhosts/site.co.uk/web_users>
        <IfModule sapi_apache2.c>
            php_admin_flag engine off
        </IfModule>
        <IfModule mod_php5.c>
            php_admin_flag engine off
        </IfModule>
    </Directory>
    <Directory "/var/www/vhosts/site.co.uk/httpdocs/CFIDE">
        AuthType Basic
        AuthName " "
        AuthUserFile /var/www/vhosts/site.co.uk/pd/d..httpdocs@CFIDE
        require  valid-user
    </Directory>
    ... 
    Omitting other directory tags 
    ...
    Include /var/www/vhosts/site.co.uk/conf/vhost.conf
</VirtualHost>

我做错了什么?

【问题讨论】:

  • 您能否为您的站点发布一个完整的 VirtualServer 条目。更改名称以保护无辜者,但不要添加任何内容或删除任何内容。
  • 你的意思是 httpd.include 文件的 部分吗?
  • 请。另外,您运行的是什么版本的 ColdFusion Server?标准版还是企业版?如果企业你做了哪个安装?标准还是多服务器?你是如何将 apache 连接到 ColdFusion 的?安装时是否要求提供上下文根目录?如果是,你输入了什么?抱歉所有问题。
  • 我们正在运行 CF9 标准 30 天试用版。我运行了安装箱,并按照分步说明进行操作。我为安装提供了 /etc/init.d/httpd 路径,当它要求 Web 根目录放置 CFIDE 时,我给了它 /var/www/vhosts/site.co.uk/httpdocs。此外,httpd.include 文件有 250 行长,因为它有数百个 标记,所以我将省略这些,但我看不出它们有什么帮助,除非我弄错了。
  • @Comcar - 问题,所以 PHP 和 cfm 都放在同一个文件夹中?

标签: apache coldfusion document-root


【解决方案1】:

我已经修复了,问题是 RUNTIME_USER 变量在不同的地方设置为“nobody”。

感谢这篇博文,我设法解决了这个问题

http://nzflew.blogspot.com/2009/04/changing-user-of-coldfusion-on-linux.html

“nobody”用户没有查看文件的访问权限。我也犯了使用默认“nobody”用户名安装的错误。

感谢您的所有帮助。

【讨论】:

  • 啊是的。那会让事情变得尴尬。我过去一直被这个问题困扰,所以我总是创建一个“coldfusion”用户来运行服务器。您应该将此标记为答案。 ;)
  • 啊,我没有意识到我可以单击勾号将其标记为已回答。我只是假设我无法回答我自己的问题。无论如何谢谢大家的帮助!
【解决方案2】:

我在 Windows 环境 CF8/Apache2.2 中遇到了同样的问题。只需更改 apache 和 CF 应用程序服务以使用相同的用户帐户运行。帮我修好了!

【讨论】:

  • 好东西,听起来很像 Windows 等效
【解决方案3】:

在您的 apache vhosts.conf 文件中,对于相关站点的 VirtualHost 条目,您需要这样的内容:

<VirtualHost some.ip.address:80>
ServerName    www.yoursite.com
DocumentRoot  /var/www/vhosts/site.co.uk/httpdocs
...other stuff...
</VirtualHost>

【讨论】:

  • 已经有了。 site.co.uk/index.html 服务器正常 site.co.uk/index.cfm 失败 Apache 工作正常,只是 Coldfusion 服务器看不到文件
  • 你能发布文件的相关部分吗?
  • 我已将它们添加到原始帖子中
【解决方案4】:

再次回到起点。你说:

我已将问题范围缩小到 这... /var/www/vhosts/site.co.uk/index.cfm - 这得到了服务

但我的网站根目录确实是

/var/www/vhosts/site.co.uk/httpdocs/index.cfm - Coldfusion 看不到这个文件!

这表明您的主配置或虚拟主机配置中的某些内容弄乱了您的文档路径,或者您的虚拟主机配置没有被触发,而您正在进入指向 /site.co.uk 的默认服务器配置/site.co.uk/httpdocs

前者可能是某处的重写规则。 后者几乎可以是任何东西。尽管我刚刚注意到您在 VirtualHost 配置块的脚下包含了一个 vhost.conf。

建议将您的配置削减到绝对最低限度,例如。回到只提供没有 php、coldfusion 和所有其他东西的钩子的 html 文件,当你确认虚拟主机实际上被正确拾取时,慢慢地把小元素放回去。

【讨论】:

    【解决方案5】:

    问题只是简单地为 CFIDE 目录添加别名和 DirectoryIndex 指令:

    Alias /CFIDE /{PATHTOTHEWEBROOT}/CFIDE
    
    DirectoryIndex index.html index.php **index.cfm** 
    

    【讨论】:

    • 能否详细说明以用户身份运行Coldfusion的问题?如果用户的权限受到限制,问题是什么?
    • 嗯,这只是权限问题... Debian Docs ... "守护进程:一些需要写入磁盘上文件的非特权守护进程作为 daemon.daemon 运行(例如,portmap、atd、可能是其他人)。不需要拥有任何文件的守护程序可以作为nobody.nogroup 运行,而更复杂或具有安全意识的守护程序作为专用用户运行。守护程序用户对于本地安装的守护程序也很方便。“
    • 添加到这个...它很容易 chgrp ~/www to nobody 允许 ColdFusion 在 VPS 风格上运行,如 cPanel 或 Plesk ...我在几个站点上运行 CF cPanel 上的不同用户帐户,它以这种方式运行良好...
    • 我已经编辑了关于 CF 用户帐户的原始声明,因为它对于所有 linux 设置并不准确...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多