其他分享
首页 > 其他分享> > httpd服务基础

httpd服务基础

作者:互联网

这里写目录标题

Web服务基础

Web服务基础:提供页面的内容
http:超文本传输协议 默认端口80
Hyper Text Markup Language(html),超文本标记语言

• 基于 B/S (Browser/Server)架构的网页服务
– 服务端提供网页
– 浏览器下载并显示网页

Web服务 http协议 httpd(软件) Apache基金会

虚拟机server:

1.安装httpd软件

2.书写页面文件

3.重启httpd服务

#####################################################
• 软件包:httpd
• 系统服务:httpd
• 提供的默认配置
– Listen:监听地址:端口(80)
– ServerName:本站点注册的DNS名称(空缺)
– DocumentRoot:设置网页文件根目录(/var/www/html)
– DirectoryIndex:起始页/首页文件名(index.html)

DocumentRoot:设置网页文件根目录(/var/www/html)
虚拟机server:
]# mkdir /var/www/myweb
]# echo ‘

wo shi myweb’ > /var/www/myweb/index.html

]# vim /etc/httpd/conf/httpd.conf

DocumentRoot “/var/www/myweb”

]# systemctl restart httpd

]# firefox 172.25.0.11

###################################################

客户端访问:firefox http://172.25.0.11:80----->服务端接收------->80端口---->httpd程序----->DocumentRoot /var/www/myweb----->index.html

网络路径与实际路径

客户端:firefox 172.25.0.11 = /var/www/myweb
服务端: /var/www/myweb

客户端:firefox 172.25.0.11/abc
服务端: /var/www/myweb/abc

DocumentRoot /var/www/myweb
客户端:firefox 172.25.0.11/var/www/myweb/nsd/test
服务端: /var/www/myweb/var/www/myweb/nsd/test

虚拟机server:
]# mkdir /var/www/myweb/abc
]# echo ‘<h1>wo shi abc’ > /var/www/myweb/abc/index.html

]# firefox 172.25.0.11/abc

####################################################

主配置文件:/etc/httpd/conf/httpd.conf

调用配置文件:/etc/httpd/conf.d/*.conf

/etc/httpd/conf.d/dc.conf

/etc/httpd/conf.d/tc.conf

####################################################

虚拟Web主机(虚拟站点)

虚拟主机的含义及类型
• 虚拟Web主机
– 由同一台服务器提供多个不同的Web站点

• 区分方式
– 基于域名的虚拟主机
– 基于端口的虚拟主机 www.qq.com:80 www.qq.com:8000
– 基于IP地址的虚拟主机

• 为每个虚拟站点添加配置
<VirtualHost IP地址:端口>
ServerName 此站点的DNS名称
DocumentRoot 此站点的网页根目录

DNS服务器:虚拟机classroom
server0.example.com
www0.example.com
webapp0.example.com

虚拟机server:
[root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost  *:80>    #本机所有ip地址开启虚拟Web主机功能
   ServerName server0.example.com  #设置网站访问的域名
   DocumentRoot /var/www/qq        #设置网页文件存放路径
</VirtualHost>

<VirtualHost  *:80>
   ServerName www0.example.com
   DocumentRoot /var/www/baidu
</VirtualHost>

一旦使用虚拟Web主机功能,所有的页面都必须利用虚拟Web主机呈现虚拟机Server:

[root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost  *:80>
   ServerName server0.example.com
   DocumentRoot /var/www/qq
</VirtualHost>
<VirtualHost  *:80>
   ServerName www0.example.com
   DocumentRoot /var/www/baidu
</VirtualHost>
<VirtualHost  *:80>
   ServerName webapp0.example.com
   DocumentRoot /var/www/myweb
</VirtualHost>

[root@server0 ~]# systemctl restart httpd
#####################################################

Web访问控制

针对网页文件存放的路径进行访问控制,默认继承父目录访问控制

/var/www/abc       #拒绝所有人访问
/var/www/abc/test  #拒绝所有人访问

/opt       #拒绝所有人访问
/opt/nsd   #单独设置允许
/opt/pub   #拒绝所有人访问
<Directory  "/var/www">
    Require all granted   #允许所有人
</Directory>
 Require all denied      #拒绝所有人
Require ip 172.25.0.10  #仅允许172.25.0.10进行访问

###################################################

案例:修改网站server0.example.com的网页文件路径为/webroot

]# mkdir /webroot
]# echo ‘<h1>wo shi webroot’ > /webroot/index.html
]# cat /webroot/index.html

[root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost  *:80>
   ServerName server0.example.com
   DocumentRoot /webroot    #修改存放网页路径
</VirtualHost>
[root@server0 ~]# vim /etc/httpd/conf/httpd.conf 
[root@server0 ~]# vim /etc/httpd/conf.d/nsd02.conf
<Directory "/webroot">       #针对于/webroot进行策略配置
    Require all granted      #允许所有人访问
</Directory>

[root@server0 ~]# systemctl restart httpd
[root@server0 ~]# setenforce 0 #修改SELinux状态
[root@server0 ~]# getenforce #查看SELinux状态
#####################################################

站点访问控制

文件夹权限
针对DocumentRoot 页面目录的权限控制

使用配置区段

<Directory 目录的绝对路径>
.. ..
Require all denied | granted
Require ip IP或网络地址
\</Directory>

案例,在DocumentRoot 目录下建立private目录只有server0可访问

selinux

三大策略

安全上下文:为所有重点数据打上标签

semanage fcontext -l上下文类型

ls -Z

增加新的web目录

  1. chcon 【-R】 --reference=模板 新目录
  2. semanage fcontext -a -t httpd_sys_content_t ‘新目录(/.*)?’
    restorecon -R /webroot/

动态网站

标签:httpd,www,服务,server0,基础,conf,DocumentRoot,var
来源: https://blog.csdn.net/qq_52835624/article/details/122464583