虚拟主机是指在一台主机上运行的多个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 <VirtualHost 192.168.204.210:80>
3 ServerAdmin
www.myweb.com
4
5 DocumentRoot /var/www/
6 <Directory />
7 Options FollowSymLinks
8 AllowOverride None
9 </Directory>
10 <Directory /var/www/>
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 </Directory>
19
20 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
21 <Directory "/usr/lib/cgi-bin">
22 AllowOverride None
23 Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
24 Order allow,deny
25 Allow from all
26 </Directory>
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 <Directory "/usr/share/doc/">
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 </Directory>
45
46 </VirtualHost>
修改成这样就行了。
4.重启一下Apache2服务器。在命令行下输入/etc/init.d/apache2 restart。
5.测试一下虚拟主机。在虚拟主机的站点根目录,创建一个index.html文件,在浏览器上输入
http://www.myweb.com/index.html,若能看到index.html的内容,就说明配置成功了。