Linux之Apache部署Web网站

环境
Windows11、VMware Workstation 16.2.2
系统
Red hat7.4
说明
什么是Apache?
- Apache是一个基于流程的模块化Web服务器应用程序,它通过每个同时连接创建一个新线程。它支持许多功能; 其中许多都被编译为单独的模块并扩展其核心功能,并且可以提供从服务器端编程语言支持到身份验证机制的所有功能,它允许单个Apache Web服务器为许多不同的网站提供服务。
web系统的组成?
web服务是指能够让用户通过浏览器或APP访问并显示互联网中各类信息资源的服务。
web客户端:用户通过浏览器或APP接收其访问请求,以http或https将请求发送到网络中的web服务器,并将服务器的响应信息以图形界面显示出来。
web服务通信协议:实现web客户端与web服务器之间建立或关闭连接,传送网页信息的网络协议。主要有http和https两种协议,它们是再Internet上发布多媒体信息的应用层协议。
web服务器(web网站):侦听和响应客户端http/https请求,通过html(超文本标记语言)把信息组织成为图文并茂的超文本,并回送结果信息给客户端。
部署
项目一
1.配置🙀
/etc/httpd/conf/httpd.confServerRoot "/etc/httpd" #设置Apache的根目录为/etc/httpdListen 80 #设置http侦听端口为80ServerAdmin AliZhs@outlook.com #设置管理员E-mail地址为AliZhs@outlook.comServerName 192.168.22.110 #设置web服务器的主机名DocumentRoot "/var/www/html" #设置网页文档的存放位置DirectoryIndex index.html #指定首页文件的名称
2.创建首页文件🙀
/var/www/html
[root@jw2031-122 html]# echo "welcome to test index" > index.html #写入[root@jw2031-122 html]# apachectl configtest #测试配置文件Syntax OK
3.重启服务、测试略🙀
项目二
使用虚拟目录为多个部门建立子网站
| 名称 | 虚拟目录别名 | 物理路径 |
|---|---|---|
| 师部 | 无 | /abc/shibu |
| 炮团 | /paotuan | /abc/paotuan |
| 侦察营 | /zhencha | /abc/zhencha |
| 特战大队 | /tezhan | /abc/tezhan |
根据上图表配置虚拟目录,IP地址为192.168.22.110
1.创建各自虚拟目录,并写入文档🐒
[root@jw2031-122 abc]# echo "师部首页" >shibu/index.html[root@jw2031-122 abc]# echo "炮团首页" >paotuan/index.html[root@jw2031-122 abc]# echo "侦察营首页" >zhencha/index.html[root@jw2031-122 abc]# echo "特战大队首页" >tezhan/index.html
2.编辑虚拟目录配置文件🐒
在/etc/httpd/conf.d/目录下新建一个子配置文件来配置虚拟目录。
默认情况下,位于/etc/httpd/conf.d/目录下的所有以.conf结尾文件都会被加载作为Apache的配置信息.
3.Test🐒
项目三
使用虚拟主机在一台主机上建立多个网站
根据上表搭建域名不同的两个虚拟主机
基于域名的虚拟主机
1.创建所需目录和首页文件🐻
1 | [root@jw2031-122 ~]# echo "taobao">/var/www/taobao/index.html |
2.复制配置虚拟主机的样本文件编辑主机配置文件🐻
虚拟主机模板位置**/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf**
1 | [root@jw2031-122 ~]# cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/ |
3.测试🐻
1 | [root@jw2031-122 ~]# curl www1.taobao.com |
基于端口号的虚拟主机
根据上表11-3】taobao设置端口号为80,jd设置为8080
1 | vim /etc/httpd/conf/httpd.conf |
1 | [root@jw2031-122 ~]# cat /etc/httpd/conf.d/httpd-vhosts.conf |
1 | [root@jw2031-122 ~]# curl 192.168.1.2:80 |
基于IP地址的虚拟主机
按照上图配置
1.设置IP地址🐎
1 | cat /etc/sysconfig/network-scripts/ifcfg-ens33 |
2.创建相应目录🐎
1 | [root@jw2031-122 ~]# mkdir -p /var/www/web1 |
3.编辑虚拟主机文件🐎
1 | [root@jw2031-122 conf.d]# cat httpd-vhosts.conf |
4.test🐎
1 | [root@jw2031-122 conf.d]# curl 192.168.1.1 |
项目四
Web服务器的访问控制
基于用户认证的访问控制
1.创建用户保存到teacherwed认证文件中🐾
1 | [root@jw2031-122 ~]# htpasswd -c /etc/httpd/.teacherwd zhang3 |
htpasswd命令中”-c”选项表示无论认证文件是否存在,都重新写入文件并删除文件中原有的内容,因此添加第二个用户时,就无需再使用”-c”选项了,修改zhang3密码为htpasswd -m /etc/httpd/.teacherwd zhang3。
2.创建虚拟目录🐾
[root@jw2031-122 ~]# mkdir -p /www/lute[root@jw2031-122 ~]# echo "cainiao" >/www/lute/index.html
3.设置虚拟目录添加认证访问🐾
1 | [root@jw2031-122 ~]# cat /etc/httpd/conf.d/vdir.conf |
4.测试、略🐾………………………
基于客户端地址的访问控制
1 | [root@jw2031-122 ~]# cat /etc/httpd/conf.d/vdir.conf |
`











