一. apache
企业中常用的web服务,用来提供http://(超文本传输协议)
二. apache的安装部署
1. 搭建yum源
注:yum源搭建过程中,需要确保另一台主机的httpd服务开启以及firewalld的关闭,并且所访问的文件在共享发布目录中有挂载
2. 安装httpd服务以及httpd手册
yum install -y httpd #安装httpd服务
yum install -y httpd-manual #安装httpd手册
systemctl start httpd #开启httpd服务
systemctl enable httpd #让httpd服务开机自启
systemctl stop firewalld #关闭火墙
systemctl disable firewalld #让火墙开机不自启
测试httpd服务:
测试httpd-manual:
三. 修改httpd默认配置文件
1. 查询httpd配置文件
rpm -qc httpd #httpd配置文件的查询
/etc/httpd/conf/httpd.conf #httpd主配置文件
2. 修改默认端口
ss -antlupe | grep httpd #查询端口
注:默认端口为80
测试:
3. 修改默认发布文件
修改前:index.html
修改后:test index.html
注:httpd默认发布文件为index.html,但修改后test的优先级高于index.html,当test不存在时,读取index.html
html #超文本编辑语言
xml #可辨识标记语言,主要用于数据封装
4. 修改默认发布目录
mkdir /www/html -p #创建所需目录
vim /etc/httpd/conf/httpd.conf #修改默认发布目录
systemctl restart httpd #重启httpd服务
ls -Z /var/www/ #查询原默认发布目录安全上下文
ls -Z /www/ #查询修改默认发布目录安全上下文
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)' #修改安全上下文
restorecon -RvvF /www/ #刷新安全上下文
vim /www/html/index.html #编辑默认发布文件
注:由于默认发布目录的修改涉及selinux安全上下文,因此在配置文件中修改完成后,还需要修改安全上下文方能生效
四. apache的虚拟主机 #一台主机可以发布多个站点
mkdir /var/www/virtual/taobao/html -p #创建虚拟主机的默认发布目录
mkdir /var/www/virtual/jingdong/html -p #创建虚拟主机的默认发布目录
vim /var/www/virtual/taobao/html/index.html #编辑虚拟主机的默认发布文件 <h1>www.taobao.com</h1>
vim /var/www/virtual/jingdong/html/index.html #编辑虚拟主机的默认发布文件 <h1>www.jingdong.com</h1>
cd /etc/httpd/conf.d #httpd子配置目录
vim a_default.conf
vim taobao.conf
vim jingdong.conf
systemctl restart httpd
注:ServerName #指定站点名称
DocumentRoot #站点默认发布目录
CustomLog #站点日志,combined表示四种日志的集合
测试:
测试主机 vim /etc/hosts 编辑指向文件
172.25.254.170 www.westos.com taobao.mayun.com jingdong.liuqiangdong.com
1> /var/www/html/index.html
2> /var/www/virtual/taobao/html/index.html
3> /var/www/virtual/jingdong/html/index.html
注:apache的虚拟主机相关信息在httpd子配置文件中编辑,测试时是在另一台主机浏览器中输入站点名称,可以浏览虚拟主机默认发布文件中的内容
五. apache的黑白名单
1.白名单
mkdir /var/www/html/boy
vim /var/www/html/boy/index.html
vim /etc/httpd/conf.d/a_default.conf
systemctl restart httpd
2. 黑名单
vim /etc/httpd/conf.d/a_default.conf
systemctl restart httpd
注:apache黑白名单的的出现方式为覆盖型,根据配置文件中Order的先后顺序读取,后读取的会覆盖先读取的内容,以此确定黑白名单
六. 用户方式的访问
mkdir /var/www/html/girl
vim /var/www/html/girl/index.html
vim /etc/httpd/conf.d/a_default.conf
systemctl restart httpd
htpasswd -cm /etc/httpd/userpass zhangsan #在/etc/httpd下建立文件userpass,并生成用户zhangsan
htpasswd -m /etc/httpd/userpass lisi #在/etc/httpd下建立文件userpass,并追加生成用户lisi
测试1:Require valid-user
测试2:Require user zhangsan
vim /etc/httpd/conf.d/a_default.conf
systemctl restart httpd
用户lisi登陆
用户zhangsan登陆
注:在每次登陆后需要清除历史记录,否则将会对后续登陆时直接进入,对后续结果产生影响
七. Apache支持的语言
1. html #index.html为默认发布文件
2. php
yum install -y php #安装php服务
vim /etc/httpd/conf/httpd.conf #修改默认发布文件,将index.php放在index.html之前
systemctl restart httpd
vim /var/www/html/index.php #编辑php文件
systemctl restart httpd
3. cgi
vim /var/www/cgi-bin/index.cgi
chmod +x /var/www/cgi-bin/index.cgi
/var/www/cgi-bin/index.cgi #执行脚本文件
注:`date`表示可以执行date命令,因此print `date`不止是打印date,而且还打印输出的时间
vim /etc/httpd/conf.d/a_default.conf
systemctl restart httpd
八. https
https:超文本传输加密协议
1. https访问配置
yum install -y mod_ssl #安装ssl模块
yum install -y crypto-utils #安装网页加密软件
systemctl restart httpd
systemctl stop firewalld
genkey www.sky.com #网页加密
vim /var/www/html/index.html
vim /etc/httpd/conf.d/ssl.conf #配置加密解密文件
SSLCertificateFile /etc/pki/tls/certs/www.sky.com.crt #解密
SSLCertificateKeyFile /etc/pki/tls/private/www.sky.com.key #加密
systemctl restart httpd
测试:
2. 强制加密访问
vim /etc/httpd/conf.d/login.conf
systemctl restart httpd
mkdir /var/www/virtual/login -p
vim /var/www/virtual/login/index.html
注:https默认端口为443
测试:
测试主机需配置本地解析文件,如:172.25.254.170 login.sky.com
注:
^(/.*)$ #客户在浏览器地址栏中输入的所有字符
https:// #强制客户加密访问
%{HTTP_HOST} #客户请求主机
$1 #表示“^(/.*)$”的值
[redirect=301] #临时重写,302为永久转换