如何配置虚拟主机
1. 学习提纲
-
本地发布与互联网发布:介绍了如何通过本地IP地址和互联网域名发布网站。
-
虚拟主机配置与访问:讲解了如何配置虚拟主机,并通过自定义域名访问不同的站点目录。
-
Web服务器配置 :详细说明了如何配置Apache服务器,包括修改
hosts
文件、httpd.conf
文件以及虚拟主机配置文件。
2. 知识架构
-
Web服务器配置 :包括修改
hosts
文件、配置虚拟主机、访问权限控制等。 -
虚拟主机配置 :通过修改
httpd.conf
和httpd-vhosts.conf
文件,实现多域名多站点的配置。 -
访问权限控制 :通过
<Directory>
指令控制目录的访问权限,增强服务器的安全性。
3. 虚拟主机配置步骤
- 1.配置虚拟主机:以XAMPP的Apache为例,默认情况下,Apache只有D:\xampp\htdocs目录下的这一个站点。( Web服务器配置------修改hosts文件,将域名解析到本地)通过虚拟主机,可以实现用自定义的域名来访问,并且可以为不同的域名指定不同的站点目录。(1). 配置IP地址和域名的映射关系:申请真实的域名需要一定的费用,为了方便开发,可以通过修改hosts文件来实现将任意域名解析到本地。在C:\Windows\System32\drivers\etc的hosts文件中配置IP地址和域名的映射关系。
- 第一步:修改hosts文件,将域名解析到本地。配置IP地址和域名的映射关系
- 第二步:启动Apache
- 第三步:修改httpd.conf文件,启用虚拟主机配置文件
- 第四步:找到并打开虚拟主机配置文件httpd-vhosts.conf
- 第五步:在httpd-vhosts.conf配置文件中进行虚拟主机的配置。为不同的域名指定不同的站点目录
- 第六步:创建对应的站点
- 第七步:访问虚拟主机:在浏览器地址栏中输入域名www.cs.com,测试虚拟主机能否正常访问。
- 注意:PHP页面没有预览效果,预览仅能看到默认文档流 效果,看不到复杂CSS样式
Web服务器配置
配置虚拟主机在:hosts文件中配置IP地址和域名的映射关系:
127.0.0.1 www.php.test
127.0.0.1 www.admin.test
配置虚拟主机:修改httpd.conf文件,启用虚拟主机配置文件,去掉"#"号:
#Include conf/extra/httpdvhv
配置虚拟主机:在httpd-vhosts.conf虚拟主机配置文件,添加虚拟主机的配置:
<VirtualHost *:80>
DocumentRoot "c:/web/apache2.4/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/web/apache2.4/htdocs/www.php.test"
ServerName www.php.test </VirtualHost>
<VirtualHost default:80>
DocumentRoot "${SRVROOT}/htdocs"
#ServerName www.example.com:80
</VirtualHost>
配置虚拟主机:启动XAMPP的Apache,在htdocs目录中创建www.php.test目录 创建index.html,内容为"Welcome www.php.test",访问两个虚拟主机。
**访问权限控制:**在Apache的主配置文件httpd.conf中,默认已经添加了一些目录的配置,这些配置写在<Directory>指令中,一共有两处目录配置。 第1处是根目录配置,表示拒绝所有对根目录的访问请求,进一步增强了服务器的安全性。当用户访问某个目录时,Apache会查找该目录的配置和所有上级目录的配置,该目录的配置会覆盖上级目录的配置。
4. 访问权限控制
-
根目录配置:默认拒绝所有访问,增强安全性。
-
htdocs
目录配置:允许访问,启用目录浏览功能。 -
案例练习:配置一个虚拟主机,关闭目录浏览功能,开启分布式配置文件,只允许本地访问。
C:\xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@dophp.com
DocumentRoot "/dophp"
ServerName dophp.com
ServerAlias www.dophp.com
ErrorLog "/logs/.com-error_log"
CustomLog "/logs/dophp.com-access_log" common
<Directory "/dophp">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dophp.com
DocumentRoot "/htdocs/dophp"
ServerName dophp.com
ServerAlias www.dophp.com
ErrorLog "/logs/.com-error_log"
CustomLog "/logs/dophp.com-access_log" common
<Directory "/htdocs/dophp">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot "/var/www/yourdomain"
ServerName yourdomain.com
ServerAlias www.yourdomain.com
ErrorLog "/var/log/httpd/yourdomain.com-error_log"
CustomLog "/var/log/httpd/yourdomain.com-access_log" common
<Directory "/var/www/yourdomain">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
5. XAMPP环境搭建
索引方式: 80端口下的 默认根目录 的索引 Index of/
-
安装Apache:配置Apache的安装路径和服务器域名。
-
安装MySQL:创建配置文件,初始化MySQL,设置root用户密码。
-
安装PHP:配置PHP模块,测试PHP是否安装成功。
6. 小结
-
虚拟主机配置与访问:通过虚拟主机实现多站点管理。
-
访问权限设置:通过配置文件控制目录访问权限,增强安全性。
-
Web服务器配置:详细讲解了Apache服务器的配置步骤。