2014-07-02 494 views
0

我想爲我的應用程序創建一個虛擬主機我得到了一些關於如何設置虛擬主機的教程,但仍然遇到問題,首先我在/ etc/apache2 /網站-avalable/popinbay.dev這是popinbay.dev文件,請注意,我使用的Ubuntu 14.04創建一個虛擬主機

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName popibay.dev 
    DocumentRoot /var/www/laravel4   
    </VirtualHost> 

然後我編輯/ etc/hosts文件,並將此行

127.0.0.1  popibay.dev 

然後我根據本教程做了一個sudo服務apache2重裝virtual host in ubuntu not work 但是t他的問題仍然是laravel4頁面默認的localhost頁面。

+0

'的/ etc/apache2的/網站,avalable/popinbay.dev'的「sites-可用「是一個錯字嗎? – Unnawut

+0

@Unnawut是的,這是... – ubilli

回答

2

您正在使用「基於名稱的虛擬主機」。

Apache的文檔上Using Name-based Virtual Hosts

To use name-based virtual hosting, you must designate the IP address (and possibly port) on the server that will be accepting requests for the hosts. This is configured using the NameVirtualHost directive. In the normal case where any and all IP addresses on the server should be used, you can use * as the argument to NameVirtualHost.

嘗試添加NameVirtualHost *:80到您的配置的頂部,然後重新啓動Apache的。例如。

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName popibay.dev 
    DocumentRoot /var/www/laravel4   
</VirtualHost> 

請注意,您可能需要將DocumentRoot更改爲/var/www/laravel4/public。這就是您的http服務器在Laravel項目中默認指向的地方。

+0

我試着說你說的但它沒有工作,它仍然要去本地index.html文件 – ubilli

+0

@ubilli嘗試Abhineet的答案了。這可能是他所說的或他的答案和我的組合。有時我需要重新啓動瀏覽器才能識別更新的'/ etc/hosts'文件。 – Unnawut

0

您在sites-available文件夾中添加了虛擬主機文件,但沒有啓用它。

使用

sudo a2ensite virtuatl_host.conf 

在你的情況,

sudo a2ensite popibay.dev.conf 

然後,

sudo service apache2 reload 
+0

➜網站可用> sudo a2ensite popinbay.dev 錯誤:網站popinbay.dev不存在! ➜網站可用> – ubilli

+0

你確定你的conf名是'popinbay.dev'嗎?如果不是,那麼用這個名稱替換'popinbay.dev' –

+0

這是我的命令行➜站點可用> ls 000-default.conf default-ssl.conf popibay.dev ➜站點可用> – ubilli