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服务器的配置步骤。

相关推荐
归云鹤7 分钟前
QT信号和槽怎么传输自己定义的数据结构
开发语言·数据结构·qt
hjc_04204314 分钟前
laravel下phpunit的使用
php·laravel
ytttr87320 分钟前
MATLAB 实现 SRCNN 图像超分辨率重建
开发语言·matlab·超分辨率重建
饭碗的彼岸one27 分钟前
重生之我在10天内卷赢C++ - DAY 1
linux·开发语言·c++·经验分享·笔记·学习方法
项目申报小狂人37 分钟前
2025年1中科院1区顶刊SCI-投影迭代优化算法Projection Iterative Methods-附完整Matlab免费代码
开发语言·算法·matlab
weixin_437499921 小时前
【PHP属性详解:从基础到只读的完全指南】
开发语言·php
枫叶落雨2221 小时前
Hutool 的 WordTree(敏感词检测)
java·开发语言
Layflok1 小时前
《黑马笔记》 --- C++ 提高编程
开发语言·c++·stl
csdn_aspnet2 小时前
PHP 求梯形面积的程序(Program to find area of a Trapezoid)
php
上单带刀不带妹2 小时前
ES6中import与export的用法详解
开发语言·javascript·es6·import·export