2010-05-03 105 views
1

首先一個快速免責聲明,我不是'服務器人'或'UNIX專業版'或類似的東西,我是一個Web程序員, Ubuntu的)在我的上網本。在Apache服務器上的多個域

我試圖設置一個在Debian上運行的apache服務器,以自動爲多個域提供服務,每個域需要在/ var/www中擁有自己的目錄。

因爲這是我爲這家公司做的最後一件事情,所以我真的需要它對我的繼任者來說很容易(他甚至比我更像一個服務器的初學者),創造更多的領域,而不必使用ssh或/ etc/apache2/sites-available,所以我在尋找的基本上是默認情況下(或者apt-get,或者conf.d)的任何神奇的mumbo-jumbo,它使得服務器開始服務任何具有匹配文件夾的域在/ var/www中,他們將不得不以常用方式啓動域名轉移。

我沒有問題單獨設置域。

Ick ...希望以上對某人有意義。

回答

1

的味道爲來自Apache的多個域的未經測試的代碼,你需要Apache虛擬主機。您就可以開始投放有使用mod_vhost_alias Apache的虛擬主機在/ var/WWW匹配的文件夾,」任何領域。

下面的配置將完全限定域名(例如www.example.org),並用它作爲變量'%0',因此,爲了提供'www.example.org',你需要在/var/www/www.example.org/docs創建一個目錄,並在其中放置HTML內容。去/var/www/www.example.org/cgi-bin/

<VirtualHost 192.168.1.100:80> 

# get the server name from the Host: header 
UseCanonicalName Off 

VirtualDocumentRoot /var/www/%0/docs 
VirtualScriptAlias /var/www/%0/cgi-bin 

</VirtualHost> 

然後,點 'www.example.org' 到 '192.168.1.100',和Apache會很樂意成爲該虛擬主機。

+0

客戶端怎麼樣輸入'http://example.org'?網址會將他帶到/var/www.example.org/docs目錄嗎? – cache 2012-06-27 06:14:51

+1

@cache:好問題。不,'example.org'會將他/ var /我不知道在這種情況下該怎麼做,但我認爲解決方案會涉及一些重寫事先將所有內容發送到規範URL。我想你應該在Serverfault.com上提出你的問題作爲一個新問題。我很想看看其他人如何處理這個問題。 – 2012-06-27 19:12:22

0

與Ubuntu

sudo a2enmod rewrite 
vi /etc/apache/sites-enabled/000-default 

NameVirtualHost * 
<VirtualHost *> 
     DocumentRoot /var/www/ 
     RewriteEngine On 
     RewriteRule ^(.*)$ %{HTTP_HOST}/$1 
</VirtualHost> 


sudo /etc/inid.d/apache2 restart 
相關問題