1 Apache的作用 - 解析网页语言,如html,php,jsp等
- 接收web用户的请求,并给予一定的响应
2 Apache的安装安装apche软件:dnf install httpd.x86_64 -y 
3 apache的启用 - 开启apache服务并设置开机启动:
systemctl enable --now httpd - 查看apache服务的状态:
systemctl enable --now httpd 
- 查看火墙信息:firewall-cmd --list-all 在火墙中永久开启http服务:
firewall-cmd --permanent --add-service=http - 在火墙中永久开启https服务: f
irewall-cmd --permanent --add-service=https - 在不改变当前火墙状态的情况下刷新防火墙:
firewall-cmd --reload 
4 apache的基本信息apche的基本信息 - 服务名称:
httpd - 主配置文件:
/etc/httpd/conf/httpd.conf - 子配置文件:
/etc/httpd/conf.d/*.conf - 默认发布目录:
/var/www/html - 默认端口:80 (http) ,443(https)
- 日志文件:
/etc/httpd/logs - 开启apche服务后,输入ip查看默认发布页面:

(1)更改apche服务的端口号 - 查看httpd服务的默认端口号:
netstat -antlupe |grep httpd 
- 编辑配置文件:
/etc/httpd/conf/httpd.conf ,修改端口号 
- 重启httpd服务:
systemctl restart httpd - 查看httpd服务的端口号:
netsat -antlupe | grep httpd 
- 更改端口号后,输入ip后无法正常连接,原因是8080端口未添加在火墙中

- 在防火墙里添加888端口号:
firewall-cmd --permanent --add-port=888/tcp - 在不改变当前火墙状态的情况下刷新防火墙:
firewall-cmd --reload 

(2)修改apche的默认发布文件 - 默认目录:
cd /var/www/html - 在文件默认发布目录下新建一个文件
index.html 
- 输入:http://172.25.254.144查看

默认发布文件就是访问apache时没有指定文件名,即默认访问的文件,此文件可以指定多个,但有访问顺序。 
- 编辑配置文件:
/etc/httpd/conf/httpd.conf 
- 重启httpd服务:
systemctl restart httpd 
(3)修改apche的默认发布目录 - 新建目录:
mkdir -p /westos/html/ - 创建文件:
vim /westos/html/index.html 
- 编辑apche配置文件:
/etc/httpd/conf/httpd.conf 
- 重启服务:
systemctl restart httpd - 测试:浏览器中输入http://172.25.254.144, 看到的是/westos/html/目录内的默认发布文件

- 新建发布目录:mkdir /var/www/html/westos
- 新建发布文件:vim /var/www/html/westos/index.html

- 编辑配置文件:vim /etc/httpd/conf/httpd.conf

- 重启服务:
systemctl restart httpd - 测试:
http://172.25.254.144/westos/ 
5 apache的访问控制
5.1 基于客户端ip的访问控制 - 基于ip的访问,规定了哪些ip可以访问,那些ip不能访问,其中配置文件中order中的deny和Allow哪一个顺序在前直接决定了黑白名单的属性
(1)白名单 - ip白名单:只有名单内的用户可以访问
- 编辑配置文件:
vim /etc/httpd/conf/httpd.conf 
- 重启服务:
systemctl restart httpd - 测试: ip=172.25.254.44在ip白名单,可以正常访问http://172.25.254.44/westos

ip=172.25.254.144的主机不在白名单内,无法访问http://172.25.254.44/westos 
(2)ip黑名单 - ip黑名单:只有名单内的用户不可以访问
- 编辑配置文件:
vim /etc/httpd/conf/httpd.conf 
- 测试:ip=172.25.254.44在ip黑名单中,可以正常访问http://172.25.254.44/westos

ip=172.25.254.144不在黑名单内,可以正常访问http://172.25.254.44/westos 
5.2 基于用户认证的访问控制(1)允许部分用户通过认证访问共享目录 - 生成认证文件,建立admin用户:
htpasswd -cm /etc/httpd/htpasswdfile linux 
- 建立linux用户,-c会重新建立用户认证文件,覆盖之前的admin用户,入密码会覆盖之前的用户:
htpasswd -m /etc/httpd/htpasswdfile westos 
- 只允许部分用户可以通过认证,编辑配置文件:
vim /etc/httpd/conf/httpd.conf 
- 重启服务:systemctl restart httpd
- 测试:只有通过认证的用户可以访问共享目录




(2)允许所有用户通过认证访问共享目录 - 编辑配置文件:
vim /etc/httpd/conf/httpd.conf 
- 重启服务:
systemctl restart httpd - 测试:所有用户都可以通过认证访问共享目录


6 apache的虚拟主机虚拟主机:在一台真实主机上建立多个站点(多个域名),通过域名访问一台主机的不同网页,从网络地址看似乎有多个主机,这些主机被称为虚拟主机 DNS解析域名的ip
建立linux,news,media的默认发布目录: mkdir /var/www/westos.com/{linux,news,media}inux的默认发布文件: echo "<h1>hello linux</h1>" > /var/www/westos.com/news/index.htmlnews的默认发布文件:echo "<h1>hello news </h1>" > /var/www/westos.com/news/index.htmlmedia的默认发布文件:echo "<h1>hello media </h1>" > /var/www/westos.com/media/index.html - 新建apche的子配置文件并编辑:
/etc/httpd/conf.d/vhost.conf 




7 apache的加密访问(1)安装加密插件 - 查看apache的加密插件: dnf search apache


(2)生成私钥: openssl genrsa -out /etc/pki/tls/private/www.westos.com.key 
(3)生成证书签名文件:openssl req -new -key /etc/pki/tls/private/www.westos.com.key -out /etc/pki/tls/cert/www.westos.com.csr 
(4)生成证书: openssl x509 -req -days 365 -in /etc/pki/tls/certs/www.westos.com.csr -signkey /etc/pki/tls/private/www.westos.com.key -out /etc/pki/tls/certs/www.westos.com.crt## x509:证书格式## -req请求## -in加载签证名称## -signkey 
- 编辑配置文件:
/etc/httpd/conf.d/ssl.conf 
- 编辑apche的子配置文件并编辑:
/etc/httpd/conf.d/vhost.conf 
- 重启服务:
systemctl restart httpd 




8 网页重写在浏览器中输入media.westos.com会自动跳转到如下界面 
- 如果要使输入media.westos.com后跳转到https://media.westos.com,可以通过网页重写实现,也就是当访问http(80端口)时自动跳转到https(443端口)
- 实现网页重写的步骤
(1)apche的子配置文件并编辑:/etc/httpd/conf.d/vhost.conf 
(2)重启服务:systemctl restart httpd (3)测试,输入域名后会自动加载https 
9 正向代理(1) 配置squid客户端(该主机可以上网) 
- 编辑配置文件:
/etc/squid/squid.conf 
- 启动squid服务:
systemctl start squid.service 
(2)客户端:在不能上网的主上测试,在浏览器中输入:www.baidu.com不能访问 
|