Redhat7.0下 Apache Web服务的搭建与配置

来源:互联网 发布:2016网络效应试题答案 编辑:程序博客网 时间:2024/06/06 06:46

概要
1.Apache的基本配置
2.虚拟主机的配置
3.https配置
4.基于身份验证的配置

一.Apache的基本配置

1.安装apache软件包

yum install  httpd  -y

2.启动Apach服务

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

3.Apache的配置

Apache主配置文件:/etc/httpd/conf/httpd.conf

ServerRoot “/etc/httpd” 用于指定Apache的运行目录

Listen 80 监听端口

DocumentRoot “/var/www/html” 网页文件的存放目录

<Directory "/var/www/html">       Require all granted    自定义目录权限  </Directory> 

ErrorLog “logs/error_log” 错误日志存放位置

DirectoryIndex index.html 默认主页名称

测试:在本地发布一个测试页,并在浏览器中测试

在/var/www/html/新建一个index.html并编辑:

这里写图片描述

然后在浏览器 中测试:

这里写图片描述

我们第一个网页就发布成功了!

二.虚拟主机的配置

1.什么虚拟主机

一个服务器要为多个站点服务,举个例子,我们访问www.qq.com,然后又点击了新闻,也就是news.qq.com,虽然他们的主机名不同,但是却指向了同一个ip地址,也就是说多个虚拟主机在同一个apache服务器上。

2.配置虚拟主机

(1)编写/etc/httpd/conf.d/default.conf

<virtualhost _default_:80>     documentroot /var/www/html     ###默认发布目录    customlog "logs/default.log" combined   ###生成日志</virtualhost><directory /var/www/html>     require all granted               ###授权</directory>

(1)编写/etc/httpd/conf.d/news.conf

<virtualhost *:80>     servername  news.qiaoba.com     ###指定虚拟主机名称     documentroot /var/www/virtual/html    customlog "logs/news.log" combined </virtualhost><directory /var/www/virtual/html>     require all granted </directory>

(3)编写本地解析文件

这里写图片描述

(4)创建虚拟主机目录并编写测试页面

3.测试虚拟主机

测试www.qiaoba.com:

这里写图片描述

测试news.qiaoba.com:

这里写图片描述

到这说明虚拟主机配置成功!

三.https的配置

1.https

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如登录界面、交易界面等。

这里写图片描述

2.自定义自签名证书:

如果加密的通信非常重要,而经过验证的身份不重要,管理员可以通过生成selfsigned certificate来避免与认证机构进行交互所带来的复杂性。 使用genkey程序(通过crypto-utils软件包分发),生成自签名证书及其关联的 私钥。为了简化起见,genkey将在“正确”的位置(/etc/pki/tls目录)创建证书及其 关联的密钥。相应地,必须以授权用户(root)身份运行该实用程序.

(1). 安装crypto-utils软件包

 yum install crypto-utils mod_ssl -y

(2). 调用genkey,同时为生成的文件指定唯一名称(例如,服务器的主机全名)
这里写图片描述

这里写图片描述

(3).编辑/etc/httpd/conf.d/ssl.conf, 将SSLCertificateFile和SSLCertificateKeyFile指令设置为分别指向我们自定义证书和密钥文件。

这里写图片描述

3.在浏览器中测试

输入网址:https://www.qiaoba.com

这里写图片描述

这里写图片描述

点击添加例外,然后获取证书,最后在网页中查看证书:

这里写图片描述

到这我们的https就设置好了!

四.基于身份验证的配置

Apache默认是不需要密码就能访问的,为了安全起见,需要进行身份认证。用户账户和密码存储在本地.htpasswd文件中。处于安全原因,该文件不能 保存在网站的DocumentRoot中,而应保存在Web服务器不提供服务的一些目录中。特殊 的htpasswd命令用于在.htpasswd文件中管理用户。

(1)在/var/www/html/ 下创建admin文件夹编写测试页面:

这里写图片描述

(2)在/etc/httpd/生成passwdfile

htpasswd -cm passwdfile admin

这里写图片描述

(3)配置主配置文件

这里写图片描述

(4)在浏览器测试
输入网址:www.qiaoba.com/admin

这里写图片描述

如果是不知道用户和密码的,点击取消,就会出现认证失败的提示:

这里写图片描述

输入正确用户和密码:

这里写图片描述

就能正确访问页面:

这里写图片描述

到此基于身份验证的访问就设置好了!

———————————end———————————

0 0