Apache

1.什么是apache (Web服务器)?

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行
Apache是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上
由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一,也叫网页服务器软件 
它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中
同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部,也是一个基金会的名称、一种武装直升机等等

2.什么是http://协议?

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写
是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议
HTTP是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统
HTTP协议工作于客户端-服务端架构为上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求
Web服务器根据接收到的请求后,向客户端发送响应信息
HTTP工作原理:
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端
HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据
服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

以下是 HTTP 请求/响应的步骤:

其实也是把服务端的东西共享给客户端
协议的支撑 <------软件 <-----程序
协议是两个人共同商量好的东西
curl -I www.baidu.com 嗅探(查看这些网站的服务名字)
两大主流服务
lamp linux apache mysql php/perl/python
lnmp linux nginx mysql php/perl/python
客户端访问apache服务,然后加载php这个插件,然后调用mysql数据库
apchece ,企业中常用的web服务,用来提供http://(超文本传输协议)

其实也是把服务端的东西共享给客户端的一个过程
协议的支撑 <-----软件 <-----程序
协议是两个人共同商量好的东西
curl -I www.baidu.com 查看网址的服务名字
两大主流服务:
lamp linux apache mysql php/perl/python
lnmp linux nginx mysql php/perl/python
客户端访问aoache服务,然后加在php这个插件,然后调用mysql数据库
apache,企业中常用的web服务,用来提供http:// 

3.apache的基础信息

主配置目录/etc/httpd/conf
主配置文件/etc/httpd/conf/
子配置目录

/etc/httpd/conf.d/

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

4.搭建实验环境
reset desktop虚拟机
配置ip为172.25.254.115,在此虚拟机上,搭建apache-web服务器,安装httpd服务,开启,并且设置开机启动。

在防火墙中加入http

安装apache的手册

重启服务
在firefox中输入:http://172.25.254.115/manual

rpm -qc httpd 查看主配置文件

 在apache的默认发布目录下创建一个index.html,并编辑

在浏览器中输入http://172.25.254.115/index.html

1.修改httpd的服务端口

vim /etc/httpd/conf/httpd.conf 编辑httpd的主配置文件
搜Listen 将端口80改为8080,默认使用端口8080
重启服务

netstat -antlupe | grep httpd 查看httpd的端口

在firefox中输入,http://172.25.254.115:80,此时显示不能连接

而输入http://172.25.254.115:8080,发现也不能进入
给防火墙加入8080端口,即可进入

2.修改默认发布文件

恢复80端口
重启服务

cd /var/www/html/
ls 查看默认发布文件index.html
vim westos.html 再编写一个文件
<h1>westos page</h1>

直接在浏览器中输入172.25.254.115默认访问的是index.html,只有输入172.25.254.115/westos.html才可以访问westos.html

在配置文件中,将默认发布文件index.html改为westos.html

vim /etc/httpd/conf/httpd.conf

在164行,将westos.html写在index.html之前,系统会默认按照顺序来确定默认发布文件,所以当westos.html存在时,默认的发布文件是它,如果当它不存在时候,那就是index.html
重启服务 验证结果

浏览器中输入172.25.254.115

默认发布文件确实已经更改成为了westos.html

3.修改默认发布目录

mkdir -p /westos/html 新建一个目录,让它当作新的默认发布目录
vim /westos/html/index.html 编写发布目录下的发布文件

 

<h1>westos html change</h1>

 

vim /etc/httpd/conf/httpd.conf中119行,复制一行,注释掉原来的
将默认发布目录由/var/www/html改成/westos/html

重启服务

在浏览器中输入172.25.254.115发现并不能找到,是因为新建的默认发布目录没有授权

Require all granted 允许共享该目录下的文件
重启服务
在浏览器中输入172.25.254.115,即可找到

7.apache访问控制
先将所有配置恢复至初始。
然后配置

Order表示先后顺序,先Allow 后 Deny,这个意思就是先允许所有人访问,然后再拒绝172.25.254.115访问,如果将Deny在前而Allow在后,就为先拒绝172.25.254.115,再允许所有人,允许覆盖了拒绝,所以等于没有设置。
此时用172.25.254.115登陆,http://172.25.254.115发现并不能载入
而用真机,172.25.25.60登陆,就可以载入

8.指定用户访问

 先建立用户认证文件
 cd /etc/httpd/conf/

 htpasswd -cm westosuser admin建立admin用户,并输入密码

 htpasswd -m westosuser admin1 建立admin1用户,并输入密码,如果再次-cm的话,会将之前的创建的admin用户覆盖,用-m就不会覆盖。

 cat westosuser

vim /etc/httpd/conf/httpd.conf

在/var/www/html/下建立一个westos目录

进入浏览器 Ctrl+Shift+Delete清除缓存,输入http://172.25.254.115/westos

输入admin 密码123

如果使用admin1登陆的话,就会发现不能登陆

这时候把用户认证去掉,打开允许所有用户访问

重启服务
发现此时admin1也可以登陆

也可以登陆 test.html

9.让一台apache主机有多个站点

 目的:让apache服务器上news/music都有自己的默认发布目录和默认发布文件
 cd /etc/httpd/conf.d/ 默认发布目录
 vim defaults.conf 编辑虚拟主机的配置文件,必须以.conf结尾

创建news.conf和music.conf编辑配置文件

打开真机,在本地解析文件中输入172.25.254.115 www.westos.com news.westos.com music.westos.com

给music和news创建默认发布目录

创建默认发布文件

在真机firefox浏览器,输入news.westos.com

输入music.westos.com

 

10.apache支持的语言(html php cgi)

在/var/www/html下编写一个php语言默认发布文件
vim index.php
<?php
	phpinfo();
?>

重启服务
在浏览器中输入172.25.254.115/index.php发现什么也没有

安装php

重启httpd服务
在浏览器中输入 172.25.254.115/index.php即可看到php的表格

cgi语言

浏览器中输入172.25.254.115/manual查看手册,看设置cgi语言需在配置文件写什么内容
选CGI查看然后粘贴

cd /var/www/html 进入默认发布目录
mkdir cgi在默认发布目录下建立cgi目录
cd cgi
vim index.cgi 写cgi的默认发布文件

chmod +x index.cgi  既然是脚本所以要给它一个可执行的权限
./index.cgi可以看到时间调用脚本,看能否看到时间

cd /etc/httpd/conf.d
vim default.conf 编辑配置文件
加入

 

cgi必须要在配置文件中加入这个字段才会生效          
==重启服务==

再次在浏览器输入172.25.254.115/cgi/index.cgi发现显示的不再是源码

wsgi语言

在/var/www下建立wsgi目录,
从172.25.254.250下载python脚本,将此脚本文件放入/var/www/wsgi下
用python调用此脚本发现不能调用,所以下载wsgi插件,yum install mod_wsgi

 

cd /etc/httpd/conf.d
ls---->vim default.conf

重启服务
切换到真机172.25.254.60 做本地解析

打开浏览器输入wsgi.westos.com

11.https加密访问

HTTPS:Secure Hypertext Transfer Protocol(安全超文本传输协议),是在http协议基础上增加了使用SSL加密传送信息的协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
特点:https是经过加密的传输加密方式是通过用安全套接字层(SSL)
HTTPS和HTTP的区别主要为以下四点:
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
安装apache服务加密插件mod_ssl      

cd /etc/httpd/conf.d 下有ssl.conf文件
添加https到防火墙中

重启服务,查看https的端口是否开启

此时在浏览器中输入 https://172.25.254.115会发现:授权部门没有授权,认为不安全,所以警告。
==解决方法:==Advice(高级选项)->Get Certificate(获得证书)。Confirm确定就可以看到信息

以上生成的证书无签名无密钥,还没有自己的证书和密钥,所以需要自己制作证书和密钥。

自签名证书

yum install crypto-utils -y 安装相应的工具

genkey www.westos.com 对该域主机生成证书和钥匙

这里要选择No 否则会向CA申请

填完信息就会生成钥匙和密码,随机敲击键盘使得加密字符足够。

生成加密的密钥和证书,apache必须要知道,所以在配置文件中写入

vim /etc/httpd/conf.d/ssl.conf 

然后重启服务 在浏览器中输入https://172.25.254.115

此时就可以使用https加密服务了

网页重定向

会发现如果在浏览器中输入http://172.25.254.115时候,不会自动跳到https://172.25.254.115下。
那如何配置才能让172.25.254.115:80 自动跳转至172.25.254.115:443呢?

在子配置目录下内配置login.conf文件

创建发布目录和文件

重启服务
在真机的本地解析中加入login.westos.com
然后输入https://login.westos.com 可以看到

重启服务
在真机中输入http://login.westos.com就可以自动跳入到https://login.westos.com了。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值