我需要帮助,我已经经历了几个类似的问题,以及它们是如何解决的,看起来我的工作真的很痛苦。
我使用了Turnkey Linux Appliance [OrangeHRM]并且我想使用它的Apache服务器来托管另一个站点/软件[Sentrifugo]并且它非常困难,每次我托管它时只显示默认站点。
我已经在堆栈溢出中阅读了几个类似的问题但它没有用,我需要有人来看看我的案例。
期待真诚的赞赏
以下是grep "<VirtualHost" /etc/apache2/sites-enabled/*
/etc/apache2/sites-enabled/adminer.conf:<VirtualHost *:12322>
/etc/apache2/sites-enabled/orangehrm.conf:<VirtualHost *:80>
/etc/apache2/sites-enabled/orangehrm.conf:<VirtualHost *:443>
/etc/apache2/sites-enabled/sentrifugo2.conf:<VirtualHost *>
答案 0 :(得分:0)
早上好,根据我们讨论的内容:
现在您正在使用http:// IP / sentrifugo2 / ...
解决方案:
<VirtualHost *:80>
。然后修改VH出现在Apache中的顺序,并将参考值放在orangehrm.conf之前。但可以创建一个新问题,其中orangehrm.conf不再可用...继续阅读... 最佳:使用名称虚拟主机:
<VirtualHost *:80>
ServerName orangehrm.conf
...OTHER CONFIGURATION DIRECTIVES...
</VirtualHost>
<VirtualHost *:80>
ServerName sentrifugo
...OTHER CONFIGURATION DIRECTIVES...
</VirtualHost>
所以你看,这样,Apache可以使用请求的域(或名称)在两个*:80之间进行区分。在客户端系统上,在/ etc / hosts中,定义两个名称:
10.0.0.18 orangehrm.conf
10.0.0.18 snetrifugo
因此,当您输入http://orangehrm.conf 或 http://sentrifugo时,Apache会知道您想要哪一个。
注意:在Apache 2.4上,这没有问题。在Apache 2.2上,您需要指定NameVirtualHost指令(请参阅Apache文档)。
再次有效,但不是最好的:可能不适合你。您可以使用不同的IP地址在VH之间进行拆分。防爆。 10.0.0.18是orangehrm.conf并使用<VirtualHost 10.0.0.18:80>
。然后10.0.0.19是sentrifugo,因此使用<VirtualHost 10.0.0.19:80>
(使用Listen 10.0.0.19:80)。但是,您必须允许在主机上配置额外的IP地址...
另一种可能性:拆分端口。 <VirtualHost *:80>
适用于orangehrm.com,<VirtualHost *:81>
适用于sentrifugo。为此,您需要指定http://10.0.0.18:81/sentrifugo
。这还需要Listen *:80
和Listen *:81
。
总之,Apache需要一种方法来了解您想要哪一个。它可以决定:IP,端口,名称。名称是最灵活的。
使用IP地址的恕我直言不是要走的路。它可以在简单的设置中工作,但很快就会限制你。使用域名。在这里,我向您展示了如何在您的本地主机文件中执行此操作,&#34;最好的&#34;要做的就是在DNS中设置它们。