1

是的,我知道你可以用谷歌搜索这个问题并得到很多答案,但它们似乎都不适合我。

我有一个全新的 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”。英国/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>

我究竟做错了什么?

4

5 回答 5

1

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

由于这个博客条目,我设法解决了这个问题

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

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

无论如何,感谢您的所有帮助。

于 2010-12-06T17:16:28.207 回答
1

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

于 2010-12-17T20:47:47.537 回答
0

再次回到起点。你说 :

我已经将问题缩小到这个...... /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 文件,当你确认虚拟主机实际上被正确拾取时,慢慢地把小元素放回去。

于 2010-12-06T16:52:27.113 回答
0

问题只是添加了 CFIDE 目录的别名和 DirectoryIndex 指令:

Alias /CFIDE /{PATHTOTHEWEBROOT}/CFIDE

DirectoryIndex index.html index.php **index.cfm** 
于 2012-03-16T17:17:25.740 回答
0

在您的 apachevhosts.conf文件中,对于VirtualHost相关站点的条目,您需要以下内容:

<VirtualHost some.ip.address:80>
ServerName    www.yoursite.com
DocumentRoot  /var/www/vhosts/site.co.uk/httpdocs
...other stuff...
</VirtualHost>
于 2010-12-02T15:55:18.817 回答