目录
1.Apache的作用
在web被访问时通常使用http://
的方式。
http://即超文本传输协议。
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
http://超文本传输协议提供软件:
Apache、nginx、stgw、jfe、Tenginecurl -I 163.com/baidu.com/taobao.com #查看
2.Apache的安装及启用
安装:
dnf install -y httpd
启用:
systemctl enable --now httpd
#开启服务并设定无复开机自启firewall-cmd --permanent --add-service=http
#在火墙中永久开启http访问
firewall-cmd --permanent --add-service=https
#在火墙中永久开启https访问
firewall-cmd --reload
#刷新火墙使设定生效
firewall-cmd --list-all
#查看是否生效
3.Apache的基本信息
所提供服务名称: httpd
主配置文件: /etc/httpd/conf/httpd.conf
子配置文件: /etc/httpd/conf.d/*.conf
默认发布目录: /var/www/html
默认发布文件: index.html
默认端口 http:80 / https:443
系统中对应用户: apache
日志存放路径: /etc/httpd/logs
查询:
查询端口:netstat -antlupe | grep httpd / ss -antlupe | grep httpd
查询用户:ps aux | grep httpd
4.Apache的基本配置
4.1端口修改
vim /etc/httpd/conf/httpd.conf
Listen 80 ---> 8080 #更改端口firewall-cmd --permanent --add-port=8080/tcp
#在火墙中添加端口
firewall-cmd --reload
systemctl restart httpd
vim /etc/httpd/conf/httpd.conf
vim /etc/httpd/conf/httpd.conf
注意:8080端口是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号。另外Apache Tomcat web server安装后,默认的服务端口就是8080。
4.2默认发布文件
认发布文件如果不存在,访问的内容为测试页; 默认发布文件如果存在,访问的内容为文件内容。
1)默认访问文件存在时,更改默认文件内容
vim /var/www/html/westos.html ---> hello westos
vim /var/www/html/index.html ---> Timi
浏览器访问 ,默认看到index.html
2) 改变配置文件使其显示 westos.html 内容
vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos.html index.html
默认会先访问前面的默认发布文件,如果失效再访问后面的)
systemctl restart httpd
浏览器访问 ,默认看到index.html已变为westos.html
4.3 默认发布目录
更改配置文件,指定默认发布目录位置并授权
[root@westos_ftp ~]# mkdir /westos_apache
[root@westos_ftp ~]# vim /westos_apache/index.html
[root@westos_ftp ~]# cat /westos_apache/index.html
westos_apache
[root@westos_ftp ~]# semanage fcontext -a -t httpd_sys_content_t '/westos_apache(/.*)?'
[root@westos_ftp ~]# restorecon -RvvF /westos_apache/
[root@westos_ftp ~]# vim /etc/httpd/conf/httpd.conf
[root@westos_ftp ~]# systemctl restart httpd
vim /etc/httpd/conf/httpd.conf
vim /etc/httpd/conf/httpd.conf #DocumentRoot "/var/www/html" DocumentRoot "/westos/html" <Directory "/westos/html"> Require all granted </Directory> systemctl restart httpd
5.Apache的访问控制
5.1基于客户端ip的访问控制
> ip黑名单在配置文件中的更改:
1)在httpd的共享位置/var/www/html目录下,建立westos目录,在该目录下编写默认发布文件index.html,修改主配置文件 /etc/httpd/conf/httpd.conf,重启服务。
2)IP用户黑名单,先读取allow,后读取deny,后读会覆盖先读:不允许172.25.254.128访问。
>先读deny,再读allow,允许172.25.254.128访问
步骤:
[root@num1 html]# vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/westos">
Order deny,allow
allow from 172.25.254.77
deny from all
</Directory>
[root@num1 html]# systemctl restart httpd
5.2 基于用户的访问控制:
1.生成认证文件
[root@num1 httpd]# cd /etc/httpd
[root@num1 httpd]# ls
conf conf.d conf.modules.d logs modules run state
[root@num1 httpd]# htpasswd -cm .htpasswd admin 生成admin用户认证文件
New password: 设置密码
Re-type new password: 确认密码
Adding password for user admin
[root@num1 httpd]# htpasswd -m .htpasswd api 生成api 用户认证文件
New password:
Re-type new password:
Adding password for user api
[root@num1 httpd]# cat .htpasswd
admin:$apr1$xOJS9iGj$TvEW2/Toyj9KmIsvQbHwC0
api:$apr1$jvtBnT0.$ferpNEXNURtPo4w/PqZ9q1 查看认证文件
注意: 第二次成认证文件时,中间用-m ,如果用-cm 第一次认证将会被覆盖掉,-c是创建,-m是加密
2.编写测试页
[root@num1 ~]# mkdir -p /var/www/html/westos
[root@num1 ~]# cd /var/www/html/westos
[root@num1 westos]# ls
index.html
[root@num1 westos]# vim index.html
hello westos'world
3.在配置文件更改用户认证信息
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html" <Directory "/var/www/html/westos"> AuthUserfile /etc/httpd/.htpasswd AuthName "Please input username and password !!" AuthType basic #Require user admin 允许指定用户验证 Require valid-user 允许所有用户验证 </Directory>
systemctl restart httpd
4. 浏览器访问172.25.254.113/westos,需要用户认证
6.Apache的虚拟主机
1.还原主配置文件,注释掉/westos/html这些
2. 一个apache发布多个页面,编写子页面测试页
[root@num1 conf]# mkdir -p /var/www/virtual/westos.org/{linux,lee}
[root@num1 conf]# vim /var/www/virtual/westos.org/linux/index.html
[root@num1 conf]# vim /var/www/virtual/westos.org/lee/index.html
[root@num1 conf]# cat /var/www/virtual/westos.org/linux/index.html
welcome linux
[root@num1 conf]# cat /var/www/virtual/westos.org/lee/index.html
welcome lee
3.在httpd的子配置文件中配置虚拟主机
4.添加地址解析(用哪台主机的浏览器访问,就在哪台主机中添加地址解析)
5.结果测试
重启服务:systemctl restart httpd