ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

httpd服务基础

2022-01-16 14:30:00  阅读:163  来源: 互联网

标签:httpd www 服务 server0 基础 conf DocumentRoot var


这里写目录标题

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 页面目录的权限控制

  • http运行身份(用户/组):apache

使用配置区段

  • 每个文件夹自动继承其父目录的ACL访问权限
  • 除非针对子目录有明确设置
<Directory 目录的绝对路径>
.. ..
Require all denied | granted
Require ip IP或网络地址
\</Directory>

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

selinux

三大策略

  • bool值
  • 安全上下文
  • 非默认端口开放

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

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有