Ошибка Coldfusion: не удается найти файл /CFIDE/administrator/index.cfm
Да, я знаю, что вы можете погуглить этот вопрос и получить на него множество ответов, но ни один из них мне не подходит.
У меня новый сервер RHEL5, на котором установлена последняя версия LAMP, и я только что установил Coldfusion 9.
Когда я захожу на свой сайт, я получаю сообщение об ошибке Coldfusion, говорящее
File not found: /index.cfm
Если я перехожу на html или php страницу, все нормально, они работают правильно. И ошибка, которую я получаю, это синий / серый coldfusion, поэтому сервер Coldfusion работает.
И я сузил проблему до этого...
/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>
Что я делаю неправильно?
5 ответов
Я исправил это, проблема заключалась в том, что переменная RUNTIME_USER была установлена в разных местах на "никто".
Мне удалось решить проблему благодаря этой записи в блоге
http://nzflew.blogspot.com/2009/04/changing-user-of-coldfusion-on-linux.html
У пользователя "nobody" не было прав доступа для просмотра файлов. Я тоже допустил ошибку при установке с именем пользователя по умолчанию "nobody".
В любом случае спасибо за вашу помощь.
У меня была такая же проблема в среде Windows CF8/Apache2.2. Просто изменил службы Apache и CF Application для запуска с использованием одного и того же пользовательского действия. Исправил это для меня!
В твоем апаче vhosts.conf
файл, для VirtualHost
Для входа на рассматриваемый сайт вам нужно что-то вроде этого:
<VirtualHost some.ip.address:80>
ServerName www.yoursite.com
DocumentRoot /var/www/vhosts/site.co.uk/httpdocs
...other stuff...
</VirtualHost>
Проблема заключается в простом добавлении псевдонима для каталога CFIDE и директивы DirectoryIndex:
Alias /CFIDE /{PATHTOTHEWEBROOT}/CFIDE
DirectoryIndex index.html index.php **index.cfm**
Возвращаясь к началу снова. Вы сказали:
И я сузил проблему до этого... /var/www/vhosts/site.co.uk/index.cfm - это обслуживается
но мой корень сайта действительно
/var/www/vhosts/site.co.uk/httpdocs/index.cfm - coldfusion не может увидеть этот файл!
Это говорит о том, что что-то в вашей основной конфигурации или в конфигурации vhost либо портит путь к вашему документу, либо ваша конфигурация vhost не запускается, и вы переходите к конфигурации сервера по умолчанию, которая указывает на /site.co.uk вместо / site.co.uk / httpdocs
Первое возможно где-то переписать. Последний может быть почти чем угодно. Хотя я только что заметил, что у вас есть файл vhost.conf в нижней части вашего блока конфигурации VirtualHost.
Предложение было бы сократить вашу конфигурацию до абсолютного минимума, например. вернемся только к обслуживанию html-файлов без хуков для php, coldfusion и всего остального, что там есть, и медленно помещаем небольшие элементы обратно, когда вы убедились, что vhost на самом деле правильно подобран.