无法从虚拟主机部署“战争”文件,看到一个目录列表

这是我的httpd.confconfiguration了虚拟主机

NameVirtualHost *:80 <VirtualHost *:80> ServerName http://foo.baz.in DocumentRoot /var/www/foo/ </VirtualHost> <VirtualHost *:80> ServerName http://bar.baz.in DocumentRoot /var/www/ </VirtualHost> 

第二个虚拟主机是一个WordPress的博客,在根目录下configuration了.htaccess和index.php(即/ var / www),其余的文件在wordpress自己的文件夹中。

然而,第一个虚拟主机是一个“战争”文件,当我转到foo.baz.in ,我看到目录列表,包含战争。 我也尝试将DocumentRoot更改为/ var / www / foo / foo.war,但是出现错误

Restarting web server: apache2Warning: DocumentRoot [/var/www/foo/foo.war] does not exist

我也改变了战争的所有者和许可,以www-data:www-data并将权限更改为755,但无济于事。

我如何让Apache部署我的“战争”?

谢谢。

Apache不部署战争文件.. Tomcat的确。 所以用它来代替。

除了Mike的回答,这是你的根本问题,用于基于名称的虚拟主机(除其他外)的ServerName指令需要一个域名,而不是一个具有scheme的URL。

当然,这只会让你到你的静态内容,而不是实际让你的EE应用程序与Apache单独工作。