LAMP部署————apache

来源:互联网 发布:mac切换不到windows 编辑:程序博客网 时间:2024/06/07 03:41

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/html120 121 #122 # Relax access to content within /var/www.123 #124 <Directory "/var/www">      ##默认目录文件为/var/www125     AllowOverride None126     # 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.phpvim /var/www/html/index.php<?php    print("Hallo,world");?>yum install php -ysystemcat 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 -ygenkey www.test.com     ##生成test。com的证书##第三步要桥键盘 不然就一直不动##不发送给CA,然后剩下的填表格vim /etc/httpd/conf.d/ssl.conf  ##配置ssl文件101 SSLCertificateFile /etc/pki/tls/certs/www.test.com.crt108 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
原创粉丝点击