一. apache

企业中常用的web服务,用来提供http://(超文本传输协议)

二. apache的安装部署

1. 搭建yum源

apache-server

注:yum源搭建过程中,需要确保另一台主机的httpd服务开启以及firewalld的关闭,并且所访问的文件在共享发布目录中有挂载

2. 安装httpd服务以及httpd手册

yum install -y httpd                        #安装httpd服务

apache-server

yum install -y httpd-manual          #安装httpd手册

apache-server

systemctl start httpd                    #开启httpd服务

systemctl enable httpd                #让httpd服务开机自启

systemctl stop firewalld              #关闭火墙

systemctl disable firewalld         #让火墙开机不自启

apache-server

测试httpd服务:

apache-server

测试httpd-manual:

apache-server

三. 修改httpd默认配置文件

1. 查询httpd配置文件

rpm -qc httpd                        #httpd配置文件的查询

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

apache-server

2. 修改默认端口

ss -antlupe | grep httpd    #查询端口

apache-server

注:默认端口为80

测试:

apache-server

3. 修改默认发布文件

修改前:index.html

apache-server

修改后:test  index.html

apache-server

注: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           #编辑默认发布文件

apache-server

注:由于默认发布目录的修改涉及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

apache-server

vim taobao.conf

apache-server

vim jingdong.conf

apache-server

systemctl restart httpd

apache-server

注: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

apache-server

2> /var/www/virtual/taobao/html/index.html

apache-server

3> /var/www/virtual/jingdong/html/index.html

apache-server

注: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

apache-server

2. 黑名单

vim /etc/httpd/conf.d/a_default.conf

systemctl restart httpd

apache-server

注: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

apache-server

htpasswd -cm /etc/httpd/userpass zhangsan         #在/etc/httpd下建立文件userpass,并生成用户zhangsan

htpasswd -m /etc/httpd/userpass lisi                      #在/etc/httpd下建立文件userpass,并追加生成用户lisi

apache-server

测试1:Require valid-user

apache-server

apache-server

测试2:Require user zhangsan

vim /etc/httpd/conf.d/a_default.conf

systemctl restart httpd

用户lisi登陆

apache-server

用户zhangsan登陆

apache-server

注:在每次登陆后需要清除历史记录,否则将会对后续登陆时直接进入,对后续结果产生影响

七. 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

apache-server

apache-server

3. cgi

vim /var/www/cgi-bin/index.cgi

chmod +x /var/www/cgi-bin/index.cgi

/var/www/cgi-bin/index.cgi                  #执行脚本文件

apache-server

注:`date`表示可以执行date命令,因此print `date`不止是打印date,而且还打印输出的时间

vim /etc/httpd/conf.d/a_default.conf

systemctl restart httpd

apache-server

八. https

https:超文本传输加密协议

1. https访问配置

yum install -y mod_ssl                #安装ssl模块

apache-server

yum install -y crypto-utils            #安装网页加密软件

apache-server

systemctl restart httpd               

systemctl stop firewalld

genkey www.sky.com                 #网页加密

apache-server

apache-server

apache-server

apache-server

apache-server

apache-server

apache-server

vim /var/www/html/index.html  

apache-server

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

测试:

apache-server

apache-server

2. 强制加密访问

vim /etc/httpd/conf.d/login.conf

systemctl restart httpd

mkdir /var/www/virtual/login -p

vim /var/www/virtual/login/index.html

apache-server

注:https默认端口为443

测试:

测试主机需配置本地解析文件,如:172.25.254.170 login.sky.com

apache-server

apache-server

注:

^(/.*)$        #客户在浏览器地址栏中输入的所有字符

https://       #强制客户加密访问

%{HTTP_HOST}      #客户请求主机

$1             #表示“^(/.*)$”的值

[redirect=301]          #临时重写,302为永久转换




相关文章:

  • 2021-07-03
  • 2021-10-13
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-14
猜你喜欢
  • 2022-01-10
  • 2021-05-26
  • 2022-02-12
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2021-09-22
相关资源
相似解决方案