PHP动态网站建设

如何配置虚拟主机

1. 学习提纲

  • 本地发布与互联网发布:介绍了如何通过本地IP地址和互联网域名发布网站。

  • 虚拟主机配置与访问:讲解了如何配置虚拟主机,并通过自定义域名访问不同的站点目录。

  • Web服务器配置 :详细说明了如何配置Apache服务器,包括修改hosts文件、httpd.conf文件以及虚拟主机配置文件。

2. 知识架构

  • Web服务器配置 :包括修改hosts文件、配置虚拟主机、访问权限控制等。

  • 虚拟主机配置 :通过修改httpd.confhttpd-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服务器的配置步骤。

相关推荐
suxiaoling@3 小时前
C# 使用GDI+设计登录窗体(窗体渐变和关闭淡出)
开发语言·c#
邦之彦4 小时前
C++:四大强制类型转换
开发语言·c++·static_cast·const_cast·dynamic_cast·reinterpretcast
陆鳐LuLu5 小时前
初学者如何用 Python 写第一个爬虫?
开发语言·爬虫·python
柿柿快乐5 小时前
C++入门基础
开发语言·c++
chuhx5 小时前
java 查找两个集合的交集部分数据
java·开发语言
落落落sss6 小时前
分布式日志和责任链路
java·运维·开发语言·后端·jenkins
C_V_Better6 小时前
Java 导出 PDF 文件:从入门到实战
java·开发语言·算法·pdf
zjoy_22336 小时前
【数据结构】什么是栈||栈的经典应用||分治递归||斐波那契问题和归并算法||递归实现||顺序栈和链栈的区分
java·c语言·开发语言·数据结构·c++·算法·排序算法
kfepiza7 小时前
Python的循环和条件判断 笔记250303
开发语言·笔记·python