我将Apache 2.2配置为与Coldfusion 9.2一起运行,两者都在相同的Centos 6.2上。 Apache中DocumentRoot的一般配置是
DocumentRoot "/var/www/html"
到目前为止,Apache将所有对cfcs和cfms的调用交给Coldfusion。然后我创建了一个虚拟主机
<VirtualHost 192.168.123.207:80>
ServerName myserver.server.private
ServerAlias www.myserver.server.private
ServerAlias webmail.myserver.server.private
ServerAlias admin.myserver.server.private
DocumentRoot /home/myserver/public_html
ErrorLog /var/log/virtualmin/myserver.server.private_error_log
CustomLog /var/log/virtualmin/myserver.server.private_access_log combined
ScriptAlias /cgi-bin/ /home/myserver/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/myserver/public_html>
Options +Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch
allow from all
AllowOverride All
Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>
<Directory /home/myserver/cgi-bin>
allow from all
AllowOverride All
Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.myserver.server.private
RewriteRule ^(.*) http://myserver.server.private:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.myserver.server.private
RewriteRule ^(.*) http://myserver.server.private:10000/ [R]
</VirtualHost>
当我在http://myserver.server.private/hello.html上打开html文件时,虚拟主机文档根目录(/ home / myserver / public_html)中的正确文件将被提供。
虽然调用cfm失败了。 Apache正确传递请求,但出现Coldfusion错误消息:
File not found: /hello.cfm
似乎Coldfusion正在获取文件名,为它添加错误的目录路径前缀,并且无法从磁盘加载它。
我扫描了所有Coldfusion文件,查找错误的文档根但找不到任何内容。
修改
事实证明,Coldfusion在
中查看了自己的webroot目录/opt/coldfusion/wwwroot
我放置了一个名称相同但内容不同的文件,但是有一个文件服务,尽管有一个虚拟主机和b)一般的DocumentRoot设置为/ var / www / html。
答案 0 :(得分:0)
事实证明,coldfusion用户(在我的情况下是cfusion)需要在虚拟主机用户的组中。
usermod -a -G newuser cfusion
重新启动coldfusion后,一切正常。