2012-08-27 56 views
1

我想在我的机器上创建VHost。Apache 2,ubuntu - VHost不起作用

我的配置:

/etc/hosts中

127.0.0.1 mysite.dev 

/etc/apache2/sites-available/mysite.dev

<VirtualHost *:80> 
    SetEnv APPLICATION_ENV "development" 
    ServerName mysite.dev 
    DocumentRoot /home/michal/Public/mysite/public/frontend 

    <Directory /home/michal/Public/mysite/public/frontend> 
     Options Indexes FollowSymLinks Includes 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

我跑后

sudo a2ensite mysite.dev 
sudo /etc/init.d/apache2 restart 

现在当我输入mysite.dev到t时他浏览器,我看到标准的Apache index.html(“It works!”)。为什么?我应该在哪里找到我的问题?

+0

你看到任何错误/警告,当您运行此命令“须藤/etc/init.d/apache2重启” –

+0

我只能看到“无法解析服务器名称,使用127.0.1.1而不是”。 但是,当我在/ etc/hosts中键入127.0.1.1时,没有发生新的事情。 –

+0

看看你的hosts文件中是否有127.0.1.1的任何条目将它们注释掉或删除它们。这发生在我身上一次,只有当我没有启用网站或没有重新启动Apache。所以,在你的情况下,它可能会重新启动在某些时候失败的apache,并在某些时候中止配置虚拟主机。 –

回答

0

从您的问题中不完全清楚您想要达到的目标。如果你想着特定的URL说HTTPS URL话,就可以实现使用以下行:

<VirtualHost *:80> 
    ServerName localhost:80 
    RedirectMatch permanent ^(.*)$ https://localhost:8443$1 
</VirtualHost> 

如果你想配置Apache服务器,JBoss服务器和MOD_JK的话可以参考这个link

+0

我不想重定向。我只尝试配置我的VHost。 但是,当我打电话给我的虚拟主机地址,Apache返回标准index.html响应。 –

0

OK ,这是一年前提出的问题,但今天我遇到了同样的问题,可能我找到的解决方案对其他人来说非常有帮助,所以在这里。

对我来说有效的是在/ etc/apache2/sites-enabled中重命名软链接,并将扩展名.conf附加到该文件夹​​中的每个链接。

所以,如果我们有以下几个环节:

/etc/apache2/sites-enabled$ ls -l 
lrwxrwxrwx 1 root root 23 Nov 30 2012 site1 -> ../sites-available/site1 
lrwxrwxrwx 1 root root 23 Nov 30 2012 site2 -> ../sites-available/site2 

我们应该重新命名既site1.conf和site2.conf

/etc/apache2/sites-enabled$ sudo mv site1 site1.conf 
/etc/apache2/sites-enabled$ sudo mv site2 site2.conf 

然后当然,重启apache

/etc/apache2/sites-enabled$ sudo /etc/init.d/apache2 restart 

这个工作的原因是因为Apache最近改变了某些时间这个文件的方式d的名字是为了使它们正确加载,如apache2.conf文件的最后一行所述。

# Include the virtual host configurations: 
IncludeOptional sites-enabled/*.conf