apache
1.apache
企业中常用的web服务,用来提供http:// (超文本传输协议)
2.apache的安装部署
安装部署之前需要配置好虚拟机上的yum源以及IP
安装服务:
yum install httpd
yum install httpd-manual (手册)
启动服务:
systemctl start httpd
systenctl enable httpd
关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
在本机上测试:
http://172.25.254.143
http://172.25.254.143/manual
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/*
1>.查看apache服务端口:
ss -anutlpe | grep httpd
编辑主配置文件,修改默认端口,改为8080,重启服务
测试:
服务默认的端口为80,修改之后默认端口不能登录服务,需要在ip后添加修改后的端口才能登录服务
2>.默认发布文件
目录:/var/www/html
<h1> </h1>的作用是将显示的字体变大
测试:
在/var/www/html/目录下再创建一文件test.html,并在主配置文件中修改默认发布文件
测试:
注意:在主配置文件中默认发布文件是有顺序的
例如将index.html写在text.html前面,则服务将读取index.html的内容,不读取text.html
测试:
3>.默认发布目录
mkdir -p /www/html ## -p 建立递归目录
vim /www/html/index.html ##编辑发布文件
vim /etc/httpd/conf/httpd.conf ##编辑主配置文件,为了防止出错,可将原配置文件中的内容注释掉,重新编辑
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?' ##修改安全上下文
restorecon -RvvF /www/ ##刷新
systemctl restart httpd.service ##重启服务
发布文件中的内容:
主配置文件中修改的内容:
测试:
登录日志:/var/log/messages
报错日志:/etc/httpd/logs/error_log
4.apache的虚拟主机
mkdir -p /var/www/virtual/linux.westos.com/html ##建立虚拟主机的目录
mkdir -p /var/www/virtual/c.westos.com/html
编辑虚拟主机显示的内容:
vim /var/www/html/index.html
vim /var/www/virtual/linux.westos.com/html/index.html
vim /var/www/virtual/c.westos.com/html/index.html
编辑虚拟主机的配置文件:
vim /etc/httpd/conf.d/adefault.conf
vim /etc/httpd/conf.d/linux.conf
vim /etc/httpd/conf.d/c.conf
systemctl restart httpd.service
本地解析:
vim /etc/hosts
测试:
5.apache内部的访问控制
1>.针对于主机的访问控制
vim /etc/httpd/conf.d/adefaults.conf
允许所有主机登陆,拒绝ip为172.25.254.43的主机登陆
注意:allow和deny的顺序,哪个在前,先读取哪个
mkdir /var/www/html/text
vim /var/www/html/text/index.html
systemctl restart httpd.service
测试:
修改主机ip为172.25.254.43后,测试登陆:
2>.针对用户方式的访问控制
在/etc/httpd/conf.d/目录下建立用户admin和admin1
查看用户信息:
步骤:
编辑adefault.conf配置文件,只允许admin用户登录服务:
编辑新建目录admin下的发布文件index.html:
测试:
输入用户名和密码:
编辑adefault.conf配置文件,允许所有用户可以登陆服务:
测试:
admin1用户也可以登录服务
6.apache支持的语言
1>.html ##超文本标记语言
2>.php
3>.cgi
4>.jsp asp
php
编辑php的发布文件index.php,安装php,并将php的发布文件index.php写到主配置文件中
php的发布文件index.php:
编辑主配置文件:
测试:
cgi
建立cgi目录,编辑cgi的发布文件,并给它添加可执行的权限
index.cgi:
编辑的内容可从CGI的手册中寻找:
编辑/etc/htpd/conf.d/adefault.conf,语法内容也可从手册中找到:
semanage fcontext -l | grep http##列出http的所有安全上下文
将index.cgi写入主配置文件
修改安全上下文,重启服务:
测试:
https
为了保护客户端的数据传输到服务端时不被破解,服务端口为:443端口
yun install mod_ssl##提供443端口以及https服务
yum install crypto-utils##证书
7.证书
安装crypto-utils之后,会产生genkey这个命令
创建证书:
genkey www.westos.com
过程:
密钥加密方式为堆成加密
编辑/etc/httpd/conf.d/ssl.conf文件:
切换到/etc/httpd/conf.d/,创建login.conf配置文件,并编辑
建立递归目录,编辑后发布文件后重启服务:
本地解析:
查看证书:
输入: https://login.westos.com
8.设定https虚拟主机并设定网络重启
切换到/etc/httpd/conf.d/目录下,继续编辑login.conf配置文件,重启服务:
测试:
输入:login.westos.com,即可自动跳转到https