虛擬主機是指在一台主機上運行的多個Web站點,每個站點均有自己獨立的域名,虛擬主機對用戶是透明的,就好像每個站點都在單獨的一台主機上運行一樣。
如果每個Web站點擁有不同的IP地址,則稱為基於IP的虛擬主機,若每個站點的IP地址相同,但域名不同,則稱為基於名字或主機名的虛擬主機。
下面演示一下怎樣配置虛擬主機:
1. 編輯/etc/hosts文件,在文件中添加如下內容:
我的IP地址是192.168.204.210,所以添加的內容為:
192.168.204.210 www.myweb.com
然後可以用ping命令來測試一下行不?ping 192.168.204.210,若能Ping通,則域名解析正常。
2.創建所需的目錄:mkdir -p /var/www/myweb
3. 配置/etc/apache2/sites-available/default文件。
NameVirtualHost 192.168.204.210:80
2
3 ServerAdmin www.myweb.com
4
5 DocumentRoot /var/www/
6
7 Options FollowSymLinks
8 AllowOverride None
9
10
11 Options Indexes FollowSymLinks MultiViews
12 AllowOverride None
13 Order allow,deny
14 allow from all
15 # This directive allows us to have apache2's default start page
16 # in /apache2-default/, but still have / go to the right place
17 #RedirectMatch ^/$ /apache2-default/
18
19
20 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
21
22 AllowOverride None
23 Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
24 Order allow,deny
25 Allow from all
26
27
28 ErrorLog /var/log/apache2/error.log
29
30 # Possible values include: debug, info, notice, warn, error, crit,
31 # alert, emerg.
32 LogLevel warn
33
34 CustomLog /var/log/apache2/access.log combined
35 ServerSignature On
36
37 Alias /doc/ "/usr/share/doc/"
38
39 Options Indexes MultiViews FollowSymLinks
40 AllowOverride None
41 Order deny,allow
42 Deny from all
43 Allow from 127.0.0.0/255.0.0.0 ::1/128
44
45
46
修改成這樣就行了。
4.重啟一下Apache2服務器。在命令行下輸入/etc/init.d/apache2 restart。
5.測試一下虛擬主機。在虛擬主機的站點根目錄,創建一個index.html文件,在浏覽器上輸入http://www.myweb.com/index.html,若能看到index.html的內容,就說明配置成功了。