LAMP部署————apache

1、apache是什么

企业中常用的web服务,用来提供http://(超文本传输协议)
目前提供http服务的有两种常见中间件一种是nginx、一种是apache
他们的区别在于:
nginx异步不阻塞
apache同步阻塞
相对来讲apache更安全,但是效率就相对不高

2、apache的安装部署

yum install httpd -y
yum install httpd-manual.noarch -y ##apache操作手册,通过网络访问
systemctl stop firewalld.service ##可关闭,也可以添加防火墙策略
systemctl disable firewalld.service
systemctl start httpd
systemctl enable httpd
这里写图片描述

3、apache的基础信息

主配置目录: /etc/httpd/conf
主配置文件: /etc/httpd/conf.httpd.conf
子配置目录: /etc/httpd/conf.d
子配置文件: /etc/httpd/conf.d/*.conf
默认发布目录: /var/www/html
默认发布文件: index.html
默认端口: 80
默认安全上下文:httpd_sys_content_t
程序默认用户: apache
apache日志: /etc/httpd/logs/*

4、修改http基本配置

1、修改默认端口

vim /etc/httpd/conf/httpd.conf
这里写图片描述
Listen 8080 ##修改默认端口为8080

2、修改默认发布文件:

默认发布文件就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有访问顺序,从前到后
vim /etc/httpd/conf/httpd.conf
这里写图片描述
DirectoryIndex index.html test.html ##默认主页为index或test
当index不存在时默认访问test

3、修改默认发布目录

vim /etc/httpd/conf/httpd.conf
这里写图片描述

119 DocumentRoot "/var/www/html"    ##默认目录为/var/www/html
120 
121 #
122 # Relax access to content within /var/www.
123 #
124 <Directory "/var/www">      ##默认目录文件为/var/www
125     AllowOverride None
126     # Allow open access:
127     Require all granted     ####语句结构,允许所有人访问
128 </Directory>

如果开了selinux
semanage fcontext -a -t httpd_sys_content_t ‘/www(/.*)?’
restorecon -RvvF /www
这里写图片描述

如果出现错误可以通过/etc/httpd/logs/error_log ,http的连接错误日志
如果服务出现错误通过cat /var/log/messages

4、apache的虚拟主机–子域名

在apache服务的访问目录下创建虚拟站点目录
mkdir /var/www/virtual/last.test.com/html -p
mkdir /var/www/virtual/first.test.com/html -p

mkdir /var/www/html/virtual/last.test.com/html -p
一定不要在/var/www/html/下建,可以在web直接访问,不安全

然后在/etc/httpd/conf.d中建立配置文件
分成两种,一种时默认的,一种就子站点
建立时要注意文件排序问题,ascII,会访问靠在最前的网页
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

测试: 配置hosts文件,解析网址,配置访问页面,访问

5、apache内部的访问控制

1)针对与主机的访问控制
这里写图片描述
这里写图片描述

2)针对用户的访问控制
htpasswd -cm /etc/httpd/userpass admin #创建用户密码文件, C表示新建
htpasswd -m /etc/httpd/userpass admin1 #添加用户密码文件,添加不能带C

vim adefult.conf    ##随意在那个子域名的配置文件下
  5 <Directory "/var/www/html/admin">
  6         AuthUserFile /etc/httpd/userpass    ##添加验证配置文件
  7         AuthName "123"      ##添加提示信息
  8         AuthType basic      ##添加验证类型
  9         #Require user admin     ##只允许admin用户
 10         Require valid-user      ##允许所有用户
 11 </Directory>

这里写图片描述

6、apache支持的语言
#1.html
#2.cgi
#3.php
vim /var/www/html/index.php
<?php
    print("Hallo,world");
?>
yum install php -y
systemcat restart httpd
如果想要默认显示,就去主配置文件修改index

1)cgi

mkdir -p /var/www/html/cgi  ##创建一个目录
vim /var/www/html/cgi/index.cgi ##编辑脚本,可以从manual里找
chmod +x /var/www/html/cgi/index.cgi ##给脚本权限
/var/www/html/cgi/index.cgi ##执行看看能不能用
vim adefult.conf    ##编辑子配置文件
<Directory "/var/www/html/cgi">
   Options +ExecCGI
   AddHandler cgi-script .cgi
</Directory>        ##添加配置

如果有安全上下文,那就添加安全上下下文
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'
restorecon -RvvF /var/www/html/cgi/
7、https

作用:保护客户端到服务端的数据不被破解

yum install crypto-utils -y     ##安装
yum install mod_ssl.x86_64 -y
genkey www.test.com     ##生成test。com的证书
##第三步要桥键盘 不然就一直不动
##不发送给CA,然后剩下的填表格

vim /etc/httpd/conf.d/ssl.conf  ##配置ssl文件
101 SSLCertificateFile /etc/pki/tls/certs/www.test.com.crt
108 SSLCertificateKeyFile /etc/pki/tls/private/www.teset.com.key

#重启http服务

https主要是通过软件生成,之后就可以登陆了
这里写图片描述

8、设定https虚拟主机并设定网页重写

建立虚拟主机目录和内容
这里写图片描述

在conf。d中配置login虚拟机主机文件
这里写图片描述

配置自动调转
这里写图片描述

^(/.*)$        ##用户在浏览器地址栏中输入的所有字符
https://    ##强制用户加密访问
%{HtTP_HOST}    ##用户请求主机
$1		##表示^(/.*)$的值
[redirect=301]  ##临时重写 302永久转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值